1.浮動(dòng)元素有什么特征?對(duì)父容器献幔、其他浮動(dòng)元素、普通元素趾诗、文字分別有什么影響?
浮動(dòng)元素有什么特征:
1.浮動(dòng)元素會(huì)脫離標(biāo)準(zhǔn)流蜡感,不占據(jù)普通文檔流的空間,蹬蚁,浮動(dòng)的幾個(gè)元素特定的方向排列,遇到父級(jí)邊界或相鄰的浮動(dòng)元素郑兴,浮動(dòng)元素之間不會(huì)發(fā)生重疊的現(xiàn)象犀斋,也不會(huì)發(fā)生外邊距重疊的現(xiàn)象。
1.對(duì)沒有設(shè)置高度的父元素會(huì)引起父元素的塌陷情连,
2.對(duì)其他浮動(dòng)元素叽粹,如果父元素的寬度足夠,則幾個(gè)浮動(dòng)元素會(huì)顯示在同一行却舀。如果寬度不夠虫几,則會(huì)向下移動(dòng)。
3.如果普通元素位于浮動(dòng)元素之前挽拔,則不會(huì)發(fā)生任何變化持钉,若普通元素為于浮動(dòng)元素之后,則普通元素會(huì)覆蓋浮動(dòng)的元素?
4.文字所在的行框(display:inline-block)會(huì)圍繞在浮動(dòng)元素周圍篱昔。
2清除浮動(dòng)指什么? 如何清除浮動(dòng)? 兩種以上方法
清除浮動(dòng)是指:元素的側(cè)邊不允許出現(xiàn)浮動(dòng)元素每强,使得不設(shè)置高度的父盒子塌陷的問題得到了解決。
1.在浮動(dòng)元素周后的元素加上 clear:both
.clearfix{
overflow:hidden;
_zoom:1/*for ie 6*/}
2.在浮動(dòng)的元素上加一個(gè)類:clear::after{
? ? ? display:block;
? ? ? ?clear:both;
? ? ? content:"";
}
3.利用BFC原理清除浮動(dòng)州刽,在浮動(dòng)元素的父盒子上加:overflow:hidden或浮動(dòng)或display:inline-block等
3.有幾種定位方式空执,分別是如何實(shí)現(xiàn)定位的,參考點(diǎn)是什么穗椅,使用場景是什么辨绊?
3.1:inherit
從父元素繼承position屬性的值
3.2:static默認(rèn)值,元素相對(duì)于正常流中
3.3:relative 相對(duì)定位匹表,相對(duì)于元素正常位置的定位變化,屬性值有l(wèi)eft门坷,top,right袍镀,bottom
3.4:absolute絕對(duì)定位默蚌,相對(duì)于非static定位以外的第一個(gè)祖先元素進(jìn)行定位。屬性值有l(wèi)eft苇羡,top绸吸,right,bottom
3.5:fixed固定定位相對(duì)于瀏覽器串口進(jìn)行定位设江。屬性值有l(wèi)eft环鲤,top株依,right仑荐,bottom
3.6:sticky兼容性差一般不用
4.z-index 有什么作用? 如何使用?
.z-index設(shè)置了在z軸方向上的堆疊順序昙衅。
使用在position為非static的元素上,且z-index的只能在兄弟元素之間進(jìn)行比較
參照http://www.zhangxinxu.com/wordpress/2016/01/understand-css-stacking-context-order-z-index/
5.position:relative和負(fù)margin都可以使元素位置發(fā)生偏移?二者有什么區(qū)別
position:relative 是相對(duì)于自己原來的位置發(fā)生偏移歼捏,不會(huì)影響其他的元素在普通流中的位置稿存。而margin出來讓元素發(fā)生偏移够傍,還會(huì)影響其普通流中的元素。
6.BFC 是什么挠铲?如何生成 BFC冕屯?BFC 有什么作用?舉例說明
BFC可以格式化上下文拂苹,可以理解為BFC為一個(gè)箱子安聘,箱子不受任何外界的影響,只管好內(nèi)部瓢棒。
形成條件:
1:float:left/right
2:position為非static
3.display:inline-block
4.display:table-cell
5.display:flow-root
6.overflow:為非visible
7.display:table-caption
應(yīng)用:
1.兩欄布局
2.清楚內(nèi)部浮動(dòng)浴韭。如沒有高度的父元素中內(nèi)部有幾個(gè)浮動(dòng)的元素,給父元素添加overflow:auto就會(huì)避免了浮動(dòng)帶來的塌陷問題脯宿。
3.解決了“外邊距重合的問題”
在什么場景下會(huì)出現(xiàn)外邊距合并念颈?如何合并?如何不讓相鄰元素外邊距合并连霉?給個(gè)父子外邊距合并的范例榴芳。
·1.相鄰的元素外邊距合并,當(dāng)二者都有外邊距的時(shí)候跺撼,取二者最大
2.父盒子與子盒子會(huì)發(fā)生外邊距合并
如何合并
1.當(dāng)兩個(gè)外邊距發(fā)生合并的時(shí)候窟感,取二者最大的。不管正負(fù)值
2.當(dāng)兩個(gè)外邊距值是一正一負(fù)的時(shí)候歉井,然后是二者進(jìn)行相加取的值
不讓相鄰元素合并的方法是:形成一條分隔線
1.加padding柿祈,border,或clear分隔開
2.形成BFC
解決辦法
代碼1https://jsbin.com/desoviyete/edit?output
代碼2https://jsbin.com/joyigofeso/edit?output