国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

深入理解css之BFC

姘擱『 / 3344人閱讀

摘要:屬性,會破壞文檔流,與非定位元素很難結合起來用,因此也不適合自適應布局。,其對無感,無法自適應剩余瀏覽器空間。總結的定義,就如同結界一樣,完全封閉對外無任何影響。引起的各種屬性與自適應布局自適應布局與屬性說明

BFC的定義

BFC的全稱是block formatting context(塊狀格式化上下文),當BFC起作用的時候,其元素內部無論怎么翻江倒海都不會影響到外部元素,同樣,外部元素的變化也不會影響到BFC內部元素,這就跟結界一樣,你可以理解為有一個很強的護盾在包裹著BFC元素,這也是為什么BFC元素不會發生margin重疊的原因。

引起BFC的條件

BFC起作用不需要特別多的條件,滿足以下情況都會引起BFC:

html根元素

float不為none的元素

overflow為auto、hidden或scroll的元素

position不為relative或none的元素

display為inline-block的元素

table-cell、table-row或者table-caption元素

在清除浮動的時候,只要元素滿足以上這些情況,就不需要再加clear屬性。

BFC與自適應布局

在之前的文章中,我們有說到過float實現的文字環繞效果,這時候如果給文字加上overflow:hidden就可以實現兩欄自適應布局。這樣實現的好處是文字的寬度是自適應的,無論圖片是多大或多小,排版都不會亂。代碼和效果如下:

.fl {
    float: left;
    width: 100px;
    margin-right: 10px;
}
.content {
    overflow: hidden;
}
這里是文本展示,這里是文本展示,這里是文本展示,這里是文本展示,這里是文本展示,這里是文本展示,這里是文本展示, 這里是文本展示,這里是文本展示,這里是文本展示,這里是文本展示,這里是文本展示,這里是文本展示,這里是文本展示

圖片和文字之間如果需要間距,可以在圖片中設置margin-right的值或者透明border,也可以在內容區設置透明border,但是不可以直接在內容區設置margin-left,如果是設置了margin-left,其間距必須是圖片的寬度加上你想設置的間距大小,這樣的間距就會對圖片的大小產生依賴。

與BFC有關的屬性說明

由于引起BFC的屬性都有一些古怪的特性,并不是所有的情況都適合實現自適應布局,下面我們來一一說明下:

float屬性,設置了float之后,元素本身也會BFC化,由于具有破壞性和包裹性,也就失去了寬度自適應的特性,所以float并不適合自適應布局。

position屬性,position會破壞文檔流,與非定位元素很難結合起來用,因此也不適合自適應布局。

overflow:hidden,這個屬性要比float和position好很多,設置了overflow:hidden的元素,整體上跟普通元素差不多,也保留著普通元素的寬度自適應性,但是有一個缺點,就是內容溢出會被裁剪。在平時的開發中,這種場景不是很常見,因此overflow: hidden可以作為常用的BFC布局。

display:inline-block,由于inline-block會讓元素尺寸包裹,因此也不適用于BFC布局。

display:table-cell,table-cell會讓元素表現得跟單元格一樣,其有兩個特性,一個是父元素寬度足夠時,展示的是設置的寬度;第二個是,但元素寬度超出父元素時,展示的是父元素的寬度。因此,table-cell也可用于BFC布局,其原理就是設置一個足夠多的寬度值,例如3000px,這樣就可以充分利用瀏覽器的剩余空間,也不會產生滾動條,內容也是自適應的。

display:table-row,其對width無感,無法自適應剩余瀏覽器空間。

display:table-caption,沒有任何用處。

總結

BFC的定義,BFC就如同結界一樣,完全封閉對外無任何影響。

引起BFC的各種屬性

BFC與自適應布局

自適應布局與BFC屬性說明

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/117011.html

相關文章

  • 【芝士整理】CSS基礎圖譜

    摘要:為了實現文字環繞效果,規范規定的措施是使父容器塌陷,元素脫離文檔流浮動產生,元素周圍的內容轉換為圍繞元素排列。 選擇器注意點 屬性選擇器 [attr^=value] - 開頭或全等 [attr$=value] - 結尾或全等 [attr*=value] - 包含值 [attr~=value] - 字符串包含 選擇器組 A > B - 直接子節點 A + B - 下一個兄弟節點 A...

    iOS122 評論0 收藏0
  • 【前端Talkking】CSS系列——CSS深入理解float浮動

    摘要:包裹性所謂包裹性,其實是由包裹和自適應兩部分組成。官方對屬性的解釋是元素盒子的邊不能和前面的浮動元素相鄰。清除高度塌陷的問題在上面的章節中,如果子元素設置浮動屬性,則父元素就會出現高度塌陷的問題。 float屬性是CSS中常用的一個屬性,在實際工作中使用的非常多,如果使用不當就會出現意料之外的效果。雖然很多人說浮動會用就行、浮動過時了,但是對于優秀的前端開發人員,需要有刨根問底的精神,...

    yankeys 評論0 收藏0
  • 【學習筆記】CSS深入理解float

    摘要:為了實現文字環繞效果,規范規定的措施是使父容器塌陷,元素脫離文檔流浮動,元素周圍的內容轉換為圍繞元素排列。從浮動的起因和浮動的實現后果來看,浮動不適合用于大范圍的布局,更適合利用其特性實現一些小范圍的流體布局效果。 張鑫旭的CSS深入理解之float浮動學習筆記 float的歷史 float為產生文字環繞效果而生 float的特性 — 包裹和破壞 包裹:即產生一個BFC破壞:使父容器...

    denson 評論0 收藏0
  • 【學習筆記】CSS深入理解overflow

    摘要:張鑫旭的深入理解之學習筆記基本屬性屬性介紹默認當與值相同時,等同于當與值不相同時,其中一個值被賦予時,若另一個值為,那這個會被重置為作用前提元素非對應方位的尺寸限制拉伸對于單元格等需要為狀態才可以與滾動條頁面默認滾動條來自與無 《張鑫旭的CSS深入理解之overflow》學習筆記 overflow基本屬性 overflow屬性介紹 overflow: visible(默認)|hidd...

    Ali_ 評論0 收藏0
  • 深入清除浮動原理

    摘要:如下圖所示可以看到父元素的高度為為了解決這種狀況就要清除浮動了。下面詳細看一下這兩大類清除浮動的方式及原理。所以,避免穿透啊,清除浮動什么的也好理解了。 關于浮動 設置為浮動的元素會脫離當前文檔流,向左或向右移動直到邊緣遇到另一個浮動元素或者到達邊界。普通元素不會對齊造成影響。 浮動是把雙刃劍,在給我們的布局帶來便利的同時有一些缺點需要我們去解決。例如最常見的父元素塌陷。如下圖所示:...

    freewolf 評論0 收藏0

發表評論

0條評論

姘擱『

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<