高度和宽度统一采用 vw 布局,达到高度宽度自适用的效果。
.square {
width:50vw,
height:50vw
}
❓ 只能相对于 viewport 进行布局,但很多时候我们的业务场景并不是相对于窗口大小缩放正方形大小。
padding的百分比是相对父元素的宽度进行计算的
.square {
width: 20%;
height: 0;//如果不将heigh设置为0,当square内有内容的时候就会撑开盒子,所以将这个元素的高度限制为只能由 padding 来控制
padding-top: 20%;
background-color: tomato;
}
padding百分比+height设置0;推荐!!!
margin的百分比是相对父元素的宽度进行计算的
.square {
width: 30%;
overflow: hidden; // 触发BFC,父子嵌套的元素垂直方向的margin取最大值;不写会发生margin塌陷
background-color: tomato;
}
.square::after {
content: '';
display: block;
margin-top: 100%;
}
❓ 容器内无法填充内容,不推荐……