任務(wù)10

1.浮動(dòng)元素有什么特征?對父容器、其他浮動(dòng)元素、普通元素、文字分別有什么影響?

image.png

2.清除浮動(dòng)指什么? 如何清除浮動(dòng)? 兩種以上方法

清除浮動(dòng)指的是清除浮動(dòng)給父元素和鄰近元素的副作用
方法:

  • 給父元素手動(dòng)添加高度
  • 通過clear屬性來清除浮動(dòng)
  • 給父元素添加overflow(scroll,auto,hidden)樣式(overflow 除了visible 以外的值)
  • 給父元素添加浮動(dòng)樣式
  • 給父元素添加display (table-cell,table-caption,inline-block, flex, inline-flex)樣式
  • 給父元素添加position值為(absolute,fixed)樣式

3.有幾種定位方式,分別是如何實(shí)現(xiàn)定位的,參考點(diǎn)是什么,使用場景是什么?

共有5種,如下圖所示

image.png
image.png
image.png
image.png

4.z-index 有什么作用? 如何使用?

z-index 屬性設(shè)置元素的堆疊順序。元素中擁有更高堆疊順序的元素總是會(huì)處于堆疊順序較低的元素的前面。(這里要注意,要以相同的祖先元素定位時(shí),z-index越大,其位置越在上方)
并不是z-index越大,其就在最上面,如下圖所示

image.png
image.png

結(jié)果是:

image.png

原因:由于div1,div2,div3,div4都是position:absolute;故div1和div4是以body為祖先元素定位,div4的z-index大于div1,而div2和div3是以div1為祖先元素進(jìn)行定位,所有不論div2和div3的z-index為多大,都在div4的下面

5.position:relative和負(fù)margin都可以使元素位置發(fā)生偏移?二者有什么區(qū)別

position:relative;是使用相對定位來使元素發(fā)生偏移,用right,left,top,bottom來進(jìn)行定位,相對于元素的常規(guī)流位置。并且相對定位的元素不會(huì)脫離常規(guī)流(即是原來的位置空下來,也不會(huì)被其他元素占據(jù))
負(fù) margin 使元素發(fā)生偏移時(shí),元素原來占據(jù)的空間會(huì)隨著負(fù) margin 數(shù)值的增大而減少,其他元素的位置也會(huì)發(fā)生相應(yīng)的變化

6.BFC 是什么?如何生成 BFC?BFC 有什么作用?舉例說明

浮動(dòng)元素和絕對定位元素,非塊級盒子的塊級容器(例如 inline-blocks, table-cells, 和 table-captions),以及overflow值不為“visiable”的塊級盒子,都會(huì)為他們的內(nèi)容創(chuàng)建新的塊級格式化上下文

  • float 除了none以外的值
  • overflow 除了visible 以外的值(hidden,auto,scroll )
  • display (table-cell,table-caption,inline-block, flex, inline-flex)
  • position值為(absolute,fixed)

BFC特性:

  • 內(nèi)部的Box會(huì)在垂直方向,從頂部開始一個(gè)接一個(gè)地放置。
  • Box垂直方向的距離由margin決定。屬于同一個(gè)BFC的兩個(gè)相鄰Box的margin會(huì)發(fā)生疊加
  • 每個(gè)元素的margin box的左邊, 與包含塊border box的左邊相接觸(對于從左往右的格式化,否則相反)。即使存在浮動(dòng)也是如此
  • BFC的區(qū)域不會(huì)與float box疊加。
  • BFC就是頁面上的一個(gè)隔離的獨(dú)立容器,容器里面的子元素不會(huì)影響到外面的元素,反之亦然。
  • 計(jì)算BFC的高度時(shí),浮動(dòng)元素也參與計(jì)算。

BFC可以用來解決以下問題:

  • margin疊加問題
  • 用于布局
  • 清除浮動(dòng)

7.在什么場景下會(huì)出現(xiàn)外邊距合并?如何合并?如何不讓相鄰元素外邊距合并?給個(gè)父子外邊距合并的范例

當(dāng)元素屬于同一個(gè)BFC時(shí),會(huì)出現(xiàn)外邊距合并
外邊距合并規(guī)則:

  • 當(dāng)兩個(gè)margin為正數(shù)時(shí),取大的
  • 當(dāng)兩個(gè)margin為負(fù)數(shù)時(shí),取絕對值大的那個(gè),然后從0開始負(fù)向位移
  • 當(dāng)有正有負(fù)時(shí),先取出負(fù) margin 中絕對值中最大的,然后,和正 margin 值中最大的 margin 相加。
  • 所有毗鄰的margin要一起參與運(yùn)算,不能分步進(jìn)行。

不讓相鄰元素外邊距合并方法:
1.只設(shè)置一個(gè)方向上的margin,例如都只設(shè)置margin-top
2.將其中一個(gè)元素設(shè)置為BFC來取消合并
不讓父元素外邊距合并方法:
1.可以將父元素設(shè)置 BFC
2.可以在子元素的 margin 和 父元素的 margin 之間增加 padding 或 border 來隔開它們
父子外邊距合并范例

代碼練習(xí)

效果1

效果2

效果3

效果4

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,208評論 1 92
  • 浮動(dòng)元素有什么特征?對父容器、其他浮動(dòng)元素、普通元素、文字分別有什么影響?## 特征:浮動(dòng)模型也是一種可視化格式模...
    饑人谷_zhangfan閱讀 311評論 0 0
  • 1、浮動(dòng)元素有什么特征?對父容器、其他浮動(dòng)元素、普通元素、文字分別有什么影響? 2、清除浮動(dòng)指什么? 如何清除浮動(dòng)...
  • 1.浮動(dòng)元素有什么特征?對父容器、其他浮動(dòng)元素、普通元素、文字分別有什么影響? 設(shè)置浮動(dòng),可以讓元素脫離普通流,使...
    upup_dayday閱讀 369評論 0 0
  • 1. 浮動(dòng)元素有什么特征?對父容器、其他浮動(dòng)元素、普通元素、文字分別有什么影響? 特征:浮動(dòng)元素不在普通的文檔流中...
    在乎者也閱讀 1,316評論 0 1

友情鏈接更多精彩內(nèi)容