<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        .container{
            width: 300px;
            height: 400px;
            border: 1px solid red;
        }
        .content{
            width: 100%;
            height: 0;
            padding-top: 100%;
            position: relative;
            border: 1px solid gray;
        }
        .txt{
            top: 0;
            left: 0;
            position: absolute;
            background-color: #ccaabb;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="content">
            <div class="txt">
                kkk
            </div>
        </div>
    </div>    
</body>
</html>

上面代码中,类为.contentdiv表示一个正方形,其高度为零,padding-top的百分比是基于父元素的宽度的,又因为该div的宽度为100%,即为父元素的宽度,所以padding-top的高度和该div的宽度是相等的,也就是正方形,在这个正方形里面可以定义我们想放在正方形里面的内容,并置其positionabsoluteleft,top均为0.这样内容区就可以放在类为.contentdiv正方形中了,并且由于该正方形是用百分比的形式,所以是响应式的。该正方形的宽度随着类为.containerdiv的宽度的变化而变化。

此外,提供一个清除浮动元素周围的类

.clearfix:after{
  content: "020";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

li为浮动元素,则

<ul class = 'clearfix'>
    <li></li>
    <li></li>
    <li></li>
</ul>

wscops
55 声望3 粉丝

要成为优秀攻城狮的男人