自适应正方形实现
1
2
3
<div clss="out">
<div class="square"></div>
</div>
1
2
3
4
5
6
7
8
9
10
.square {
width: 50%;
overflow: hidden; /* BFC 划重点,防止容器与伪元素在垂直方向发生了外边距折叠 */
}

.square::after {
content: '';
display: block;
margin-top: 100%; /* margin 百分比相对父元素宽度计算 */
}