最近開始整理CSS,先來整理一下CSS基礎概念,本文主要介紹一下CSS文檔流和盒模型。css
CSS 全稱層疊樣式表。層疊分爲三種:瀏覽器
目前使用最普遍的版本是 CSS 2.1,CSS 3 開始,CSS 使用模塊化升級,這就致使有些瀏覽器可能不支持某些新特性,咱們能夠經過使用 caniuse.com 來查詢瀏覽器是否支持。bash
選擇器{
屬性名:屬性值;
/*註釋*/
}
複製代碼
注意:模塊化
@charset "UTF-8";
@import url(2.css);
@media (min-width:100px) and (max-width:200px){
語法一
}
複製代碼
注意:佈局
@charset
必須放在第一行,charset 是字符集的意思,但 UTF-8 是字符編碼 encoding,屬於歷史遺留問題。文檔流指的是文檔流動方向,方向從左到右、從上到下。字體
inlin-block 元素,結合了 inline 元素和 block 元素的特色。必定是成塊的,佈局從左到右,不會一部分在上一行,一部分在下一行。flex
注意:編碼
當內容寬度或高度大於容器的時,會出現溢出的狀況,能夠用 overflow 來設置是否出現滾動條。overflow 能夠分爲 overflow-x 和 overflow-y。url
上面咱們提到,block 元素高度由內部文檔流元素決定,能夠設置 height ,因此有些元素不在文檔流中,就不會計算高度。那麼,要如何實現元素脫離文檔流,有兩種方法。spa
那麼怎麼讓元素不脫離文檔流呢?不要用上面的屬性就不會脫離文檔流。
盒模型就是封裝 HTML 元素的盒子。由外邊距 margin、邊框 border、內邊距 padding、內容 content 組成。
盒模型分爲兩種:一種是 border-box、一種是 content-box。
如圖所示。
使用 content-box 時,咱們給元素設置 width ,width 的值表明 content 寬度。
元素總寬度 = maring + border + padding + width
複製代碼
使用 border-box 時,咱們給元素設置 width ,width 的值表明 border 的 + padding 的值 + content 寬度
元素總寬度 = margin + width
複製代碼
在使用盒模型的過程當中,會存在 margin 合併的現象,有以下兩種狀況會合並
注意:
知道了存在 margin 合併的狀況,接下來看下如何阻止合併。
父子合併
兄弟合併能夠用 inline-block 消除,兄弟合併是符合預期的
最後,瞭解一下 CSS 基本單位
#FF6600
或者 #F60
rgb(0, 0, 0)
或者 rgba(0, 0, 0, 1)
hsl(360, 100%, 100%, 1)