如何在 CSS 中将 align-self 属性设置为其默认值?


CSS 或层叠样式表是一个强大的工具,它提供了一系列用于对齐和定位网页元素的属性。align-self 属性是 CSS 中众多属性之一,用于调整 Flex 布局容器内单个 Flex 项目的对齐方式。默认情况下,align-self 设置为 auto,这意味着元素将继承其父容器的对齐方式。但是,可以通过设置align-self 属性来更改单个 Flex 项目的行为。

scc selector{
	align-self: auto;
}

CSS 中的 align-self 属性

在我们讨论如何将 align-self 属性重置为其默认值之前,了解 align-self 的含义非常重要。align-self 属性是 flex 简写属性的子属性;它用于沿容器的交叉轴对齐单个 Flex 项目。align-self 属性的默认值为 auto,这会导致元素继承其父容器的 align-items 属性。align-self 属性可以设置为以下值之一:

  • Auto(默认)

  • Flex-start

  • Flex-end

  • Center

  • Baseline,以及

  • Stretch

如果将 align-self 属性设置为 auto 以外的值,则会覆盖该特定元素的容器的 align-items 属性。

在 CSS 中将 align-self 重置为默认值

要将 align-self 属性重置为其默认值,只需从元素的 CSS 声明中删除该属性的 auto 值即可。例如:

.element {
   align-self: center;
}

当从声明中删除 align-self 属性时,它将重置为其默认值。

.element {
   /* align-self: center; */
}

现在,我们将探讨在 CSS 中将 align-self 属性重置为默认值的几个示例。

使用 Auto 值

将 align-self 属性重置为其默认值的最简单方法是将其设置为 auto。当 align-self 的值为 auto 时,Flex 项目将根据在 Flex 容器上设置的 align-items 属性进行对齐。

示例

在此示例中,我们将使用 auto 值来选择所有不具有 .div1 或 .div3 类的 .item 元素,并将它们的 align-self 属性设置为 auto。这将确保只有 .div1 和 .div3 元素具有自定义 align-self 值。

<!DOCTYPE html>
<html>
<head>
   <style>
      body { text-align: center;  }
      .container {
         display: flex;
         justify-content: center;
         align-items: center;
         height: 200px;
         background-color: lightgray;
      }
      .item { width: 100px;  height: 50px; background-color: white; border: 1px solid black; margin: 10px; }
      .div1 { align-self: flex-start; }
      .div2 { align-self: auto; }
      .div3 { align-self: flex-end; }
   </style>
</head>
<body>
   <h3>Set align-self property to its default value using the align-self:auto</h3>
   <div class="container">
      <div class="item div1">HTML</div>
      <div class="item div2">CSS</div>
      <div class="item div3">JavaScript</div>
   </div>
</body>
</html>

使用 :not() 选择器

:not() 选择器是将 align-self 属性重置为其默认值的另一种方法。此选择器允许选择所有不匹配特定条件的元素。使用 :not() 选择器,我们可以选择除那些我们想要应用特定 align-self 值的元素之外的所有元素。

示例

在此示例中,我们将使用 :not() 选择器来选择所有不具有 .box1 或 .box3 类的 .item 元素,并将它们的 align-self 属性设置为 auto。这将确保只有 .box1 和 .box3 元素具有自定义 align-self 值。

<!DOCTYPE html>
<html>
<head>
   <style>
      h1, h3{ text-align:center;}
      .container {
         display: flex;
         justify-content: center;
         align-items: center;
         height: 200px;
         background-color: lightgray;
      }
      .item:not(.box1):not(.box3) { align-self: auto;}
      .item { width: 100px; height: 50px; border: 1px solid black; margin: 10px;  background-color:pink;  }
      .box1 { align-self: flex-start; background-color:lightgreen;}
      .box3 { align-self: flex-end; background-color:lightblue; }
   </style>
</head>
<body>
   <h3>Set align-self property to its default value using the :not() selector</h3>
   <div class="container">
      <div class="item box1">Java</div>
      <div class="item">Python</div>
      <div class="item box3">PHP</div>
   </div>
</body>
</html>

结论

align-self 属性是用于设置 Flex 布局容器内 Flex 项目垂直对齐的强大工具。但是,有时我们需要在 CSS 中将 align-self 属性重置为其默认值。通过将 align-self 属性重置为其默认值 auto,或者改用 align-items,我们可以简化 CSS 并避免对齐问题。

更新于:2023年4月12日

浏览量:225

启动您的职业生涯

通过完成课程获得认证

开始学习
广告