在編寫css時經常用到position屬性,position主要是控制元素布局中的定位機制,默認情況是static,但是還是會隨著正常流中的默認位置偏移。它還有其他幾種屬性:
- fixed
- relative
- absolute
- inherit
下面依次說明介紹一下。
絕對定位
- fixed
- absolute
相對定位
- relative
無定位
- static
至于inherit,并不是很熟,查閱了一下:>inherit 規定應該從父元素繼承 position 屬性的值。
[來源] (http://www.w3school.com.cn/cssref/pr_class_position.asp)
fixed
fixed是一種絕對定位,它的特點是相對于瀏覽器窗口定位,一般調整位置時用到的屬性是top,bottom,right,left.(一般我們制作網站時,常常要考慮網站的縮放元素位置不變,這個時候,個人比較喜歡用的就是fixed了。不過這個有個不便之處,就是位置是定死的,之后修改啥的,會比較麻煩(當然了,目前還沒找到其他的解決方式,都是把位置定死的,如果大神們有其他的解決方式,麻煩告訴我一下)。另外,目前比較流行響應式設計,boostrap的響應式設計個人感覺還是很強大的,大家可以去他們的官網看看,這里附上一個鏈接好了 但是在網頁縮放都不改變位置上,還是要避免響應式設計。
absolute
這也是一種絕對定位。相對于不是static的第一個父元素進行定位,主要也是top,bottom,left,right屬性來更改(具體的之后會補充更新)
relative
相對定位,相對于正常定位的元素進行定位。
<h1>正常定位的標題</h1>
<h2 style=`position:relative;left:-20px`>是向左移動20px</h2>
<h3 style=`position:relative;left:20px`>向右移動20px</h2>
#######效果可以類似模擬一下
<strong> 正常定位的標題</strong>
<strong>是向左移動20px</strong>
<strong>向右移動20px</strong>
至于inherit,用的很少,據說是從父元素繼承 position 屬性的值。IE對其的兼容性并不客觀……
<strong>菜鳥新手,不足之處請指正補充!后續學習了會更新噠~~~</strong>