<!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>
上面代码中,类为.content
的div
表示一个正方形,其高度为零,padding-top
的百分比是基于父元素的宽度的,又由于该div
的宽度为100%,即为父元素的宽度,因此padding-top
的高度和该div
的宽度是相等的,也就是正方形,在这个正方形里面能够定义咱们想放在正方形里面的内容,并置其position
为absolute
,left
,top
均为0.这样内容区就能够放在类为.content
的div
正方形中了,而且因为该正方形是用百分比的形式,因此是响应式的。该正方形的宽度随着类为.container
的div
的宽度的变化而变化。css
此外,提供一个清除浮动元素周围的类html
.clearfix:after{ content: "020"; display: block; height: 0; clear: both; visibility: hidden; }
若li
为浮动元素,则code
<ul class = 'clearfix'> <li></li> <li></li> <li></li> </ul>