盒子模型
- 標準盒模型:content
-
怪異盒模型: border+content
專題推薦:2020年CSS面試題匯總(最新)
行內元素
- 特征
- 設置寬高無效
- 設置margin只有左右有效,上下無效
- 設置padding上下左右均有效,會撐起空間
- 不會進行自動換行
- 常見的行內元素
- a span b i strong
行內塊元素
- 特征
- 可以設置寬高
- 與所有行內元素顯示在同一行
- 常見的行內塊元素
- img input button select
塊級元素
- 特征
- 可以設置寬高
- 所有塊級元素會獨占一行
- 如果未設置寬高,默認繼承父級寬高
- 常見的塊級元素
- p p ul li h1-h6
css實現居中
- margin: 0 auto;
- position定位配合transform:translate
- flex布局
- text-align配合line-height,用于字體在其父元素區(qū)域內居中
- vertical-align: middle; 用來設置行內元素的居中
css hack
- 釋意:針對不同的瀏覽器,寫不同的css,用作兼容
- 條件hack
<!--[if IE]> <style> p { color: red; }</style> <![endif]-->
- 屬性hack
.p { color: red; /*IE 8+*/ *color: green; /*IE 7*/ _color: yellow; /*IE 6*/}
- 選擇器hack
/*IE 6*/* html .p { color: red;}/*IE 7*/* + html .p { color: green;}
px 和 em
- px是絕對單位,值是固定的
- em是繼承父元素的font-size大小單位
support
@support用來檢測瀏覽器是否支持某個css屬性,可以理解為條件判斷,一般用作兼容性處理。
media
媒體查詢,根據視口大小寫對應的css樣式,一般配合rem做移動端的兼容。
calc
css的計算屬性,用于動態(tài)計算長度值,支持數學運算。
清除浮動
- 偽元素清除浮動
- 原理:在父元素的偽元素中設置clear:both,即可解決高度坍塌的問題。
::after { content: ""; clear: both; overflow: hidden; height: 0;}
BFC:是一個獨立的布局環(huán)境
- 格式化上下文,是一個獨立的渲染區(qū)域,讓處于BFC內部的元素與外部的元素相互隔離,使內外元素的定位不會相互影響。
- 規(guī)則
- 同一個BFC下,相鄰的兩個box默認垂直排列
- 同一個BFC下,上下相鄰的兩個box,margin會發(fā)生重疊
- BFC不會與float區(qū)域重疊
- 計算BFC高度時,浮動子元素也會參與計算,所以不設置BFC高度,也會被浮動子元素撐開。
- 文字層不會被浮動層覆蓋,而是環(huán)繞在周圍
解決父子邊緣重疊時子元素margin帶著父元素一起移動
+原理:利用偽元素給父元素添加一個高度為0的table
盒子模型
- 標準盒模型:content
- 怪異盒模型: border+content
行內元素
- 特征
- 設置寬高無效
- 設置margin只有左右有效,上下無效
- 設置padding上下左右均有效,會撐起空間
- 不會進行自動換行
- 常見的行內元素
- a span b i strong
行內塊元素
- 特征
- 可以設置寬高
- 與所有行內元素顯示在同一行
- 常見的行內塊元素
- img input button select
塊級元素
- 特征
- 可以設置寬高
- 所有塊級元素會獨占一行
- 如果未設置寬高,默認繼承父級寬高
- 常見的塊級元素
- p p ul li h1-h6
css實現居中
- margin: 0 auto;
- position定位配合transform:translate
- flex布局
- text-align配合line-height,用于字體在其父元素區(qū)域內居中
- vertical-align: middle; 用來設置行內元素的居中
css hack
- 釋意:針對不同的瀏覽器,寫不同的css,用作兼容
- 條件hack
<!--[if IE]> <style> p { color: red; }</style> <![endif]-->
- 屬性hack
.p { color: red; /*IE 8+*/ *color: green; /*IE 7*/ _color: yellow; /*IE 6*/}
- 選擇器hack
/*IE 6*/* html .p { color: red;}/*IE 7*/* + html .p { color: green;}
px 和 em
- px是絕對單位,值是固定的
- em是繼承父元素的font-size大小單位
support
@support用來檢測瀏覽器是否支持某個css屬性,可以理解為條件判斷,一般用作兼容性處理。
media
媒體查詢,根據視口大小寫對應的css樣式,一般配合rem做移動端的兼容。
calc
css的計算屬性,用于動態(tài)計算長度值,支持數學運算。
清除浮動
- 偽元素清除浮動
- 原理:在父元素的偽元素中設置clear:both,即可解決高度坍塌的問題。
::after { content: ""; clear: both; overflow: hidden; height: 0;}
BFC:是一個獨立的布局環(huán)境
- 格式化上下文,是一個獨立的渲染區(qū)域,讓處于BFC內部的元素與外部的元素相互隔離,使內外元素的定位不會相互影響。
- 規(guī)則
- 同一個BFC下,相鄰的兩個box默認垂直排列
- 同一個BFC下,上下相鄰的兩個box,margin會發(fā)生重疊
- BFC不會與float區(qū)域重疊
- 計算BFC高度時,浮動子元素也會參與計算,所以不設置BFC高度,也會被浮動子元素撐開。
- 文字層不會被浮動層覆蓋,而是環(huán)繞在周圍
解決父子邊緣重疊時子元素margin帶著父元素一起移動
+原理:利用偽元素給父元素添加一個高度為0的table
相關教程推薦:CSS視頻教程