本文總結:什麼是CSS,文法結構,以及如何使用多種選擇器去比對标簽的内容,想快速入門看這篇就夠了👆
目錄
- CSS快速入門
- 簡介
- 文法結構
- 如何注釋
- 引入方式
- 選擇器
- 選擇器清單
- 選擇器的優先級
- 基本選擇器
- 标簽選擇器
- 類選擇器
- id選擇器
- 通用選擇器(不重要)
- 組合選擇器
- 後代選擇器
- 兒子選擇器
- 相鄰選擇器
- 弟弟選擇器
- 屬性選擇器
- 文法
- 示例
- 分組與嵌套
- 僞類選擇器
- 标準僞類索引
- 選擇器參考表
- 網站分享
層疊樣式表 — 也就是CSS — 是你在HTML之後應該學習的第二門技術。HTML用于定義内容的結構和語義,CSS用于設計風格和布局。比如,您可以使用CSS來更改内容的字型、顔色、大小、間距,将内容分為多列,或者添加動畫及其他的裝飾效果;
通俗了解為:CSS就是為了給HTML标簽修改樣式;
文法結構:
選擇器 {
屬性名1:屬性值1;
屬性名2:屬性值2
}
/*注釋内容*/
快捷鍵:ctrl+? (pycharm)
1.style内部直接編寫css代碼,平時學習、練習的時候推薦使用
2.link标簽引入外部css檔案,正式工作、實際生産環境推薦使用
CSS選擇器是CSS規則的第一部分。它是元素和其他部分組合起來告訴浏覽器哪個HTML元素應當是被選為應用規則中的CSS屬性值的方式。選擇器所選擇的元素,叫做“選擇器的對象”;
css是用來調節标簽樣式的 那為什麼需要學選擇器呢?
因為同一個頁面上有很多相似的标簽 并且這些标簽在不同的位置有不同的樣式 是以為了能夠區分 ,我們肯定先需要學習如何查找指定的标簽
如果你有多個使用相同樣式的CSS選擇器,那麼這些單獨的選擇器可以被混編為一個“選擇器清單”,這樣,規則就可以應用到所有的單個選擇器上了。例如,如果我的和
h1
類有相同的CSS,那麼我可以把它們寫成兩個分開的規則。
.special
/*方式一*/
h1 {
color: blue;
}
.special {
color: blue;
}
/*方式二*/
h1, .special {
color: blue;
}
/*如果出現文法錯誤,那麼樣式不會生效*/
/*相同修改,優先級一般最下面的生效*/
- 相同選擇器不同導入方式
- 選擇器系統遵循就進原則,從上往下誰離标簽更近誰說了算
通俗了解:
比如兩個相同的選擇器都要修改p标簽,最下面那個,或者離p标簽更近的選擇器生效;
如果p标簽自己使用style參數,那麼p标簽自己設定的參數生效;
- 不同選擇器不遵循就近原則>>>:優先級
- 行内選擇器 > id選擇器 > 類選擇器 > 标簽選擇器
通過标簽名直接查找
/*查找所有的div标簽*/
div {
color: red;
}
類選擇器的關鍵符号為 .
句點符号,是通過class值查找标簽;
/*查找所有含有c1樣式類的标簽*/
.c1 {
color: red;
}
id選擇器關鍵符号位 #
警号,通過id值查找标簽;
/*查找id為d1的标簽*/
#d1 {
color: orange;
}
修改body内所有的标簽;
/*body内所有的标簽*/
* {
color: darkgray;
}
為了區分嵌套标簽之間的關系,我們發明了一種稱呼,如下:
<div>
<p>
<span></span>
</p>
</div>
/*
span是p的兒子 是div的孫子也可以說是div的後代
p是div的兒子也是div後代 是span的父親
div是p的父親是span的爺爺 也可以說是他們的祖先
*/
特征符号是 空格
/*查找div内部所有的後代span*/
div span {
color: red;
}
特征是 >
大于号
/*查找div内部所有的兒子span*/
div > span {
color: greenyellow;
}
特征為 +
加号,這個查找的是同級别下面緊挨着的第一個span
/*查找同級别下面緊挨着的第一個span(不能有其他标簽間隔)*/
div + span {
color: pink;
}
~
/*查找同級别下面所有的span(不需要緊挨着)*/
div ~ span {
color: deeppink;
}
CSS 屬性選擇器通過已經存在的屬性名或屬性值比對元素;
-
表示帶有以 attr 命名的屬性的元素。[attr]
-
表示帶有以 attr 命名的屬性,且屬性值為 value 的元素。[attr=value]
-
表示帶有以 attr 命名的屬性的元素,并且該屬性是一個以空格作為分隔的值清單,其中至少有一個值為 value。[attr~=value]
-
表示帶有以 attr 命名的屬性的元素,屬性值為“value”或是以“value-”為字首("[attr|=value]
"為連字元,Unicode 編碼為 U+002D)開頭。典型的應用場景是用來比對語言簡寫代碼(如 zh-CN,zh-TW 可以用 zh 作為 value)。-
-
表示帶有以 attr 命名的屬性,且屬性值是以 value 開頭的元素。[attr^=value]
-
表示帶有以 attr 命名的屬性,且屬性值是以 value 結尾的元素。[attr$=value]
-
表示帶有以 attr 命名的屬性,且屬性值至少包含一個 value 值的元素。[attr*=value]
-
在屬性選擇器的右方括号前添加一個用空格隔開的字母[attr operator value i]
(或i
),可以在比對屬性值時忽略大小寫(支援 ASCII 字元範圍之内的字母)。I
-
[attr operator value s]
s
),可以在比對屬性值時區分大小寫(支援 ASCII 字元範圍之内的字母)。S
/* 存在title屬性的<a> 元素 */
a[title] {
color: purple;
}
/* 存在href屬性并且屬性值比對"https://example.org"的<a> 元素 */
a[href="https://example.org"] {
color: green;
}
/* 存在href屬性并且屬性值包含"example"的<a> 元素 */
a[href*="example"] {
font-size: 2em;
}
/* 存在href屬性并且屬性值結尾是".org"的<a> 元素 */
a[href$=".org"] {
font-style: italic;
}
/* 存在class屬性并且屬性值包含以空格分隔的"logo"的<a>元素 */
a[class~="logo"] {
padding: 2px;
}
如果存在多個标簽需要調整為同一樣式,那麼使用分組和嵌套可以減少代碼的備援;
比對标簽之間用逗号隔開,标簽與标簽是或的關系;
并列寫可以标簽和标簽、标簽和選擇器、意思就是可以多個相同選擇器或多個不同選擇器都可以并列使用;
/*并列的情況*/
/* 多個相同選擇器并列使用*/
div,span,p { /*查找div或者span或者p*/
color: red;
}
/*多個不同選擇器并列使用*/
div,#d1,.c1 { /*标簽查找div id查找d1 類查找c1*/
color: red;
}
/*不并列的情況*/
/*不并列同樣可以使用組合選擇器*/
.c1 p { /*查找class為c1的後代p标簽*/
color: red;
}
/*直接篩選*/
div#d1 { /*查找id為d1的div标簽*/
color: red;
}
div.c1 { /*查找class為c1的div标簽*/
color: red;
}
CSS 僞類 是添加到選擇器的關鍵字,指定要選擇的元素的特殊狀态。例如, :hover
可被用于在使用者将滑鼠懸停在按鈕上時改變按鈕的顔色。
selector:pseudo-class {
property: value;
}
/*滑鼠懸浮在上面*/
a:hover {
color: orange;
}
/*a标簽預設的顔色會變化 第一次是藍色 後面是紫色*/
input:focus {
background-color: red;
}
/*我們将input框被使用者點選即将錄入資料的過程看成是focus狀态(聚焦狀态)*/
-
:active
-
:any-link
-
:blank
-
:checked
-
(en-US):current
-
:default
-
:defined
-
:dir()
-
:disabled
-
:drop
-
:empty
-
:enabled
-
:first
-
:first-child
-
:first-of-type
-
:fullscreen
-
:future
-
:focus
-
:focus-visible
-
:focus-within
-
:has()
-
:host
-
:host()
-
:host-context()
-
:hover
-
:indeterminate
-
:in-range
-
:invalid
-
:is()
-
:lang()
-
:last-child
-
:last-of-type
-
:left
-
:link
-
:local-link
-
:not()
-
:nth-child()
-
:nth-col()
-
:nth-last-child()
-
:nth-last-col()
-
:nth-last-of-type()
-
:nth-of-type()
-
:only-child
-
:only-of-type
-
:optional
-
:out-of-range
-
:past
-
:placeholder-shown
-
:read-only
-
:read-write
-
:required
-
:right
-
:root
-
:scope
-
:target
-
:target-within
-
:user-invalid
-
:valid
-
:visited
-
:where()
學習CSS的教程 | ||
---|---|---|
類型選擇器 | | |
通配選擇器 | | |
| ||
ID選擇器 | | |
标簽屬性選擇器 | | |
| 僞類 | |
僞元素選擇器 | | 僞元素 |
| 後代運算符 | |
子代選擇器 | | |
相鄰兄弟選擇器 | | 相鄰兄弟 |
通用兄弟選擇器 | | 通用兄弟 |
- 元件 | Element
- Bootstrap
- [轉載網站](CSS選擇器 - 學習 Web 開發 | MDN (mozilla.org))