css实现正方形(js待补充)

本文介绍了如何使用CSS实现一个子div,使其边长等于父div宽度的一半。方法包括利用vw单位和通过设置padding-bottom比例来实现。当父div为window时,可以使用1vw等于1%视口宽度的特性;当父div尺寸未知时,可以通过设定宽度和padding-bottom来创造一个正方形效果。

实现一个子div,要求边长等于父div宽度的一半
一、若父div是window的话,可以用vm单位(1vw = 1% viewport width)

<style>
	
        .box{
            width: 50vw;
            height: 50vw;
            background-color: red;
        }
      
</style>

<body>
	<div class="box">
        <!-- <div class="margin"></div> -->
    </div>
<script>

在这里插入图片描述
二、父div是一个不知道长款的div(这里为了方便,我还是把长宽写出来了,其实是未知的)

<style>
	
        .box{
            width: 500px;
            height: 700px;
            background-color: red;
        }
        .margin{
            width: 50%;
            padding-bottom: 50%;/* padding百分比相对父元素宽度计算 */
            background-color: skyblue;
        }
    
</style>

<body>
	<div class="box">
        <div class="margin"></div>
    </div>
</body>

在这里插入图片描述
此时子div的宽度为250px,高度为0,这个蓝色的长度是他的padding-bottom撑起来的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值