align-items 豎直方向?qū)R方式
align-items
屬性可以改變項目在容器中的對齊方式。
1. 官方定義
align-items
屬性定義flex
子項在 flex
容器的當(dāng)前行的側(cè)軸(縱軸)方向上的對齊方式。
2. 慕課解釋
align-items
主要用來設(shè)置一行內(nèi),當(dāng)項目大小不一致時候的對齊方式。
提示: 子項目含有一個 align-self
屬性可重寫父級容器 align-items
屬性,可以對單個項目對齊方式進行單一控制。
3. 語法
align-items: stretch|center|flex-start|flex-end|baseline|initial|inherit;
屬性值
值 | 描述 |
---|---|
stretch | 默認值。元素被拉伸以適應(yīng)容器。 |
center | 元素位于容器的中心。 |
flex-start | 元素位于容器的開頭。 |
flex-end | 元素位于容器的結(jié)尾。 |
baseline | 元素位于容器的基線上。 |
initial | 設(shè)置該屬性為它的默認值。請參閱 initial。 |
inherit | 從父元素繼承該屬性。請參閱 inherit。 |
4. 兼容性
IE | Edge | Firefox | Chrome | Safari | Opera | ios | android |
---|---|---|---|---|---|---|---|
10+ | 12+ | 28+ | 4+ | 6.1+ | 12.1+ | 7+ |
5. 實例
想要改變對齊方式可以用過 align-items
設(shè)置不同的屬性值,我們看下不同的值帶來的效果。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.demo{
display: flex;
}
.item{
width: 100px;
height: 100px;
line-height: 100px;
text-align: center;
background: #ccc;
border-right: 1px solid #fff;
}
.item:first-child{
height: 120px;
}
.item:nth-of-type(3){
height: 160px;
}
.demo-2{
align-items: center;
}
.demo-3{
align-items:flex-start;
}
.demo-4{
align-items:flex-end;
}
.demo-5{
align-items:baseline;
}
</style>
</head>
<body>
<p>
stretch 默認值。元素被拉伸以適應(yīng)容器。
</p>
<div class="demo demo-1">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
</div>
<p>
center 項目位于容器的中心。
</p>
<div class="demo demo-2">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
</div>
<p>
flex-start 項目位于容器的頭部。
</p>
<div class="demo demo-3">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
</div>
<p> flex-end 項目位于容器的低部。</p>
<div class="demo demo-4">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
</div>
<p>baseline 元素位于容器的基線上。默認情況和 flex-star 一樣。</p>
<div class="demo demo-5">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
</div>
</body>
</html>
效果圖
6. 小結(jié)
在可以使用 flex 的開發(fā)環(huán)境中,我們可以使用這種方式去對齊文字和圖片,文字和 input
這樣的對齊方式簡單快捷,遠勝于其他的方式。