1.CSS三大特性
1.1 CSS層疊性
原則:
樣式衝突,遵循的原則是就近原則。哪個樣式離着結構近,就執行哪個樣式
樣式不衝突,不會重疊
1.2 CSS繼承性
概念:
子標籤會繼承父標籤的某些樣式,如文本顏色和字號
想要設置一個可繼承的屬性,只需將它應用於父元素即可
簡單的理解:子承父業
1.3 CSS優先級
概念:
定義樣式時,經常出現兩個或更多規則應用在同一元素上,此時,
選擇器相同,則執行層疊性
選擇器不同,就會出現優先級問題
權重計算公式:
權重疊加
2.CSS盒子模型
盒子模型有元素的內容、邊框(border)、內邊距(padding)和外邊距(margin)組成
2.1 盒子的邊框(border)
語法:
border:border-width || border-style || border-color
2.2 內邊距(padding)
padding屬性用於設置內邊距,是指邊框與內容之間的距離
設置:
2.3 內盒尺寸計算(元素實際大小)
2.4 padding不影響盒子大小情況
如果沒有給一個盒子指定寬度,此時如果給這個盒子指定padding 則不會撐開盒子
3.外邊距(margin)
3.1 外邊框
margin屬性用於設置外邊距,margin就是控制盒子和盒子之間的距離
3.2 設置
3.3 文字居中和盒子居中區別
1.盒子內的文字水平居中是text-align:center,而且還可以讓行內元素和行內塊居中對齊
2.塊級盒子水平居中,左右margin改爲auto
3.4 插入圖片和背景圖片區別
1.插入圖片我們用的最多,比如產品展示類 移動位置只能靠盒模型 padding margin
2.背景圖片我們一般用於小圖標背景 超大背景圖片 背景圖片 只能通過 background-position
3.5 清除元素的默認內外邊距
*{
padding:0; //清除內邊距
margin:0; //清除外邊距
}
3.6 相鄰塊元素垂直外邊距合併
當上下相鄰兩個塊元素相遇時,如果上面的元素有下邊框margin-bottom 下面的元素有上邊框margin-top 則他們之間的垂直間距不是margin-bottom與margin-top之和
取兩個值中的較大值這種現象被稱爲相鄰塊元素垂直外邊距的合併(也稱外邊距塌陷)
3.7 嵌套塊元素垂直外邊距的合併(塌陷)
對於兩個嵌套關係的塊元素,如果父元素沒有上內邊距及邊框
父元素的上邊距會與子元素的上外邊距發生合併
合併後的外邊距爲兩者中的較大者
解決辦法:
1.可以爲父元素定義上邊距
2. 可以爲父元素定義內邊距
3.可以爲父元素添加overflow:hidden
3.8 盒子模型佈局穩定性
按照優先使用寬度其實是內邊距再次外邊距
width>padding>margin
原因:
margin會有外邊距合併還有IE6下面margin加倍的bug所以最後使用
padding 會影響盒子的大小,需要進行加減計算其次使用
width沒有問題,我們經常使用寬度剩餘法高度剩餘法來做
3.9 圓角邊框
border-radius:length;
3.10 盒子陰影(CSS3)
語法:
box-shadow:水平陰影 垂直陰影 模糊距離(虛實)陰影尺寸(影子大小)陰影顏色 內/外陰影