用css实现正方形div

时间:2023-03-09 04:48:53
用css实现正方形div

目标:实现一个正方形,这个正方形边长等于

方法一:使用单位vw, (ps我觉得这个是最简单的方法)

html结构也很简单,只有一个div即可

<html>
<body>
<div class="square">
</div>
</body>
</html>
.square{
width: 50vw;
height: 50vw;
background: blue;
}

方法二: 使用padding-bottom

要点:

  1. height: 0, 内容会溢出到padding里,不用担心~~
  2. padding-bottom 值设置为百分比时候,相对于包含块的宽度。
  3. 需要设置包含块

html结构:

<html>
<body>
<div class="container">
<div class="square">
</div>
</div>
</body>
</html>

css:

    *{
margin:;
}
/* 设置撑满页面可见区域 */
.container{
height: 100vh;
width: 100vw;
background: palegoldenrod;
}
.square{
width: 50%; /* 相对与container的width */
padding-bottom: 50%; /* 相对与container的width */
background: palegreen;
}

行了吧,两种就可以了,你也可以使用margin,不过会有塌陷的危险,所以,就这两个够用啦~~