用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: 0;
    }
    /* 设置撑满页面可见区域 */
    .container{
        height: 100vh; 
        width: 100vw;
        background: palegoldenrod;
    }
    .square{
        width: 50%; /* 相对与container的width */
        padding-bottom: 50%;  /* 相对与container的width */
        background: palegreen;
    }

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

转载于:https://www.cnblogs.com/yadiblogs/p/10751470.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值