1. 程式人生 > >css之position定位個人理解

css之position定位個人理解

css 的position定位 個人小結:

fixed:固定元素位置,脫離正常文件流,不論頁面中元素如何變化,當前fixed元素始終固定位置,一般用於一些頂部選單,搜素,

回到頂部,快速回復 等 一些需要始終出現在使用者視線內,需要跟隨頁面滾動,固定在方便點選的位置上的元素。
       absolute:讓當前元素脫離正常的文件流,對當前元素的位置改變(left,top,right,bottom)不會影響鄰近的元素,如果使用
         margin,padding屬性也不會影響臨近的元素(除非鄰近的元素也是絕對定位)

在對某元素使用了absolute屬性定位後,該元素後面的(在沒設定absolute之前因此元素佔位置被擠到後面的元素)會因

該元素脫離了文件流空出一塊位置而去填補空缺(視覺效果為與該absolute定位的元素重疊,在沒設定z-index 屬性情況下後加載的

元素視覺上將會覆蓋先載入的元素)

舉個栗子:

有如下幾個塊元素div


在把box2設定為absolute後,紅色的位置便被綠色佔領,而因為綠色後加載,則紅色被覆蓋(若要紅色出現在上方,可以設定z-inde為>0的值)


當有如下佈局



當對元素box3使用absolute  後因為沒有給box3定義top ,和left 屬性 ,後面也沒有模組對其進行覆蓋,所以只是脫離文件流 ,

視覺效果上的位置沒有改變。


當給box3設定top:0;的時候,則會相當於父級元素box1進行定位(因為box1設定過posit,若父級元素未設定,

則尋找父級元素的父級元素,若都沒有,則相對瀏覽器)


       relative:當前元素保持在正常的文件流中,對當前元素的位置改變(left,top,right,bottom)不會影響鄰近元素,但是如果使用
        margin,padding屬性值進行留白,則附近元素會受到位置影響而產生變化