align-content 多軸對齊
這個屬性可以改變項目在容器中的對齊方式。
1. 官方定義
align-content
屬性在彈性容器內(nèi)的各項沒有占用交叉軸上所有可用的空間時對齊容器內(nèi)的各項(垂直)。
2. 慕課解釋
align-content
是當(dāng)容器內(nèi)部的元素換行之后,我們?nèi)绾卧O(shè)置他們所有在水平方向上排列的,這里要說的是它是一個多軸的統(tǒng)一設(shè)置。
3. 語法
align-content: stretch|center|flex-start|flex-end|space-between|space-around|initial|inherit;
屬性值
值 | 描述 |
---|---|
stretch | 默認值。元素被拉伸以適應(yīng)容器。 |
center | 元素位于容器的中心。 |
flex-start | 元素位于容器的開頭。 |
flex-end | 元素位于容器的結(jié)尾。 |
baseline | 元素位于容器的基線上。 |
initial | 設(shè)置該屬性為它的默認值。請參閱 initial。 |
inherit | 從父元素繼承該屬性。請參閱 inherit。 |
4. 兼容性
IE | Edge | Firefox | Chrome | Safari | Opera |
---|---|---|---|---|---|
10+ | 12+ | 28+ | 4+ | 6.1+ | 12.1+ |
5. 實例
想改變對齊方式只要給 align-content
使用不同的屬性值,我們看下不同的值帶來的效果。
<!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;
flex-wrap: wrap;
height: 100px;
border:1px solid #ccc;
}
.item{
width: 400px;
height: 30px;
line-height: 30px;
text-align: center;
background: #ccc;
border-right: 1px solid #fff;
}
.demo-2{
align-content: flex-end;
justify-content:flex-end;
}
.demo-3{
align-content: center;
}
.demo-4{
align-content: space-between;
}
.demo-5{
align-content: space-around ;
}
</style>
</head>
<body>
<p>
flex-start: 默認值。項目位于容器的開頭。
</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>
flex-end 項目位于容器的結(jié)尾。
</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-end 項目位于容器的中心。
</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>space-between 項目位于各行之間留有空白的容器內(nèi)。</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>space-around 項目在容器的前后留白并</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é)
- 使用 justify-content 屬性對齊主軸上的各項(水平),它和
align-content
并不沖突 - 器內(nèi)必須有多行的項目,該屬性才能渲染出效果。