了解CSS逻辑属性
#css #网络开发人员 #初学者 #css3

css逻辑 属性是构建灵活,响应式Web布局的强大工具。通过在CSS代码中使用逻辑属性代替传统物理属性,您可以创建自动适应不同屏幕尺寸和方向的设计,而无需编写相同布局规则的多个版本。逻辑属性允许您以开始/​​结束而不是左/右或顶部/底部来表达布局逻辑,从而使创建以任何语言或写作方向有效的布局更加容易。借助逻辑属性,您可以简化代码,减少冗余,并构建为现代网络准备的更高效,动态的网站。

css逻辑属性提供了一种基于逻辑(start/end)值而不是物理(左/右)值定义布局规则的方法。这使创建在不同写作模式(例如LTR(左右)和RTL(左至左)等不同写作模式下工作的布局变得更加容易。

以下是将逻辑属性用于简单布局的示例:

<div class="container">
  <div class="box"></div>
  <div class="box"></div>
</div>
.container {
  display: flex;
  flex-direction: column;
}

.box {
  height: 50px;
  width: 50px;
  background-color: red;
  margin: 10px;

  /* Logical Properties */
  margin-inline-start: 20px;
  margin-inline-end: 20px;
}

在此示例中,我们有一个盒子布局,其中两个盒子在容器中彼此堆叠在一起。我们将容器设置为具有垂直方向的Flexbox,这意味着盒子将彼此堆叠而不是并排堆叠。

要将盒子均匀地伸出,我们可以在盒子样式中使用边缘左和边缘权利属性。但是,如果文本方向发生变化,这可能会导致问题,例如读取左右而不是从左到右的语言。

相反,我们使用了CSS逻辑属性,称为Margin-Inline-Start和Margin-Inline-End。这些属性的行为就像左翼和边缘权利,但根据写作模式进行调整。这意味着,如果文本方向是从左到右,则保证金启动的行为将像边缘左翼。如果文本方向是左派,则保证金 - 启动的行为将像边缘权利一样。

这使得创建在不同语言和编写模式的情况下创建良好工作的布局,而无需手动调整样式。

另一个例子

<div class="box">
  <p>Hello World!</p>
</div>
.box {
  width: 50%;
  height: 200px;
  padding-inline: 10%;
  margin-inline: auto;
  border-block-end: 2px solid black;
}

p {
  padding-block: 1em;
  margin-inline: 0;
} 

在此示例中,我们有一个DIV元素,其中包含一个P元素的.box类。我们正在使用所有可用的CSS逻辑属性来样式。

  • 宽度 :将盒子的宽度设置为其包含块的50%。
  • 高度 :将盒子的高度设置为200像素。
  • 填充 :将盒子的水平填充设置为其包含块的10%。此属性取代 padding-Left padding-right
  • 边缘 - 内线 :通过将左右边缘设置为自动,以水平为中心。此属性取代了 边缘左 margin-right
  • 边框末端 :在盒子的底部添加一个2像素厚的黑色边框。此属性取代 border-bottom
  • 填充块 :将1EM的垂直填充添加到P元素。此属性取代 填充 padding bottom
  • margin-inline :从p元素中删除默认的左右边缘。此属性取代了 边缘左 margin-right

通过使用逻辑属性,我们可以编写更多可维护和灵活的代码,以更好地适应不同的屏幕尺寸和方向。