flex布局中的align-items和align-content的區別
一.簡介
在學習flex布局過程中,align-items
和align-content
兩個屬性比較相似,而且一些教程中並沒有明確指出他們之間的異同點,這里做個簡單總結.
二.相同點
兩者都是設置交叉軸上垂直對齊方式的屬性
三.不同點
align-items
僅對主軸為一行的容器項目有效,align-content
僅對交叉軸上有剩余空間且有多行項目時有效align-items
屬性是把每一個項目作為一個整體,align-content
屬性是把整體項目作為一個整體
四.代碼
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
* {
margin: 0;
padding: 0;
}
.box {
display: flex;
flex-flow: row wrap;
align-items: center;
/* 對於單行項目來說,該屬性是無效的.僅在多個主軸有效,也就是多行項目有效 項目整體對齊 */
align-content: center;
/* 無論是對於單行項目還是多行項目都是有效的 單個項目作為一個整體對齊*/
align-items: center;
width: 400px;
height: 400px;
outline: 1px solid;
}
p {
width: 300px;
}
p:first-child {
background-color: chocolate;
}
p:last-child {
background-color: chartreuse;
}
</style>
<title>Document</title>
</head>
<body>
<div class="box">
<p>111</p>
<p>222</p>
</div>
</body>
</html>
五.效果圖
align-items屬性效果
align-content屬性效果