国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > CSS > 正文

關于CSS里的塊級格式

2020-03-24 16:28:57
字體:
來源:轉載
供稿:網(wǎng)友

1.BFC 定義

BFC(Block formatting context)直譯為 塊級格式化上下文 。它是一個獨立的渲染區(qū)域,只有Block-level box(塊級元素)參與, 它規(guī)定了內(nèi)部的Block-level Box如何布局,并且與這個區(qū)域外部毫不相干.

通俗地來說:創(chuàng)建了 BFC的元素就是一個獨立的盒子,里面的子元素不會在布局上
影響外面的元素(里面怎么布局都不會影響外部),BFC任然屬于文檔中的普通流

2.BFC的生成:

知道了BFC怎么觸發(fā)BFC
滿足以下條件之一都可以觸發(fā)BFC,變身為BFC

根元素

float屬性不為none

position不為html' target='_blank'>static和relative

overflow不為visible

display為inline-block, table-cell, table-caption, flex, inline-flex

你會發(fā)現(xiàn)BFC無處不在,只是自己用的時候不知道而已

3.BFC布局規(guī)則:

變身為BFC后有什么特性呢,以下:

內(nèi)部的Box會在垂直方向,一個接一個地放置。

Box垂直方向的距離由margin決定。屬于同一個BFC的兩個相鄰Box的margin會發(fā)生重疊

每個元素的margin box的左邊, 與包含塊border box的左邊相接觸(對于從左往右的格式化,否則相反)。即使存在浮動也是如此。

BFC的區(qū)域不會與float box重疊。

BFC就是頁面上的一個隔離的獨立容器,容器里面的子元素不會影響到外面的元素。反之也如此。

計算BFC的高度時,浮動元素也參與計算

4.BFC作用:

用起來come boby

1.防止外邊距重疊

bfc導致的屬于同一個bfc中的子元素的margin重疊(Box垂直方向的距離由margin決定。屬于同一個BFC的兩個相鄰Box的margin會發(fā)生重疊)

問題:由圖可以看到,String1和String2 之間只有20px的margin,按理來說應該是40px,但這是在bfc中導致了他們的margin重疊


代碼:

 style .container1{ /* 通過overflow:hidden可以創(chuàng)建bfc */ overflow: hidden; background-color: red; width: 300px; .sub1{ margin: 20px 0px; background-color: #dea; } /style div >

解決方法:我們可以在div外面包裹一層容器,并觸發(fā)該容器生成一個BFC。那么兩個div便不屬于同一個BFC,就不會發(fā)生margin重疊了。


代碼:

 style  .newbfc{ overflow: hidden; } /style div >

2.清除浮動:

問題:當元素的子元素都浮動后,會出現(xiàn)高度坍塌的現(xiàn)象,即父容器的高度不會被撐開


代碼:

 style  .pre2{ width: 200px; border: 2px solid red; .float1,.float2{ width: 100px; height: 100px; float: left; .float1{ background-color: #dee; .float2{ background-color: #dcc; } /style div >

解決方法:

bfc的規(guī)則:計算BFC的高度時,浮動元素也參與計算所以只要將父容器設置為bfc就可以把子元素包含進去:
這個容器將包含浮動的子元素,它的高度將擴展到可以包含它的子元素,在這個BFC,這些元素將會回到頁面的常規(guī)文檔流。

.pre2{ width: 200px; border: 2px solid red; /* 設置overflow*/ overflow:hidden; }

3.解決布局:防止文字環(huán)繞


代碼:

 style .container2{ overflow: hidden; width: 200px; .box{ float: left; width: 100px; height: 30px; background-color: #daa; } /style div >

這個p元素并沒有移動,但是它卻出現(xiàn)在浮動元素的下方。p元素的line boxes(指的是文本行)進行了移位。此處line boxes的水平收縮為浮動元素提供了空間。

bfc的規(guī)則:每個元素的margin box的左邊, 與包含塊border box的左邊相接觸(對于從左往右的格式化,否則相反)。即使存在浮動也是如此。

解決這個問題只要將p元素添加overflow:hidden使其成為一個新的bfc就可以了

相信看了這些案例你已經(jīng)掌握了方法,更多精彩請關注php 其它相關文章!

相關閱讀:

HTML中劃分框窗有哪些常用屬性

在HTML中有哪些引用CSS的方式

iframe的去邊框和無邊框有哪些操作方式

以上就是關于CSS里的塊級格式的詳細內(nèi)容,html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 贵溪市| 石林| 南昌县| 平利县| 朝阳县| 揭西县| 潮州市| 马龙县| 松潘县| 石家庄市| 鄂温| 乌拉特后旗| 云梦县| 麻江县| 芜湖县| 十堰市| 涞水县| 左贡县| 大方县| 盐山县| 克什克腾旗| 贡嘎县| 建昌县| 瑞金市| 图片| 金坛市| 荆州市| 双流县| 洛南县| 自贡市| 龙南县| 成武县| 从江县| 汝州市| 漳平市| 都安| 昔阳县| 大英县| 大英县| 安仁县| 鲁山县|