由于padding和margin的百分比是根据父元素的宽度计算的,所以当宽度是100%时,可以通过设置padding-top(bottom)或margin-top(bottom)的百分比挤成任意比例的矩形。下面就拿正方形举例,啥也不说了,上代码.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
.square-wrap {
width: 200px;
height: 500px;
margin: 0 auto;
}
.square{
width: 100%;
padding-top: 100%; /* padding-bottom: 100%; */
background: #ccc;
}
</style>
<title></title>
</head>
<body>
<div class="square-wrap">
<div class="square"></div>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
.square-wrap {
width: 200px;
height: 500px;
margin: 0 auto;
}
.square{
width: 100%;
overflow: hidden; /* 防止margin塌陷,开启BFC */
background: #666;
}
.con {
width: 100%;
margin-top: 100%; /* margin-bottom: 100%; */
}
</style>
<title></title>
</head>
<body>
<div class="square-wrap">
<div class="square">
<div class="con"></div>
</div>
</div>
</body>
</html>