內聯樣式(行內樣式)css
<p style="color:red;font-size:60px"><!--設置字體顏色和大小--> CSS設置樣式 </p>
問題:使用內聯樣式,只能對一個標籤生效html
複用程度不高,維護起來比較麻煩瀏覽器
內部樣式表緩存
<style> p{ /*標籤選擇器*/ color:green; font-size:50px; } </style>
好處:可同時爲多個標籤設置樣式,更加方便對樣式進行復用佈局
問題:內部樣式表只能對一個網頁起做用,不能跨頁面複用字體
外部樣式表(最佳實現)spa
能夠將css樣式編寫到外部的css文件中code
而後經過link標籤來引入到對應的網頁中htm
<head> <!--在head標籤中編寫--> <link rel="stylesheet" href="./style.css"> </head>
好處 :樣式能夠在不一樣頁面之間進行復用排序
可使用到瀏覽器的緩存機制,加快網頁的加載速度,提升用戶體驗。
<style> /* 註釋內容 */ </style>
元素選擇器
id選擇器
類選擇器
適配選擇器
交集選擇器
做用:選中同時符合多個條件的元素
語法:選擇器1選擇器2選擇器3...n { }
選擇器之間沒有空格
p.box.num{ color: blue; font-size: 50px; }
注:交集選擇器中若是有元素選擇器,必須使用元素選擇器開頭
並集選擇器
相關概念
父元素:直接包含子元素的元素
子元素:直接被父元素包含的元素
祖先元素:直接或間接包含後代元素
一個元素的父元素也是他的祖先元素
後代元素:直接或間接被祖先元素包含的元素
子元素也是後代元素
兄弟元素:擁有相同父元素的元素
語法:[屬性名] 選擇含有指定屬性的元素
[屬性名=屬性值] 選擇含有指定屬性和屬性值的元素
[屬性名^=屬性值] 選擇屬性值以指定值開頭的元素
[屬性名$=屬性值] 選擇屬性值以指定值結尾的元素
[屬性名*=屬性值] 選擇屬性值中含有某值的元素
僞類(不存在的類,特殊的類)
說明:描述一個元素的特殊狀態
通常使用 :開頭
:first-child 第一個子元素
:last-child 最後一個子元素
:nth-child(n) 選中第n個子元素
特殊值:n 第n個 n的範圍0~正無窮
even/2n選中偶數位的元素
odd/2n+1 選中奇數位的元素
:first-of-type
:last-of-type
:nth-of-type()
這幾個僞類功能與上面的相似,不一樣點是他們是在同類型元素中進行排序
: not() 否認僞類,將符合條件的元素從選擇器中去除
僞元素:表示頁面中一些特殊的並不真實存在的元素(特殊的位置)
僞元素使用 ::開頭
::first-letter 表示第一個字母、
::first-line 表示第一行
::selection 表示選中的內容
::before 元素的開始
::after 元素的最後 必須結合content屬性來使用
<style> p::before{ content:"【"; color: saddlebrown; } p::after{ content:"】"; } </style>
咱們爲一個元素設置樣式同時也會應用到它的後代元素上,發生在祖先元素和後代元素之間
注:並非全部的樣式都會被繼承,好比 背景相關的佈局
樣式衝突:經過不一樣的選擇器選中相同的元素,而且爲相同的樣式設置不一樣的值時
內聯樣式 1,0,0,0
id選擇器 0,1,0,0
類和僞類選擇器 0,0,1,0
元素選擇器 0,0,0,1
通配符選擇器 0,0,0,0
繼承的樣式 沒有優先級
優先級計算相同,此時優先使用靠下的樣式
比較優先級時,需將全部的選擇器的優先級相加,最後優先級越高,則越優先顯示
分組選擇器單獨計算
選擇器的累加不會超過其最大的數量級(類選擇器再高也不會超過id選擇器)
注:能夠在某一個樣式後添加!important 則此樣式會得到最高的優先級,甚至超過內聯樣式(通常不會使用)