align-item
by Mo Qiao
HTML
<h2><span>flex-start</span><span>flex-end</span></h2>
<div class="wrap">
<div class="container flex-start">
<div class="item">item1</div>
<div class="item">item2</div>
<div class="item">item3</div>
</div>
<div class="container flex-end">
<div class="item">item1</div>
<div class="item">item2</div>
<div class="item">item3</div>
</div>
</div>
<h2><span>center</span><span>base-line(跟首行文字基准线对其)</span></h2>
<div class="wrap">
<div class="container center">
<div class="item">item1</div>
<div class="item">item2</div>
<div class="item">item3</div>
</div>
<div class="container baseline">
<div class="item">item1</div>
<div class="item">item2</div>
<div class="item">item3</div>
</div>
</div>
<h2>stretch(子元素未设置高度时,会跟父级同高)</h2>
<div class="wrap">
<div class="container stretch">
<div class="item">item1</div>
<div class="item">item2</div>
<div class="item">item3</div>
</div>
</div>
SCSS
h2 {
display: flex;
justify-content: space-between;
span {
width: 50%;
}
}
.wrap {
display: flex;
flex-wrap: wrap;
}
.container {
box-sizing: border-box;
display: flex;
width: 50%;
background: #FFF;
height: 200px;
&:nth-child(odd) {
border-right: 1px solid #000;
}
}
.item {
padding: 14px;
background: #F384B6;
&:nth-child(0) {
height: 50px;
}
&:nth-child(1) {
height: 100px;
}
&:nth-child(2) {
height: 150px;
}
}
@each $value in flex-start,
flex-end,
center,
baseline,
stretch {
.#{$value} {
align-items: #{$value};
}
}
.baseline .item {
&:nth-child(1) {
font-size: 40px;
}
&:nth-child(2) {
font-size: 13px;
}
&:nth-child(3) {
font-size: 23px;
}
}
.stretch .item {
height: auto;
}