移動端自適應正方形

今天ui姐姐讓我給她做這樣個圖


image.png

這是三個正方形并列一排,我們都知道,寬度可以自適應,但是高度不行。
首先我們說下1個正方形的解決辦法

在 CSS 盒模型中,一個比較容易被忽略的就是 margin, padding 的百分比數值計算。按照規定,margin, padding 的百分比數值是相對 父元素 的寬度計算的。由此可以發現只需將元素垂直方向的一個 padding 值設定為與 width 相同的百分比就可以制作出自適應正方形了:

.placeholder {
 width: 100%;
 padding-bottom: 100%;
}

padding的百分比是按照寬度來計算的。
但是padding是不包含盒子內容的,所以我們把盒子高度設置為0

.placeholder {
  height: 0;
}

這時就輕松的完成了。

這時我們來看3個并列的正方形
但是這時我們發現寬高差了幾像素


image.png

是因為我使用了flex分成三份,這時我的padding是按照父級的寬度來計算33.3%;但是我們忘了減間距的距離


image.png

這樣就成功了
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,813評論 1 92
  • 最近覺得,我學CSS學得太不細致了,margin、padding這些天天都在用的屬性,我卻沒有真正了解它們、掌握它...
    盛夏晚清風閱讀 2,018評論 6 9
  • 方案1:CSS3 vw單位 CSS3 中新增了一組相對于可視區域百分比的長度單位 vw, vh, vmin, vm...
    codeice閱讀 4,662評論 0 1
  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    love2013閱讀 2,339評論 0 11
  • 1.行內元素和塊級元素?img算什么?行內元素怎么轉化為塊級元素? 行內元素:和有他元素都在一行上,高度、行高及外...
    極樂君閱讀 2,464評論 0 20