CSS三種布局模型是什么?


在網頁中,元素有三種布局模型:流動模型(Flow) 默認的、浮動模型 (Float)、層模型(Layer)。下面我們來看一下這三種布局模型。

三種布局模型介紹:

 

1、流動模型(Flow)

流動(Flow)模型是默認的網頁布局模式。也就是說網頁在默認狀態下的 HTML 網頁元素都是根據流動模型來分布網頁內容的。

流動布局模型具有2個比較典型的特征:

第一點,塊狀元素都會在所處的包含元素內自上而下按順序垂直延伸分布,因為在默認狀態下,塊狀元素的寬度都為100%。實際上,塊狀元素都會以行的形式占據位置。

(每一個便簽都顯示着自己本來默認的那個寬高)

第二點,在流動模型下,行內元素都會在所處的包含元素內從左到右水平分布顯示。(內聯元素可不像塊狀元素這么霸道獨占一行)

 

2、浮動模型 (Float)

任何元素在默認情況下是不能浮動的,但可以用 CSS 定義為浮動

div{float:left;}  div{float:right;}

可以為不同的div設置不同的浮動方式來布局。

 

3、層模型(Layer)

層模型有三種形式:

1、相對定位(position: relative)

2、絕對定位(position: absolute)

3、固定定位(position: fixed)

 

相對定位

如果想為元素設置層模型中的相對定位,需要設置position:relative(表示相對定位),它通過left、right、top、bottom屬性確定元素在正常文檔流中的偏移位置。

相對於以前的位置移動,偏移前的位置保留不動。在使用相對定位時,就算元素被偏移了,但是他仍然占據着它沒偏移前的空間。

 

絕對定位

如果想為元素設置層模型中的絕對定位,需要設置position:absolute(表示絕對定位),將元素從文檔流中拖出來,然后使用left、right、top、bottom屬性相對於其最接近的一個具有定位屬性的父包含塊進行絕對定位。

如果不存在這樣的包含塊(就是它前面的div並沒有設置定位的屬性),則相對於body元素,即相對於瀏覽器窗口。

被設置了絕對定位的元素,在文檔流中是不占據空間的,如果某元素設置了絕對定位,那么它在文檔流中的位置會被刪除;

我們可以通過 z-index 來設置它們的堆疊順序 。

絕對定位使元素脫離文檔流,因此不占據空間 ,普通文檔流中元素的布局就當絕對定位的元素不存在時一樣,仍然在文檔流中的其他元素將忽略該元素並填補他原先的空間。因為絕對定位的框與文檔流無關,所以它們可以覆蓋頁面上的其他元素。  

浮動元素的定位還是基於正常的文檔流,然后從文檔流中抽出並盡可能遠的移動至左側或者右側,文字內容會圍繞在浮動元素周圍。它只是改變了文檔流的顯示,而沒有脫離文檔流,理解了這一點,就很容易弄明白什么時候用定位,什么時候用浮動了。

 

固定定位

fixed:表示固定定位,與absolute定位類型類似,但它的相對移動的坐標是視圖(屏幕內的網頁窗口)本身。由於視圖本身是固定的,它不會隨瀏覽器窗口的滾動條滾動而變化。

除非你在屏幕中移動瀏覽器窗口的屏幕位置,或改變瀏覽器窗口的顯示大小,因此固定定位的元素會始終位於瀏覽器窗口內視圖的某個位置,不會受文檔流動影響。

轉載請注明來源: 007辦公資源網站 https://www.wode007.com


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM