今天復習了一下css的position屬性,作為css中比較重要的屬性,如果使用得當,那么頁面布局將如虎添翼。它具有幾個屬性值,其區(qū)別如下:
值 | static | fixed | relative | absolute | inherit |
---|---|---|---|---|---|
定位 | 無定位(默認值) | 絕對定位(相對于瀏覽器邊框) | 相對定位(相對于其正常位置進行定位) | 絕對定位(相對于 static 定位以外的第一個父元素進行定位) | 繼承父元素的position屬性值 |
是否脫離文檔流 | 否 | 是 | 否 | 是 | 繼承父元素的position屬性值 |
特別地:
position: absolute 的定位,相對于 static 定位以外的第一個父元素進行定位,其理解為:
如果想要一個子元素相對于其父元素進行定位,則父元素應設置position為除了默認值static以外的值(如果為inherit則繼承的值應為除了static以外的值),例如:子元素A希望相對父元素B進行定位,則將父元素B設置為position: relative;
如果父元素沒有設置position屬性,或者說設置為static(雖然一般沒人這么無聊),那么該子元素則相對于層層向外遇到的第一個position不為static的父元素定位。
position: absolute對于用margin或者padding不好定位的情況有奇效。