1. 程式人生 > >頁面幾種定位方式

頁面幾種定位方式

html預設的是按照流的方式,對塊元素按出現的順序從上到下排列,每出現一個塊元素,進行一個換行,

而內聯元素,在塊元素內從左上角向右下方流,文字則當作一個特殊的內聯元素,由瀏覽器根據需要分割成不同長度。

但有幾種特殊方式可以改變這個定位。

1,浮動佈局,使用float屬性 ,其有兩個值,left,right,代表向左或向右浮動。

     使用float時,html以流的方式正常載入頁面,直到碰到有float屬性的元素時,會將其從流中刪除,並使相應的元素向左或向浮動,後面的塊元素繼續載入,因為已經從流中刪除,塊元素會填充浮動元素所在的區域,但是內聯元素,會知道其邊框所在,並圍繞它。

        有float屬性的元素之前元素的css屬性會生效,如float元素在某一個div中,那他左右浮動也是相對於這個div,而且有float屬性的元素與別的元塊的外邊距不折疊(這點針對他之前的塊元素),另有float屬性的元素,必須有寬度,另有clear(值為left,right)屬性,可以讓別的元素,不與其接觸。

2,凝膠布局

     在所有容外面新增一個元素,如div,包圍所有元素,設定寬度,再設定margin-left , margin-right 值為auto,這樣內容會一直居中於頁面中間,比較適用於論壇這類,如百度貼吧。

3,使用position屬性

    position有四個屬性,static (靜態,預設),absolute(絕對佈局), Fixed(固定佈局), relative(相對佈局)

    其中static是預設值,

    absolute是絕對佈局,會從流中徹底刪除,因為從流中徹底刪除,塊元素與內聯元素會徹底忽略該元素,填充其所在匹域。

    絕對佈局是指相對於頁面的佈局,會根據頁面大小變化而變化。

   Fixed固定佈局,是指相對於視窗的佈局,也會從流中徹底刪除,但不會根據頁面的大小而位置變化

   absolute與Fixed都有z-index屬性,其值為數字,可正可負,越大的位置離你越近,即顯示在最上面,且有最大值

   relative相對佈局,仍在流中,只對原先位置的一定偏移

4,表格顯示佈局

配置屬性為  display:table 指表

                    display:rable-row 指行

                    display:table-cell指單元格,

                    使用div最外層為table,裡面用table-row,再table-cell.

以上內容為筆記,如有錯誤請指示,如不詳細請見諒, 謝謝