天天看點

HTML5+CSS3-基礎03-清除浮動&position3種清除浮動方法Position定位

HTML5+CSS3-基礎03-清除浮動&position

  • 3種清除浮動方法
  • Position定位

3種清除浮動方法

1. 添加新元素,使用clear:both;

這種方式優點就是代碼少,容易了解,浏覽器幾乎都支援,出現的問題比較少,但缺點就是如果頁面浮動浮動布局多的話,就要添加很多空div去清除浮動,不便優化。雖然這是常用的清除浮動方式,但不建議使用
           
HTML5+CSS3-基礎03-清除浮動&position3種清除浮動方法Position定位

2.父容器使用overflow: auto;

使用這種方法,必須定義width或者zoom,而且不能設定高度height,優點是代碼少,缺點是不能使用position,否則超出的元素将會被隐藏
           
HTML5+CSS3-基礎03-清除浮動&position3種清除浮動方法Position定位

3.父容器使用僞類:after跟zoom

這種方式是最推薦的,目前大多數大型網站都是使用這種方式清除浮動,浏覽器相容好,不會出現什麼奇怪的問題。
           
HTML5+CSS3-基礎03-清除浮動&position3種清除浮動方法Position定位

Position定位

HTML5+CSS3-基礎03-清除浮動&position3種清除浮動方法Position定位

1. static定位(預設)

靜态定位是所有元素的預設定位方式,當position屬性的取值為static時,可以将元素定位于靜态位置。 所謂靜态位置就是各個元素在HTML文檔流中預設的位置。

3. relative相對定位(不脫離标準流)``

相對定位是将元素相對于它在标準流中的位置進行定位,當position屬性的取值為relative時,可以将元素定位于相對位置。

注意:

1.相對定位最重要的一點是,它可以通過邊偏移移動位置,但是原來的所占的位置,繼續占有。

2.每次移動的位置,是以自己的左上角為基點移動(相對于自己來移動位置)中的位置進行定位

4. absolute絕對定位(脫離标準流)

當position屬性的取值為absolute時,可以将元素的定位模式設定為絕對定位。

(1)若所有父元素都沒有定位,會自動往上層尋找有定位的父元素,如果都沒有定位,則以浏覽器為準對齊(document文檔)。

(2)絕對定位是将元素依據最近的已經定位(絕對、固定或相對定位)的父元素(祖先)進行定位。

注意:絕對定位最重要的一點是,它可以通過邊偏移移動位置,但是它完全脫标,完全不占位置。

5. fixed固定定位(完全脫标)

固定定位的元素跟父親沒有任何關系,隻認浏覽器。

固定定位完全脫标,不占有位置,不随着滾動條滾動。

固定定位一定要寫寬、高,除非有内容撐開。

ie6等低版本浏覽器不支援固定定位。

定位模式轉換

跟 浮動一樣, 元素添加了 絕對定位和固定定位之後, 元素模式也會發生轉換, 都轉換為 行内塊模式。

浮動

/

絕對定位

/

固定定位

會自動轉化元素為

行内塊

模式。 是以 比如 行内元素 如果添加了 絕對定位或者 固定定位後

浮動後,可以不用轉換模式,直接給高度和寬度就可以了。

内容僅供學習參考,若有錯誤歡迎大家指正----WUCASE

繼續閱讀