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; }
执行结果