外边距(margin)和内边距(padding)参照的都是包含块的宽度,需要注意的是上下边距并没有参照包含包含块的高度。div元素是p元素的包含块,p元素的margin和padding属性会参照div元素的宽度计算。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
*{
margin:0;
padding: 0;
}
div{
width: 40%;
}
div p{
width: 100%;
height: 0px;
background-color: red;
padding-bottom: 100%;//或者是padding-top:100%
}
</style>
</head>
<body>
<div>
<p></p>
</div>
</body>