接觸排版初期,總是苦惱於元素的換行、並排 ...
控制元素排列方式的 property。
display 有非常多的 values 可以套用,目前排版常見flex
、grid
、none
,還有等等要介紹的block
、inline
、inline-block
(完整 values 可參考W3School - CSS display property)
預設為 block 的元素(Block Element 區塊元素) | 預設為 inline 的元素(Inline Element行內元素) |
---|---|
div , header , section , nav , p , h1 ~h6 , ol , ul , li , form , table |
span , img , a , em , strong |
.
block
獨自佔用整個父層的寬度,不會和相鄰的元素在同一行,寬高可隨意調整
inline
緊鄰相鄰的元素,佔用的寬高由內容決定,無法隨意調整
(所以若要對行內元素進行尺寸之類的操作,要先重新設定 display)
inline-block
同時具有 inline 與 block 特性,可以與相鄰元素在同一行,初始寬高由內容決定,但可隨意調整
-- | 佔滿一行(寬)| 高 | 寬高可否手動調整?
------------- | -------------block
| ✅ | 跟隨內容 | ✅inline
| ❌跟隨內容 | 跟隨內容 | ❌inline-block
| ❌跟隨內容 | 跟隨內容 | ✅
。 img
為行內元素,但它的寬高可以調整,所以算是特例?(暫時理解為如此)
ALPHA Camp課程講義
以上是今天的分享,謝謝看完的你!