CSS的引入css
在早期,若是要去定義一個H1的標題的顏色、字體、大小和其餘的顯示特徵,就須要用到HTML中的font或其餘樣式的指令,H1只是一個結構指令因此光有它是不夠的。所以若是有多個標籤要去進行處理,就會形成樣式的重複,後期維護的困難。html
那CSS的出現就解決了這一類的問題,CSS(Cascading Style Sheets),即層疊樣式表、階層樣式表,它是一種用來爲結構化文檔(如HTML文檔或XML應用)添加樣式(字體、間距和顏色等)的計算機語言。web
CSS的基本引入字體
經過HTML文件中的link標籤引入CSS文件spa
1.經過link引入CSS文件設計
HTML程式碼:3d
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>網頁示例</title> <link rel="stylesheet" href="webCSS.css"> </head> <body> <p>Hello World!</p> </body> </html>
CSS程式碼:code
p{ color:red; }
2.使用style標籤htm
HTML程式碼:blog
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>網頁示例</title> <style> p{ color:red; } </style> </head> <body> <p>Hello World!</p> </body> </html>
3.直接在標籤中更改樣式
HTML程式碼:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>網頁示例</title> </head> <body> <p style="color:red">Hello World!</p> </body> </html>
選擇器相遇要更改標籤樣式的前提條件
CSS基本選擇器
選擇器查找標籤的方式
1.標籤選擇器
這種選擇器若是對於同一種類的標籤會一塊兒修改相同的樣式,所以對於通用的樣式時候能夠選擇標籤選擇器
HTML程式碼:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>網頁示例</title> <link rel="stylesheet" href="webCSS.css"> </head> <body> <h1>網頁設計</h1> </body> </html>
CSS程式碼:
/*CSS程式碼*/ h1{ color:blue;font-size:48px; }
網頁效果:
2.ID選擇器
選擇器所表現出的樣式具備獨一無二的效果,ID選擇器優先級比標籤選擇器高
HTML程式碼:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>網頁示例</title> <link rel="stylesheet" href="webCSS.css"> </head> <body> <h1 id="i1">網頁設計</h1> </body> </html>
CSS程式碼:
/*CSS程式碼*/ #i1{ color:orange;font-size:60px; }
網頁效果:
3.類選擇器
這一類標籤須要用同一種樣式的時候須要用到類選擇器
HTML程式碼:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>網頁示例</title> <link rel="stylesheet" href="webCSS.css"> </head> <body> <p class="c1">水蜜桃</p> <p class="c1">獼猴桃</p> <p class="c1">蘋果</p> <p class="c1">香蕉</p> </body> </html>
CSS程式碼:
/*CSS程式碼*/ .c1{ color:pink;font-size:60px; }
網頁效果:
4.通用選擇器
默認使用這一種樣式
/*CSS程式碼*/ *{ color:black; }
CSS組合選擇器
1.子代選擇器
HTML程式碼:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>網頁示例</title> <link rel="stylesheet" href="webCSS.css"> </head> <body> <div id="d1"> <p>我是嵌套在div中的p標籤</p> <span>我是嵌套在div中的span標籤</span> <div> <p>我是嵌套在div中的div中的p標籤</p> <span>我是嵌套在div中的div中的span標籤</span> </div> </div> </body> </html>
CSS程式碼:
/*CSS程式碼*/ #d1>p{ color:blue;font-size:20; }
網頁效果:
2.兄弟選擇器
以後標籤都會統一更改樣式
HTML程式碼:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>網頁示例</title> <link rel="stylesheet" href="webCSS.css"> </head> <body> <p>第一段</p> <div>div標籤</div> <p>第二段</p> <p>第三段</p> <p>第四段</p> <p>第五段</p> <hr> <p>第六段</p> </body> </html>
CSS程式碼:
/*CSS程式碼*/ div~p{ color:green;font-size:20; }
網頁效果:
3.相鄰兄弟選擇器
這種方式它只會往下找相鄰的標籤
HTML程式碼:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>網頁示例</title> <link rel="stylesheet" href="webCSS.css"> </head> <body> <p>第一段</p> <div>div標籤</div> <p>第二段</p> <p>第三段</p> </body> </html>
CSS程式碼:
/*CSS程式碼*/ div+p{ color:blue;font-size:20; }
網頁效果:
4.後代選擇器
HTML程式碼:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>網頁示例</title> <link rel="stylesheet" href="webCSS.css"> </head> <body> <div id="d1"> <p>我是嵌套在div中的p標籤</p> <span>我是嵌套在div中的span標籤</span> <div> <p>我是嵌套在div中的div中的p標籤</p> <span>我是嵌套在div中的div中的span標籤</span> </div> </div> </body> </html>
CSS程式碼:
這裏對於ID爲d1的標籤的後代只要是p標籤都會用同樣的CSS樣式
/*CSS程式碼*/ #d1 p{ color:red;font-size:20; }
網頁效果:
css屬性選擇器
能夠給一個標籤去自定義一個屬性,經過這個屬性來改變這一類或這一個標籤的樣式
HTML程式碼:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>網頁示例</title> <link rel="stylesheet" href="webCSS.css"> </head> <body> <p attribute>Hello CSS!</p> <p attribute="abc">Hello CSS!-abc</p> <p attribute="abc123">Hello CSS!-abc123</p> <p attribute="123abc">Hello CSS!-123abc</p> <p attribute="abcabcabc">Hello CSS!-abcabcabc</p> <p attribute=" abc ">Hello CSS!- abc </p> <p attribute="xsdda">Hello CSS!-xsdda</p> </body> </html>
1.查找標籤元素裏有"attribute"的屬性
CSS代碼:
/*CSS程式碼*/ [attribute]{ color:blue; }
網頁效果:
2.查找屬性是"abc"的標籤
CSS代碼:
/*CSS程式碼*/ [attribute="abc"]{ color:blue; }
網頁效果:
3.查找屬性使用空白分開的字串中其中是「abc」
CSS代碼:
/*CSS程式碼*/ [attribute~="abc"]{ color:blue; }
網頁效果:
4.查找屬性是以"abc"開頭的元素
CSS代碼:
/*CSS程式碼*/ [attribute^="abc"]{ color:blue; }
網頁效果:
5.查找屬性是以"abc"結尾的元素
CSS代碼:
/*CSS程式碼*/ [attribute$="abc"]{ color:blue; }
網頁效果:
6.查找屬性至少出現過一次"abc"
CSS代碼:
/*CSS程式碼*/ [attribute*="abc"]{ color:blue; }
網頁效果:
分組和嵌套
當有不一樣的標籤樣式有重複的時候能夠用到分組
HTML程式碼:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>分組和嵌套示例</title> <link rel="stylesheet" href="webCSS.css"> </head> <body> <div id="d1">這是一個div標籤</div> <p>這是一個p標籤</p> </body> </html>
CSS程式碼:
/*CSS程式碼*/ #d1, p{ color:gold }
網頁效果:
把多種選擇器混合起來使用就是嵌套
HTML程式碼:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>分組和嵌套示例</title> <link rel="stylesheet" href="webCSS.css"> </head> <body> <div class="c1"> <p>1</p> <p>2</p> <p>3</p> </div> </body> </html>
CSS程式碼:
/*CSS程式碼*/ .c1 p{ color:red }
網頁效果:
像上面的組合選擇器也都是有用到嵌套
CSS選擇器的優先級
樣式文件優先級:選擇器都同樣的狀況下,誰靠近標籤誰就生效,例一:
HTML程式碼:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>選擇器的優先級</title> <link rel="stylesheet" href="webCSS.css"> <link rel="stylesheet" href="webCSS2.css"> </head> <body> <div id="d1">我是一個div標籤</div> <p>我是一個p標籤</p> </body> </html>
第一個CSS檔程式碼:
/*CSS程式碼*/ #d1, p{ color:red; }
第二個CSS檔程式碼:
/*CSS程式碼*/ #d1, p{ color:gold; }
網頁效果:
那若是把p標籤中語句稍加改動
<p style="color:blue">我是一個p標籤</p>
那這裏的p標籤就會變爲藍色,所以像這種內聯樣式(直接在標籤裏面寫style)它的優先級最高
例二,HTML程式碼:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>選擇器的優先級</title> <link rel="stylesheet" href="webCSS.css"> <link rel="stylesheet" href="webCSS2.css"> </head> <body> <div id="d1">我是一個div標籤</div> <p id="p1">我是一個p標籤</p> </body> </html>
第一個CSS檔程式碼:
/*CSS程式碼*/ /*權重值爲100 + 1*/
#d1, p{ color:red; } /*權重值爲100*/ #p1{ color:deeppink; }
第二個CSS檔程式碼:
/*CSS程式碼*/
/*權重100 + 1*/
#d1, p{ color:gold; }
網頁效果:
由於ID選擇器的權重比元素選擇器的權重更高因此最後的顏色是deepink,可是權重計算永不進位,好比說寫了十個類選擇器加起來就是100,可是按照規則它仍是沒有ID選擇器來得大
另外若是想要讓一種樣式強制生效就可使用!important(不推薦使用),會致使後期維護麻煩
/*CSS程式碼*/ #d1, p{ color:blue!important; }