CSS 如何将align-self属性设置为默认值
CSS或层叠样式表是一个强大的工具,提供了一系列属性来对网页上的元素进行对齐和定位。align-self属性是CSS中的一种属性,用于调整弹性容器中各个项目的对齐方式。默认情况下,align-self属性设置为auto,这意味着元素将继承其父容器的对齐方式。然而,可以通过设置align-self属性来改变单个弹性项目的行为。
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属性重置为其默认值的几个示例。
使用自动值
将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项目的垂直对齐的有力工具。然而,有时候我们需要将align-self属性重置回CSS的默认值。通过将align-self属性重置为其默认值auto,或者改用align-items,我们可以简化CSS并避免对齐问题。