一球匕、在什么場(chǎng)景下會(huì)出現(xiàn)外邊距合并纹磺?如何合并?如何不讓相鄰元素外邊距合并亮曹?給個(gè)父子外邊距合并的范例
兩個(gè)margin之間是否有界限橄杨,沒有界限、浮動(dòng)照卦、overflow就會(huì)融合
按照BFC的定義,只有同屬于一個(gè)BFC時(shí)役耕,兩個(gè)元素才有可能發(fā)生垂直Margin的重疊采转,這個(gè)包括相鄰元素,嵌套元素瞬痘,只要他們之間沒有阻擋(例如邊框故慈,非空內(nèi)容,padding等)就會(huì)發(fā)生margin重疊图云。 因此要解決margin重疊問題惯悠,只要讓它們不在同一個(gè)BFC就行了,但是對(duì)于兩個(gè)相鄰元素來說竣况,意義不大克婶,沒有必要給它們加個(gè)外殼筒严,但是對(duì)于嵌套元素來說就很有必要了,只要把父元素設(shè)為BFC就可以了情萤。這樣子元素的margin就不會(huì)和父元素的margin發(fā)生重疊
二鸭蛙、去除inline-block內(nèi)縫隙有哪幾種常見方法?
- 把inline-block元素寫一起,不要換行筋岛。
- jianxi
- margin-left:-4px娶视;取消第一個(gè)的margin-left
- 用浮動(dòng),避免用inlineblock
- 父元素設(shè)置font-size:0
inline-block兼容*display:inline睁宰;
三肪获、父容器使用overflow: auto| hidden撐開高度的原理是什么?
觸發(fā)形成BFC(BFC的全稱是 [Block Format Content]柒傻,有三個(gè)特性
BFC會(huì)阻止垂直外邊距(margin-top孝赫、margin-bottom)折疊;BFC不會(huì)重疊浮動(dòng)元素红符;BFC可以包含浮動(dòng))
四青柄、BFC是什么?如何形成BFC预侯,有什么作用?
BFC:塊級(jí)格式化上下文致开,它是指一個(gè)獨(dú)立的塊級(jí)渲染區(qū)域,該區(qū)域擁有一套渲染規(guī)則來約束塊級(jí)盒子的布局萎馅,且與區(qū)域外部無關(guān)
阻止外邊距合并双戳,清浮動(dòng)等和IE的hasLayout類似
課件
[相關(guān)博客博客:http://www.cnblogs.com/dojo-lzz/p/3999013.html]
五、浮動(dòng)導(dǎo)致的父容器高度塌陷指什么校坑?為什么會(huì)產(chǎn)生拣技?有幾種解決方法
子元素脫離文檔流。父元素沒設(shè)置高度耍目,包不住子元素膏斤。
A 給父元素加高度
B 給父元素加浮動(dòng)
C 給父元素加一個(gè)空的div,清除兩個(gè)方向的浮動(dòng)
D 給父元素加overflow(通過給容器添加下列任意一個(gè)樣式即可形成BFC overflow;
display: flex;float: left;display: table)
E .clearfix:after{ content: ''; display: block; clear: both;}.clearfix{ *zoom: 1;}
產(chǎn)生原因:計(jì)算容器元素高度的時(shí)候邪驮,浮動(dòng)元素相當(dāng)于脫離了文檔流
六莫辨、以下代碼每一行的作用是什么? 為什么會(huì)產(chǎn)生作用毅访? 和BFC撐開空間有什么區(qū)別沮榜?
.clearfix:after{ content: ''; display: block; clear: both;}.clearfix{ *zoom: 1;}
在clearfix最后加一個(gè)空的元素,轉(zhuǎn)化為塊狀元素喻粹,清楚元素周圍的浮動(dòng)蟆融。
zoom:1在IE67下生效,觸發(fā)haslayaout.
單行溢出隱藏
white space:nowrap;
overflow:hidden;
text-overflow:ellipsis守呜;
設(shè)置height:100%的整頁大圖
從本身設(shè)置到body,html:height:100%