CSS
引言
- CSS的全稱為:層疊樣式表(Cascading Style Sheets)。
- CSS也是一種標記語言,用於給HTML設定樣式,比如文字的大小、文字的顏色、元素寬高等.....
屬性方法參考
1、CSS的編寫位置
-
行內樣式(內聯樣式)
<h1 style="color:red;font-size:40px">.....</h1>
-
內部樣式
- 寫在
html
頁面內部,將所有的CSS
程式碼提取出來,單獨放在<style>
標籤中。
<style> h1 { color:red; font-size:40px; } </style>
- 寫在
-
外部樣式(實際開發中最常用的引入方式)
-
寫在單獨的CSS檔案之中,以
.css
結尾,將所有的CSS程式碼都放置在此檔案之中,並透過link
標籤進行引用進來。 -
1.新建一個以
.css
結尾的檔案,將所有的css
樣式放置在檔案之中。h1 { color:red; font-size:40px }
-
2.在
HTML
檔案中引用.css
檔案。<link rel="stylesheet" href="./xxx/ss.css">
-
2、樣式的優先順序
-
優先順序規則:行內樣式
>
內部樣式=
外部樣式內部樣式和外部樣式優先順序相同,後寫的樣式會覆蓋前面的樣式(“後來者居上”)。
3、CSS的基本選擇器
-
通配選擇器(一般用於清除預設樣式)
/* 選中所有元素 */ * { color:range; font-size:40px; }
-
元素選擇器(選中元素/標籤)
/* 選中所有h1元素*/ h1 { color:range; font-size:40px; } /* 選中頁面的所有p元素 */ p { color:blue; font-size:50px; }
-
類選擇器(元素中class的值)
/* 選中所有class的值為speak的元素 */ /* class的值可以有多個:class="test1 test2" */ .speak { color:red; } /* 選中所有class的值為answer的元素 */ .answer { color:blue; }
-
ID選擇器(元素中id的值)
/* 選中id值為earthy的元素 */ #earthy { color:red; font-size:60px; }
注意:id屬性值:不要用數字開頭命名,不要包含空格,區分大小寫,頁面中id值是唯一的。
4、CSS的複合選擇器
-
交集選擇器(選中符合多個條件的元素)
/* 選中:類名為beauty的p元素,為此種寫法用的非常多! */ p.beauty { color:blue; } /* 選中:類名包含rich和beauty的元素 */ .rich.beauty { color:green; }
-
並集選擇器(選中多個選擇器對應的元素,透過逗號隔開)
/* 選中id為peiqi,或類名為rich,或類名為beauty的元素 */ #peiqi,.rich,.beauty { font-size: 40px; background-color: skyblue; width: 200px; }
-
後代選擇器(選中指定元素中,符合要求的後代元素不管,巢狀幾層)
/* 選中ul中的所有li */ ul li { color: red; } /* 選中ul中所有li中的a */ ul li a { color: orange; } /* 選中類名為subject元素中的所有li */ .subject li { color: blue; } /* 選中類名為subject元素中的所有類名為front-end的li */ .subject li.front-end { color: blue; }
-
子代選擇器(先寫父,再寫子,父親的巢狀下一層)
/* div中的子代a元素 */ div>a { color: red; } /* 類名為persons的元素中的子代a元素 */ .persons>a{ color: red; }
-
兄弟選擇器
-
相鄰兄弟選擇器(選中指定元素符合條件的相鄰兄弟元素)
/* 選中div後相鄰的兄弟p元素 */ div+p { color:red; }
-
通用兄弟選擇器(選中指定元素的所有兄弟元素)
/* 選中div後的所有的兄弟p元素 */ div~p { color:red; }
-
-
屬性選擇器(選中屬性值符合一定要求的元素)
/* 選中具有title屬性的元素 */ div[title]{color:red;} /* 選中title屬性值為atguigu的元素 */ div[title="atguigu"]{color:red;} /* 選中title屬性值以a開頭的元素 */ div[title^="a"]{color:red;} /* 選中title屬性值以u結尾的元素 */ div[title$="u"]{color:red;} /* 選中title屬性值包含g的元素 */ div[title*="g"]{color:red;}
5、偽類選擇器(常用的)
- 作用:選中特殊狀態的元素
- 常用的偽類選擇器:
- 動態偽類:
:link
超連結未被訪問的狀態。:visited
超連結訪問過的狀態。:hover
滑鼠懸停在元素上的狀態。:active
元素啟用的狀態。
- 結構偽類:
:first-child
所有兄弟元素的第一個。:last-child
所有兄弟元素的最後一個。:nth-child(n)
所有兄弟元素的第n個。:first-of-type
所有同型別兄弟元素中的第一個。:last-of-type
所有同型別兄弟元素中的最後一個。:nth-of-type(n)
所有同型別兄弟元素中的 第n個。
- 動態偽類:
6、偽元素選擇器(常用的)
- 作用:選中元素的一些特殊位置。
- 常用的偽元素選擇器:
::first-letter
選中元素的第一個文字。::first-line
選中元素的第一行文字。::selection
選中被滑鼠選中的內容。::placeholder
選中輸入框的提示文字。::before
在元素最開始的位置,建立一個子元素(必須用content
屬性指定內容)。::after
在元素最後的位置,擦黃健一個子元素(必須用content
屬性指定內容)
注意:行內樣式
>
ID選擇器>
類選擇器>
元素選擇器>
通配選擇器。
7、CSS的三大特性
-
層疊性
-
概念:如果發生了樣式衝突,那就會根據一定的規則(選擇器優先順序),進行樣式的層疊(覆
蓋)。
什麼是樣式衝突? —— 元素的同一個樣式名,被設定了不同的值,這就是衝突
-
-
繼承性
-
概念:元素會自動擁有其父元素、或其祖先元素上所設定的某些樣式。
-
規則:優先繼承離得近的。
-
常見的可繼承屬性:
text-?? , font-?? , line-?? 、 color ......
-
-
優先順序
-
簡單來看:!important > 行內樣式 > ID選擇器 > 類選擇器 > 元素選擇器 > 通配選擇器 > 繼承的樣式。
-
嚴格來看:需要計算權重。
-