align-self 会对齐当前 flex 行中的 flex 元素,并覆盖align-items。
align-self: auto | flex-start | flex-end | center | baseline | stretch
| 值 | 描述 |
|---|---|
| auto | 将计算为其父元素的align-items值,或者为stretch如果没有父元素的话。 |
| flex-star | 规定元素向侧轴起点对齐。 |
| flex-end | 规定元素向终点对齐。 |
| center | 规定元素在侧轴居中。如果元素在侧轴上的高度高于其容器,那么在两个方向上溢出距离相同。 |
| baseline | 规定所有元素向基线对齐。侧轴起点到元素基线距离最大的元素将于侧轴起点对齐以确定基线。 |
| stretch | 规定弹性元素被在侧轴方向被拉伸到容器相同的高度或宽度。 |
HTML
<ul class="flex-container"> <li class="flex-item flex-start">1</li> <li class="flex-item flex-end">2</li> <li class="flex-item center">3</li> <li class="flex-item baseline">4</li> <li class="flex-item stretch">5</li> </ul>
CSS
.flex-container {
padding: 0;
margin: 0;
list-style: none;
height: 200px;
-ms-box-orient: horizontal;
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -moz-flex;
display: -webkit-flex;
display: flex;
}
.flex-start {
align-self: flex-start; //规定元素向侧轴起点对齐。
}
.flex-end {
align-self: flex-end;//规定元素向终点对齐。
}
.center {
align-self: center;//规定元素在侧轴居中。如果元素在侧轴上的高度高于其容器,那么在两个方向上溢出距离相同。
}
.baseline {
align-self: baseline;//规定所有元素向基线对齐。侧轴起点到元素基线距离最大的元素将于侧轴起点对齐以确定基线。
}
.stretch {
align-self: stretch;//规定弹性元素被在侧轴方向被拉伸到容器相同的高度或宽度。
}
.flex-item {
background: tomato;
padding: 5px;
width: 100px;
margin: 5px;
line-height: 100px;
color: white;
font-weight: bold;
font-size: 2em;
text-align: center;
}
执行结果