Normal Flow 即瀏覽器默認(rèn)的文檔布局方式扬虚。
定位就是通過設(shè)置 position
屬性的值來覆蓋默認(rèn)的布局方式壶熏,脫離了默認(rèn)的布局方式
靜態(tài)定位
position: static
默認(rèn)值 默認(rèn)的布局方式
一般加它和不加它沒有什么區(qū)別威彰;
相對定位
position: relative
相對默認(rèn)的布局位置進(jìn)行定位,相對定位就是“相對自己定位”埋市。
一般適用于參考點為自己著蟹,具體移動多少,文檔流中位置是不變的場景结榄;
定位001.png
絕對定位
position: absolute
絕對定位元素脫離正常文檔流中贝,相對其定位上下文(Positioning Context)進(jìn)行定位
適用于脫離文檔流,而且相互看不見的情景
參考點為:一直去父元素找臼朗,如果找不到繼續(xù)向上一級父元素找邻寿,直到html元素;
如果那個父元素有position這個屬性视哑,則以此父元素為參考點绣否,不論position屬性的值是什么;
定位003.png
固定定位
position: fixed
相對瀏覽器窗口進(jìn)行定位挡毅。因此當(dāng)滾動產(chǎn)生時蒜撮,固定定位元素依然處于窗口的某個固定位置。
粘性定位
position: sticky
是相對定位和固定定位的結(jié)合跪呈。默認(rèn)情況下表現(xiàn)為相對定位段磨,當(dāng)瀏覽器窗口頂端與元素的距離等于 top 屬性的值時,轉(zhuǎn)變?yōu)楣潭ǘㄎ弧?br>
效果為:Macbook Pro 產(chǎn)品導(dǎo)航欄