纯CSS实现宽度是百分比的元素成为一个正方形,适配各种屏幕?

如题,一个div,设置width:30%,如何让它的高度和宽度一样大小,并且随着宽度的变化而变化?

前提:不使用js代码

<body>
   <div style='width:30%'></div>
</body>
阅读 10.9k
3 个回答

<body>

<div style="width:30%;padding-bottom:30%;height:0px;background:#ccc;"></div>

</body>


设置高度为0,防止有内容时高度溢出

<body>
<div style='width:30vw; height:30vw;'></div>
</body>

<body>
    <div style="width:30%;position:relative;overflow:auto;">
        <img src="一张与背景相同或透明的正方形图片" style="width:100%;">
        <div style="position:absolute;top:0;left:0;">
            文字内容
        </div>
    </div>
</body>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题