摘要:容易混淆的是,效果幾乎一樣,但是并沒有脫離文檔流,并且元素中間有空隙。講高度塌陷問題在文檔流中,默認(rèn)父元素不設(shè)置高度是被子元素?fù)伍_,當(dāng)子元素脫離了文檔流,父元素會出現(xiàn)高度塌陷的問題。
58-59講 浮動 三個(gè)塊級div水平方向排列: 不脫離文檔流
display:inline-block可以把它們?nèi)齻€(gè)變?yōu)樾袃?nèi)塊元素,但是書寫方式必須是這也每個(gè)div必須緊鄰,中間不能留有空隙
下面這種垂直排列會留有空隙
脫離文檔流
這個(gè)就很簡單了,略。浮動的注意事項(xiàng)
不管怎么浮動也逃不出如來(父級)手掌心
當(dāng)前面的元素浮動后,后面沒有浮動的元素盡量往左上角跑(往上鉆)
當(dāng)前面的元素沒有浮動,并且是塊級元素就會把后面的浮動元素?fù)踝?鉆不動)
浮動會出現(xiàn)文字環(huán)繞的效果
在不脫離文檔流的時(shí)候塊級元素只設(shè)置一個(gè)height,默認(rèn)寬度是父級的寬度。此時(shí)設(shè)置一個(gè)float脫離文檔流后寬度就是0,如果該div里面沒有任何文字內(nèi)容的話,你會發(fā)現(xiàn)該div消失了
內(nèi)聯(lián)元素脫離文檔流后和塊元素脫離文檔流后效果一樣
后面的浮動元素不會超過他上面緊鄰的浮動元素,如下圖div1 div2左浮動,div3右浮動,發(fā)現(xiàn)div3并沒有在div1的右邊
總結(jié)本講要記的知識點(diǎn)非常多,注意脫離文檔流后寬高的變化。容易混淆的是display:inline-block,效果幾乎一樣,但是display:inline-block并沒有脫離文檔流,并且元素中間有空隙。61-62講 高度塌陷問題
在文檔流中,默認(rèn)父元素不設(shè)置高度是被子元素?fù)伍_,當(dāng)子元素脫離了文檔流,父元素會出現(xiàn)高度塌陷的問題。由于父元素塌陷,父元素后面的元素也會跟著擠上來,導(dǎo)致頁面布局發(fā)生了改變。解決方案一:
給父元素設(shè)置高度,但是子元素高度變大后父元素不能自動跟著變大就會發(fā)生溢出。什么是BFC
塊級格式化上下文 (Block Fromatting Context),在頁面的每個(gè)元素都有一個(gè)隱藏的屬性叫做"BFC",它默認(rèn)是關(guān)閉的。當(dāng)它開啟后具有如下特性:
父元素的垂直方向外邊距不會和子元素外邊距重合
開啟BFC的元素不會被浮動元素所覆蓋(不會往里面鉆)
開啟BFC的父元素可以包含浮動的子元素
如何開啟BFC設(shè)置元素浮動
設(shè)置元素絕對定位
設(shè)置元素為inline-block
將元素的overflow設(shè)為一個(gè)非visible的值
解決方案二給父元素開啟BFC,上面的第4種方法是副作用最小的overflow:hidden或者overflow:auto
IE6解決方案在IE6上面不知道BFC,但是與其對應(yīng)的有個(gè)hasLayout,可以直接設(shè)置屬性zoom:1來解決塌陷問題,zoom是把元素放大多少倍的意思。zoom:1一般沒什么缺陷。
最后設(shè)置為如下可以解決大部分瀏覽器高度塌陷問題:
overflow:hidden; zoom:1;
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/114410.html
摘要:容易混淆的是,效果幾乎一樣,但是并沒有脫離文檔流,并且元素中間有空隙。講高度塌陷問題在文檔流中,默認(rèn)父元素不設(shè)置高度是被子元素?fù)伍_,當(dāng)子元素脫離了文檔流,父元素會出現(xiàn)高度塌陷的問題。 58-59講 浮動 三個(gè)塊級div水平方向排列: 不脫離文檔流 display:inline-block可以把它們?nèi)齻€(gè)變?yōu)樾袃?nèi)塊元素,但是書寫方式必須是這也每個(gè)div必須緊鄰,中間不能留有空隙 下面這...
摘要:可以得出產(chǎn)生高度塌陷的原因在文檔流中,父元素的高度默認(rèn)是被子元素?fù)伍_的,也就是子元素多高,父元素就多高。但是當(dāng)為子元素設(shè)置浮動以后,子元素會完全脫離文檔流,此時(shí)將會導(dǎo)致子元素?zé)o法撐起父元素的高度,導(dǎo)致父元素的高度塌陷。目錄 CSS-高度塌陷問題 表現(xiàn) 產(chǎn)生的原因 高度塌陷的解決辦法: ...
摘要:包裹性所謂包裹性,其實(shí)是由包裹和自適應(yīng)兩部分組成。官方對屬性的解釋是元素盒子的邊不能和前面的浮動元素相鄰。清除高度塌陷的問題在上面的章節(jié)中,如果子元素設(shè)置浮動屬性,則父元素就會出現(xiàn)高度塌陷的問題。 float屬性是CSS中常用的一個(gè)屬性,在實(shí)際工作中使用的非常多,如果使用不當(dāng)就會出現(xiàn)意料之外的效果。雖然很多人說浮動會用就行、浮動過時(shí)了,但是對于優(yōu)秀的前端開發(fā)人員,需要有刨根問底的精神,...
摘要:但是當(dāng)為子元素設(shè)置浮動以后,子元素會完全脫離文檔流,此時(shí)將會導(dǎo)致子元素?zé)o法撐起父元素的高度,導(dǎo)致父元素的高度塌陷。所謂高度塌陷就是在文檔流中,父元素的高度默認(rèn)是被子元素?fù)伍_的,也就是子元素多高,父元素就多高。但是當(dāng)為子元素設(shè)置浮動以后,子元素會完全脫離文檔流,此時(shí)將會導(dǎo)致子元素?zé)o法撐起父元素的高度,導(dǎo)致父元素的高度塌陷。 由于父元素的高度塌陷了,則父元素下的所有元素都會向上移動,這樣將會導(dǎo)致...
摘要:但是會導(dǎo)致寬度丟失,不推薦使用這種方式將元素的設(shè)置非值解決父元素高度塌陷副作用最小的兼容性在中沒有但是具有另一個(gè)隱含的屬性叫該屬性的作用和類似,所在瀏覽器通過開啟來解決問題。高度塌陷的問題:?? ?當(dāng)開啟元素的BFC以后,元素將會有如下的特性?? ?1 父元素的垂直外邊距不會和子元素重疊?? ?開啟BFC的元素不會被浮動元素所覆蓋?? ?開啟BFC的元素可以包含浮動的子元素?? ?如何開啟元...
閱讀 3315·2021-11-23 09:51
閱讀 2943·2021-10-28 09:33
閱讀 902·2021-10-08 10:04
閱讀 3706·2021-09-22 15:13
閱讀 1031·2019-08-30 15:55
閱讀 2919·2019-08-30 15:44
閱讀 581·2019-08-30 13:04
閱讀 2949·2019-08-30 12:56