最近好長時間都在畫頁面,來總結幾個值得分享的內容:css
display: inline-block 存在默認默認間距,就算是使用 padding: 0; margin: 0; 也是清除不了,因此常常當你算好了元素的寬度可是仍是會出現有元素被擠下去。html
<!DOCTYPE html>
<!DOCTYPE html>
<html lang="en">
<head>
<style> * { margin: 0; padding: 0; } .list { width: 100%; } .list .item { height: 30vh; width: calc(50% - 10px); /* 減掉邊框 */ display: inline-block; border: 5px blue solid; } </style>
</head>
<body>
<div class="list">
<div class="item"></div>
<div class="item"></div>
</div>
</body>
</html>
複製代碼
解決方法:前端
1.設置父元素font-size:0;佈局
<style> * { margin: 0; padding: 0; } .list { font-size: 0; // 這裏 width: 100%; } .list .item { height: 30vh; width: calc(50% - 10px); /* 減掉邊框 */ display: inline-block; border: 5px blue solid; } </style>
複製代碼
2.設置父元素letter-spacing: -0.5em;(不推薦,會致使內容超出邊框)ui
<style> * { margin: 0; padding: 0; } .list { letter-spacing: -0.5em; // 這裏 width: 100%; } .list .item { height: 30vh; width: calc(50% - 10px); /* 減掉邊框 */ display: inline-block; border: 5px blue solid; } </style>
複製代碼
常常有這種瀑布流排版,並且不肯定圖片的寬高,實際不須要去計算圖片寬高,實現就一句:spa
column-count: n;
複製代碼
n: 須要排多少列就設置多少,上圖爲 column-count: 6;設計
當不知道圖片的寬高,須要填充一個元素又不致使圖片變形3d
background-size: cover;
複製代碼
最近有個剛學前端的小朋友問了幾個畫頁面的問題,我以爲新手和咱們的差距就是沒有一個開場概念。code
當拿到一張UI設計圖的時候,作的第一件事應該雙手離開鍵盤,觀察設計的佈局,一個html的元素結構在腦裏印出來,把元素的選擇器命名大概列一下,DOM結構構思完成,一口氣把元素寫完成, 再去寫css內容。cdn
這一點作好了,對你畫頁面的時候會很節省時間,不須要在html和css之間來回切換。