用CSS实现自适应正方形
不多说,直接上代码,本文章一共例举了3种方案
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>CSS实现自适应正方形</title>
<style>
/*使用padding-bottom实现正方形*/
.square1 {
width: 10%;
padding-bottom: 10%;/* padding百分比相对父元素宽度计算,用padding去填充height*/
height: 0;/*避免被内容撑开多余的高度 */
background: #4acfff;
}
.square2 {
width: 10%;
height: 10vw;
background: pink;
}
.square3{
width: 10%;
overflow: hidden;
background: yellow;
}
.square3:after {
content:'';
display: block;
margin-top: 100%;
}
</style>
</head>
<body>
<!-- 使用padding-bottom实现正方形 -->
<!-- padding百分比相对父元素宽度计算,用padding去填充height -->
<div class="square1">使用padding-bottom实现正方形</div>
<!-- 使用css3单位vw -->
<!-- 原理同padding,也是利用了vw是相对宽度,不过要注意是相对视窗宽度哦-->
<div class="square2">使用css3单位vw实现正方形</div>
<!-- 使用伪类margin -->
<div class="square3">使用伪类margin</div>
</body>
</html>