一、基本選擇器
1、id選擇器
#1、作用:
根據指定的id名稱,在當前界面中找到對應的唯一一個的標簽,然后設定屬性
#2、格式
id名稱 {
屬性:值;
}
#3、注意點:
1、在企業開發中如果僅僅只是為了設定樣式,通常不會使用id,在前端開發中id通常是留給js使用的
2、每個標簽都可以設定唯一一個id,id就相當于人/標簽的身份證,因此在同一界面內id絕不能重復
3、參考id一定要加#
4、id的命名只能由字符、數字、下劃線組成,且不能以數字開頭,更不能是html關鍵字如p,a,img等
id選擇器舉例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>id選擇器</title> <style> #p1 { color: red; } #p2 { color: green; } #p3 { color: blue; } </style> </head> <body> <p id="p1">大多數人的帥,都是浮在表面的,是外表的帥</p> <p id="p2">而我,不僅具備外表帥,內心更是帥了一逼</p> <p id="p3">我就是我,我就是我</p> </body> </html>id選擇器舉例
2、類選擇器
#1、作用:根據指定的類名稱,在當前界面中找到對應的標簽,然后設定屬性
#2、格式:
.類名稱 {
屬性:值;
}
#3、注意點:
1、類名就是專門用來給某個特定的標簽設定樣式的
2、每個標簽都可以設定一個或多個class(空格分隔),class就相當于人/標簽的名稱,因此同一界面內class可以重復
3、參考class一定要加點.
4、類名的命名規則與id的命名規則相同
類選擇器舉例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>id選擇器</title> <style> .p1 { color: red; } .p2 { color: green; } .p3 { color: blue; } </style> </head> <body> <p class="p1">大多數人的帥,都是浮在表面的,是外表的帥</p> <p class="p2">而我,不僅具備外表帥,內心更是帥了一逼</p> <p class="p3">我就是我,我就是我</p> </body> </html> #練習 第一行與第三行的顏色都是紅色 第一行與第二行的字體大小都是50px 第二行與第三行內容有個下劃線 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>id選擇器</title> <style> .p1 { color: red; } .p2 { font-size: 50px; } .p3 { text-decoration: underline; } </style> </head> <body> <p class="p1 p2">第一行內容</p> <p class="p2 p3">第二行內容</p> <p class="p1 p3">第三行內容</p> </body> </html>id選擇器vs類選擇器
3、標簽選擇器
#1、作用:根據指定的標簽名稱,在當前界面中找到所有該名稱的標簽,然后設定屬性
#2、格式:
標簽名稱 {
屬性:值;
}
#3、注意點:
1、只要是HTML的標簽都能當做標簽選擇器
2、標簽選擇器選中的是當前界面中的所有標簽,而不能單獨選中某一標簽
3、標簽選擇器,無論嵌套多少層都能選中
標簽選擇器舉例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>標簽選擇器</title> <style type="text/css"> p { color: red; } </style> </head> <body> <p>美麗的外表下其實隱藏著一顆騷動的心</p> <ul> <li> <ul> <li> <ul> <li> <p>這顆心叫做七巧玲瓏心,男人吃了會流淚,女人吃了會懷孕</p> </li> </ul> </li> </ul> </li> </ul> </body> </html>標簽選擇器舉例
4、通配符選擇器
#1、作用:選擇所有標簽
#2、格式:
* {
屬性:值;
}
#3、注意點:
1、在企業開發中一般不會使用通配符選擇器
理由是:
由于通配符選擇器是設定界面上所有的標簽的屬性,
所以在設定之前會遍歷所有的標簽
如果當前界面上的標簽比較多,那么性能就會比較差
通配符選擇器舉例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>通配符選擇器</title> <style type="text/css"> * { color: red; } </style> </head> <body> <h1 >我是標題</h1> <p >我是段落</p> <a href="#">我是超鏈接</a> </body> </html>通配符選擇器舉例
二、 組合選擇器
1、后代選擇器
#1、作用:找到指定標簽的所有后代(兒子,孫子,重孫子、、、)標簽,設定屬性
#2、格式:
標簽名1 xxx {
屬性:值;
}
#3、注意:
1、后代選擇器必須用空格隔開
2、后代不僅僅是兒子,也包括孫子、重孫子
3、后代選擇器不僅僅可以使用標簽名稱,還可以使用其他選擇器比如id或class
4、后代選擇器可以通過空格一直延續下去
后代選擇器舉例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>后代選擇器</title> <style type="text/css"> div p { color: red; } #id1 li p { font-size: 50px; } div ul li a { font-size: 100px; color: green; } </style> </head> <body> <p>我是body下的段落1</p> <!--如果想為div內所有標簽都設定屬性,無論用id還是class都不合理,因為當div內的標簽過多,我們無法加那么多id或者class--> <div id="id1" class="part1"> <p>我是div下的段落1</p> <p>我是div下的段落2</p> <ul> <li class="aaa"> <p class="ccc">我是ul>li下的段落1</p> <p class="ddd">我是ul>li下的段落</p> <a href="">點我啊1</a> </li> <li> <a href="#">點我啊2</a> </li> </ul> </div> <p>我是body下的段落2</p> </body> </html>后代選擇器舉例
2、子元素選擇器
#1、作用:找到制定標簽的所有特定的直接子元素,然后設定屬性
#2、格式:
標簽名1>標簽名2 {
屬性:值;
}
先找到名稱叫做"標簽名稱1"的標簽,然后在這個標簽中查找所有直接子元素名稱叫做"標簽名稱2"的元素
#3、注意:
1、子元素選擇器之間需要用>符號鏈接,并且不能有空格
比如div >p會找div標簽的所有后代標簽,標簽名為">p"
2、子元素選擇器只會查找兒子,不會查找其他嵌套的標簽
3、子元素選擇器不僅可以用標簽名稱,還可以使用其他選擇器,比如id或class
4、子元素選擇器可以通過>符號一直延續下去
子元素選擇器
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>后代選擇器</title> <style type="text/css"> body>p { color: green; } div>p { color: red; } .aaa>a { font-size: 100px; } div>ul>li>.ddd { color: blue; } </style> </head> <body> <p>我是body下的段落1</p> <!--如果想為div內所有標簽都設定屬性,無論用id還是class都不合理,因為當div內的標簽過多,我們無法加那么多id或者class--> <div id="id1" class="part1"> <p>我是div下的段落1</p> <p>我是div下的段落2</p> <ul> <li class="aaa"> <p class="ccc">我是ul>li下的段落1</p> <p class="ddd">我是ul>li下的段落2</p> <a href="">點我啊1</a> </li> <li> <a href="#">點我啊2</a> </li> </ul> </div> <p>我是body下的段落2</p> </body> </html>后代選擇器vs子元素選擇器
3、毗鄰選擇器,CSS2推出(又稱相鄰兄弟選擇器)
#1、作用:選定緊跟其后的那個標簽
#2、格式
選擇器1+選擇器2 {
屬性:值;
}
#3、注意點:
1、毗鄰選擇器必須通過+號鏈接
2、毗鄰選擇器只能選中緊跟其后的那個標簽,不能選中被隔開的標簽
4、弟弟選擇器,CSS3推出(又稱通用兄弟選擇器)
#1、作用:給指定選擇器后面的所有選擇器中的所有標簽設定屬性
#2、格式:
選擇器1~選擇器2 {
屬性:值;
}
#3、注意點:
1、通用兄弟選擇器必須用~來鏈接
2、通用兄弟選擇器選中的是指選擇器后面的某個選擇器選中的所有標簽
無論有沒有被隔開,都可以被選中
兄弟選擇器舉例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>后代選擇器</title> <style type="text/css"> h1+p { font-size: 50px; } h1~p { color: red; } </style> </head> <body> <h1 >我是標題1</h1> <a href="">有了這個標簽,p就不再是緊跟h1標簽了,但通用兄弟選擇器仍然能選中</a> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> <h1>我是標題2</h1> <p>我是段落</p> </body> </html>兄弟選擇器舉例
三、 交集選擇器 & 并集選擇器
1、交集選擇器(不常用)
#1、作用:給所有選擇器選中的標簽中,相交的那部分標簽設定屬性
#2、格式:
選擇器1選擇器2 {
屬性:值;
}
#3、注意:
1、選擇器與選擇器之間沒有任何鏈接符號
2、選擇器可以使用標簽名稱、id、class
3、交集選擇器在企業開發中并不多見,了解即可
因為:p.part1 完全可以用.part1取代
交集選擇器舉例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>后代選擇器</title> <style type="text/css"> p.part1 { color: red; } p#p1{ font-size: 100px; } </style> </head> <body> <p class="part1">我是段落</p> <p id="p1">我是段落</p> <p class="part1">我是段落</p> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> </body> </html>交集選擇器舉例
2、并集選擇器
#1、作用:給所有滿足條件的標簽設定屬性
#2、格式:
選擇器1,選擇器2 {
屬性:值;
}
#3、注意:
1、選擇器與選擇器之間必須用逗號來鏈接
2、選擇器可以使用標簽名稱、id、class
并集選擇器舉例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>后代選擇器</title> <style type="text/css"> .part1,h1,a { color: red; } </style> </head> <body> <h1>哈哈啊</h1> <p class="part1">我是段落</p> <p id="p1">我是段落</p> <p class="part1">我是段落</p> <a href="#">我是我</a> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> </body> </html>并集選擇器
四 、序列選擇器
#1、作用:
css3中新推出的選擇器中,最具代表性的的9個,又稱為序列選擇器,過去的選擇器中要選中某個必須加id或class,學習了這9個后,不用加id或class,想選中同級別的第幾個就選第幾個
#2、格式
#2.1 同級別
:first-child p:first-child 同級別的第一個
:last-child p:last-child 同級別的最后一個
:nth-child(n) 同級別的第n個
:nth-last-child(n) 同級別的倒數第n個
#2.2 同級別同型別
:first-of-type 同級別同型別的第一個
:last-of-type 同級別同型別的最后一個
:nth-of-type(n) 同級別同型別的第n個
:nth-last-of-type(n) 同級別同型別的倒數第n個
#2.3 其他
:only-of-type 同型別的唯一一個
:only-child 同級別的唯一一個
同級別 舉例
#1、同級別的第一個 #1.1 示范一 p:first-child { color: red; } 代表:同級別的第一個,并且第一個要求是一個p標簽 <p>我是段落1</p> <p>我是段落2</p> <p>我是段落3</p> <p>我是段落4</p> <p>我是段落5</p> <div> <p>我是段落6</p> </div> 這樣的話第一個p和div中的第一個p都變成紅色, #1.2 示范二 p:first-child { color: red; } 代表:同級別的第一個,并且第一個要求是一個p標簽 <h1>w我是標題</h1> <p>我是段落1</p> <p>我是段落2</p> <p>我是段落3</p> <p>我是段落4</p> <p>我是段落5</p> <div> <p>我是段落6</p> </div> 這樣的話只有div中的第一個p變紅,因為在有在div內同一級別的第一個才是p 注意點: :fist-child就是第一個孩子,不區分型別 #2、同級別的最后一個 p:last-child { color: red; } 代表:同級別的最后一個,并且最后一個要求是一個p標簽 <h1>我是標題</h1> <p>我是段落1</p> <p>我是段落2</p> <p>我是段落3</p> <p>我是段落4</p> <p>我是段落5</p> <div> <p>我是段落6</p> </div> <p>我是段落7</p> 這樣的話只有6跟7都變紅 #3、同級別的第n個 p:nth-child(3) { color: red; } 代表:同級別的第3個,并且第3個要求是一個p標簽 <h1>我是標題</h1> <p>我是段落1</p> <p>我是段落2</p> <p>我是段落3</p> <p>我是段落4</p> <p>我是段落5</p> <div> <p>我是段落6.1</p> <p>我是段落6.2</p> <h1>我是標題</h1> </div> <p>我是段落7</p> 這樣的話只有“我是段落2”變紅 #4、同級別的倒數第n個 p:nth-last-child(3) { color: red; } 代表:同級別的倒數第3個,并且第3個要求是一個p標簽 <h1>我是標題</h1> <p>我是段落1</p> <p>我是段落2</p> <p>我是段落3</p> <p>我是段落4</p> <p>我是段落5</p> <div> <p>我是段落6.1</p> <p>我是段落6.2</p> <h1>我是標題</h1> </div> <p>我是段落7</p> 這樣的話只有“我是段落6.1”和“我是段落5”被選中舉例:同級別
同級同型別 舉例
<h1>我是標題</h1> <p>我是段落1</p> <p>我是段落2</p> <p>我是段落3</p> <p>我是段落4</p> <p>我是段落5</p> <div> <p>我是段落6.1</p> <p>我是段落6.2</p> <h1>我是標題</h1> </div> <p>我是段落7</p> #1、同級別同型別的第一個 p:first-of-type { color: red; } “我是段落1”和“我是段落6.1”被選中 #2、同級別同型別的最后一個 p:last-of-type { color: red; } “我是段落7”和“我是段落6.2”被選中 #3、同級別同型別的第n個 p:nth-of-type(2) { color: red; } “我是段落2”和“我是段落6.2”被選中 #4、同級別同型別的倒數第n個 p:nth-last-of-type(2) { color: red; } “我是段落5”和“我是段落6.1”被選中舉例:同級同型別
其他 舉例
#1、同型別的唯一一個 p:only-of-type { color: red; } <h1>我是標題</h1> <div> <p>我是段落6.1</p> <p>我是段落6.2</p> <h1>我是標題</h1> </div> <p>我是段落7</p> “我是段落7“被選中 #2、同級別的唯一一個 p:only-child { color: red; } <h1>我是標題</h1> <div> <p>我是段落6.1</p> </div> <p>我是段落7</p> “我是段落6.1”被選中示例:其他
五、 屬性選擇器
#1、作用:根據指定的屬性名稱找到對應的標簽,然后設定屬性
該選擇器,最常用于input標簽
#2、格式與具體用法:
[屬性名]
其他選擇器[屬性名]
[屬性名=值]
[屬性名^=值]
[屬性名$=值]
[屬性名*=值]
例1:找到所有包含id屬性的標簽
[id]
例2:找到所有包含id屬性的p標簽
p[id]
例3:找到所有class屬性值為part1的p標簽
p[]
例4:找到所有href屬性值以https開頭的a標簽
a[href^="https"]
例5:找到所有src屬性值以png結果的img標簽
img[src$="png"]
例6:找到所有class屬性值中包含part2的標簽
[class*="part"]
屬性選擇器 舉例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>后代選擇器</title> <style type="text/css"> [id] { color: red; } p[id] { font-size: 30px; } p[] { color: green; } a[href^="https"] { font-size: 50px; } img[src$="png"] { width: 100px; } [class*="part"] { text-decoration: line-through; } </style> </head> <body> <h1 id="id1">哈哈啊</h1> <p id="id2">我是段落</p> <p class="part1">我是段落</p> <p class="xxx part2 yyy">我是段落</p> <a href="#">我是我</a> <a href="http://www.baidu.com">http://www.baidu.com</a> <a href="https://www.baidu.com">https://www.baidu.com</a> <img src="1.png" alt=""> <img src="2.jpg" alt=""> <p>我是段落</p> <p>我是段落</p> </body> </html>舉例 :屬性選擇器
六 、偽類選擇器
#1、作用:常用的幾種偽類選擇器,
#1.1 沒有訪問的超鏈接a標簽樣式:
a:link {
color: blue;
}
#1.2 訪問過的超鏈接a標簽樣式:
a:visited {
color: gray;
}
#1.3 滑鼠懸浮在元素上應用樣式:
a:hover {
background-color: #eee;
}
#1.4 滑鼠點擊瞬間的樣式:
a:active {
color: green;
}
#1.5 input輸入框獲取焦點時樣式:
input:focus {
outline: none;
background-color: #eee;
}
#2 注意:
1 a標簽的偽類選擇器可以單獨出現,也可以一起出現
2 a標簽的偽類選擇器如果一起出現,有嚴格的順序要求,否則失效
link,visited,hover,active
3 hover是所有其他標簽都可以使用的
4 focus只給input標簽使用
偽類選擇器 舉例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>后代選擇器</title> <style type="text/css"> a:link { color: #cccccc; } a:visited { color: #55BBBB; } a:hover { color: green; } a:active { color: red; } input:hover { outline: none; background-color: #cccccc; } </style> </head> <body> <a href="https://www.baidu.com/a/b/c/d.html">點擊我</a> <input type="text"> </body> </html>舉例:偽類選擇器
七 、偽元素選擇器
#1、常用的偽元素,
#1.1 first-letter:雜志類文章首字母樣式調整
例如:
p:first-letter {
font-size: 48px;
}
#1.2 before
用于在元素的內容前面插入新內容,
例如:
p:before {
content: "*";
color: red;
}
在所有p標簽的內容前面加上一個紅色的*,
#1.3 after
用于在元素的內容后面插入新內容,
例如:
p:after {
content: "?";
color: red;
}
在所有p標簽的內容后面加上一個藍色的?,
偽元素選擇器 舉例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>后代選擇器</title> <style type="text/css"> p:first-letter { font-size: 50px; } /*兩個冒號與一個是一樣的,老版本用的是一個冒號,考慮到兼容性推薦使用一個冒號*/ a::after { content: "?"; color: red; } a:before { content: "-"; color: green; } </style> </head> <body> <p>英雄不問出處,流氓不論歲數</p> <a href="#" class="help">老男孩是干什么的</a> <a href="#" class="help">老男孩是干什么的</a> <a href="#" class="help">老男孩是干什么的</a> </body> </html>舉例:偽元素選擇器
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/61018.html
標籤:Html/Css
