css absolute和float,relative,z-index的同異

來源:互聯網
上載者:User

標籤:tom   塌陷   abs   相對   strong   hidden   屬性   垂直   維護   

大神占樓:

簡書張歆琳

http://www.jianshu.com/p/a3da5e27d22b

摘錄:

float是欺騙父元素,讓其父元素誤以為其高度塌陷了,但float元素本身仍處於文檔流中,文字會環繞著float元素,不會被遮蔽。

absolute(層級高)其實已經不能算是欺騙父元素了,而是出現了層級關係。

一旦給元素加上absolute或float就相當於給元素加上了display:block;,就可以給元素定寬width了。

未指定left/top/right/bottom的absolute元素,其在所處層級中的錨點就是正常文檔流中該元素的錨點。

多一個屬性意味著多一層維護。

CSS裡有個細節值得關註:用absolute的left: 0;right: 0;top: 0;bottom: 0;來實現全屏展開,對於absolute元素來說,如果同時設定left和right會水平展開,同時設定top和bottom會垂直展開。那為何不設width/height為100%呢?代碼都貼給你了,可以自己試試。算了告訴你答案吧,前面說了,不設top/right/top/bottom的話absolute會從正常文檔流應處的位置開始定位,因此做不到全屏。除非你設定width/height為100%後,同時再設left: 0; top: 0;。

推薦的是absolute控制隱藏和顯示。方法當然相當簡單,如absolute+ top:-9999em,或absolute + visibility:hidden。

 

在父元素 中設定相對定位屬性,子項目中設定絕對位置屬性。絕對位置脫離文檔流,需設定定位資訊。

 

css absolute和float,relative,z-index的同異

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.