效果:
原理:容器元素设置margin为负数,抵消项目元素左右边缘的margin值
注意:设置抵消后,div.box大小和位置没有改变,但是div.container的大小已经溢出了div.box,可添加背景色进行观察。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>flex</title>
<style>
.box {
border: 4px solid goldenrod;
}
.container {
box-sizing: border-box;
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-wrap: wrap;
/* 设置容器抵消15 */
margin: -15px;
}
.container>div {
transition: .3s linear;
cursor: pointer;
color: #fff;
width: 200px;
height: 200px;
/* 项目间最小间隙为15 */
margin: 15px;
text-align: left;
}
.container>div:hover {
transform: scale(1.05);
}
</style>
</head>
<body>
<div class="box">
<div class="container">
<div style="background:#101">1000</div>
<div style="background:#202">2000</div>
<div style="background:#303">3000</div>
<div style="background:#404">4000</div>
<div style="background:#505">5000</div>
<!-- 辅助最后一行左对齐 -->
<div></div>
</div>
</div>
</body>
</html>