<!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>