最近這兩天一直在學習,psition定位。不是太理解,思路有些亂,有些懵逼。今天,在網上也查了下,然后自己梳理了一下,然后對這個定位也是了解清晰了一些吧,也知道說什么樣的是絕對定位相對定位,設置之后會有什么效果,然后今天我把這東西大概先梳理出來,然后記記錄一下,也是對自己的記憶有幫助的,下來之后如果發現,有什么不對的地方,然后再來修改。
首先是網頁的布局模型吧,大概是分為三種
在網頁中,元素有三種布局模型:
1、流動模型(Flow)
2、浮動模型 (Float)
3、層模型(Layer)
那么第一種就是流動模型,流動模型就是頁面默認模型,他從上到下,從左到右,按照這樣一個順序來把頁面上的元素依次顯示出來。
那么第二種就是浮動模型,像正常的盒模型,塊狀元素都單獨占一行的,但是我們可以通過浮動屬性,把他漂浮起來,多個元素顯示在同一行,還可以通過浮動給一些元素來做一個簡單的一個定位,這都是可以的。
那么我們剛剛說到這個定位,他就是屬于是第三種層模型,層布局模型就相當于photoshop圖層編輯功能,針對每個圖層來進行定位,天天玩也是那南宮云網頁大小的活動性,所以層布局模型,沒有受到熱捧。嗯,但是在網頁的局部定為當中還是需要用層布局模型的。
定位position,應該是可以分為四種吧,比如一種是默認的,流式布局,第二種就是相對定位relative,第三種是絕對定位absolute,還有一種是固定定位fixed。
絕對定位absolute,需要設置position:absolute(表示絕對定位),這條語句的作用將元素從文檔流中拖出來,然后使用left、right、top、bottom屬性相對于其最接近的一個具有定位屬性的父包含塊進行絕對定位。如果不存在這樣的包含塊,則相對于body元素,即相對于瀏覽器窗口。 ? ? ? ? ? ? ? ? ? ?在絕對定位當中,如果他的父元素設置了絕對定位或者相對定位的話,那它應該就是會根據它的父元素來定位,如果沒有父元素設置任何定位,會根據父元素來定位。
相對定位relative,需要設置position:relative(表示相對定位),它通過left、right、top、bottom屬性確定元素在正常文檔流中的偏移位置。相對定位完成的過程是首先按static(float)方式生成一個元素(并且元素像層一樣浮動了起來),然后相對于以前的位置移動,移動的方向和幅度由left、right、top、bottom屬性確定,偏移前的位置保留不動。
fixed:表示固定定位,與absolute定位類型類似,但它的相對移動的坐標是視圖(屏幕內的網頁窗口)本身。由于視圖本身是固定的,它不會隨瀏覽器窗口的滾動條滾動而變化,除非你在屏幕中移動瀏覽器窗口的屏幕位置,或改變瀏覽器窗口的顯示大小,因此固定定位的元素會始終位于瀏覽器窗口內視圖的某個位置,不會受文檔流動影響,這與background-attachment:fixed?屬性功能相同。以下代碼可以實現相對于瀏覽器視圖向右移動100px,向下移動50px。并且拖動滾動條時位置固定不變。