「重新認識 CSS」這個系列名稱的由來就如其名,我想要重新認識它。雖然以前就有學過 CSS,但這次想從 CSS Spec 中學到最原始的定義和內容,更加了解 CSS 的原理,讓我在切版的時候可以更加確定自己在做什麼,我踩到的雷只是因為我不夠了解它才會炸開。
在這 30 天的內容中,會將 Spec 內看到的資料整理成這個系列,也希望正在學 CSS 的各位可以更加了解它。另外我也會同時將文章發至我的 Blog,如果想直接看文內的程式碼 Demo 畫面,可以到我的 Blog 來看 ?。
「重新認識 CSS」系列文章發文於:
在 CSS 2.2 中,可根據三種定位方案對 box 進行佈局:
如果一個元素是 float 的、絕對定位的或者是 root 元素,則該元素被稱為 out of flow。如果元素不是 out of flow,則稱為 in-flow。
position
屬性下面是 position
屬性的定義表:
圖片來源:CSS 2.2 - 9.3.1. Choosing a positioning scheme: position
property
static
top
、right
、bottom
和 left
屬性不適用relative
position:relative
對 table-row-group
、table-header-group
、table-footer-group
、table-row
、table-column-group
、table-column
、table-cell
、table-caption
元素的影響未定義absolute
top
、right
、bottom
和 left
屬性指定fixed
absolute
model 計算得出的,但除此之外,該 box 相對於某些參考是 fixed (固定的)absolute
model 一樣,box 的 margin 不會與其他任何 margin 一起 collapsescreen
時,該 box 相對於 viewport 是 fixed,捲動時不會移動資料來源: