1济欢、元素選擇器
- 又稱為類型選擇器(type selector)
- 文檔的元素就是最基本的選擇器达布。
- 設(shè)置 HTML 的樣式,選擇器通常將是某個(gè) HTML 元素量九,比如 p仿耽、h1获搏、em怖喻、a,甚至可以是 html 本身充蓝。
<style>
html {color:black;}
h1 {color:blue;}
h2 {color:silver;}
</style>
2隧枫、ID選擇器
- 允許以一種獨(dú)立于文檔元素的方式來(lái)指定樣式喉磁。
- 前面有一個(gè) # 號(hào) -,也稱為棋盤(pán)號(hào)或井號(hào)官脓。
<head>
<meta charset="UTF-8">
<title>選擇器</title>
<style>
#identity1{
font-size: 100px;
color: red;
}
#identity2{
font-weight: bold;
color: green;
}
</style>
</head>
<body>
<p1 id="identity1">哈哈哈哈哈哈</p1>
<p2 id="identity2">呵呵呵呵呵呵</p2>
</body>
- 每個(gè)元素都可以設(shè)置id屬性
- 同一個(gè)界面id的名稱不能重復(fù)
- 編寫(xiě)元素屬性時(shí)候id前面必須加上要加
#
- id的名稱只能由字母/數(shù)據(jù)协怒、下劃線組成
- id名稱不能以數(shù)字開(kāi)頭
- id不能是html的標(biāo)簽名稱:
a
h1
img
input
- id前段開(kāi)發(fā)一般都是留給js使用,不用于設(shè)置樣式
3确买、類選擇器
- 類選擇器允許以一種獨(dú)立于文檔元素的方式來(lái)指定樣式斤讥。
- 根據(jù)類名稱找到對(duì)應(yīng)的標(biāo)簽,設(shè)置屬性指定樣式湾趾。
<head>
<meta charset="UTF-8">
<title>類選擇器-例1</title>
<style>
.pp{
font-family: italic;
color: darkmagenta;
}
</style>
</head>
<body>
<p3 class="pp">嘿嘿呵呵呵呵</p3>
</body>
-
class
名稱可以重復(fù) - 編寫(xiě)時(shí)要加上
.
- 命名規(guī)范跟id選擇器一樣
- 專門(mén)給標(biāo)簽設(shè)置芭商,這個(gè)跟ID選擇器不一樣
- 可以同時(shí)綁定多個(gè)標(biāo)簽
- 多類選擇器
- 例如:給一個(gè)特定的元素同時(shí)標(biāo)記為重(important)和警告(warning)
<head>
<meta charset="UTF-8">
<title>類選擇器-例1</title>
<style>
.important{
color: darkmagenta;
}
.warning{
color: green;
}
.important.warning{
color: beige;
}
</style>
</head>
<body>
<p class="important warning">嘿嘿呵呵呵呵</p>
<p class="warning">哈哈哈哈哈哈哈</p>
<p class="important">哈哈哈哈哈哈哈</p>
-
class=“類名1”“類名3”“類名3”...
可以放n個(gè)類名 -
important
warning
兩個(gè)詞的順序無(wú)關(guān)緊要,寫(xiě)成warning important
也可以搀缠。
<head>
<meta charset="UTF-8">
<title>兩個(gè)類選擇器</title>
<style>
.colorR{
color: red;
}
.size30{
font-size: 30px;
}
.line{
text-decoration: underline;
}
</style>
</head>
<body>
<p class="colorR size30">第一個(gè)</p>
<p class="size30 line">第二個(gè)</p>
<p class="colorR line">第三個(gè)</p>
</body>
4铛楣、后代選擇器
- 后代選擇器(descendant selector)又稱為包含選擇器。
<head>
<meta charset="UTF-8">
<title>后代選擇器</title>
<style>
div p1 em{
color: yellow;
}
</style>
</head>
<body>
<div>
<P1>赤橙<em>黃</em>綠青藍(lán)紫-黃出來(lái)</P1>
<p2></em>赤</em>橙黃綠青藍(lán)紫-赤出來(lái)</p2>
</div>
</body>
- 去
div
找到p1
再找到em
- 兩個(gè)元素之間的層次間隔可以是無(wú)限的
<ul>
<li>List item 1
<ol>
<li>List item 1-1</li>
<li>List item 1-2</li>
<li>List item 1-3
<ol>
<li>List item 1-3-1</li>
<li>List item <em>1-3-2</em></li>
<li>List item 1-3-3</li>
</ol>
</li>
<li>List item 1-4</li>
</ol>
</li>
<li>List item 2</li>
<li>List item 3</li>
</ul>
5艺普、子元素選擇器
子元素選擇器(Child selector),只選擇某個(gè)元素的子元素歧譬,而不是選擇任意的后代元素,只要子一代的子元素瑰步。
<head>
<meta charset="UTF-8">
<title>子元素選擇器</title>
<style>
p1 >redR{
color: red;
}
</style>
</head>
<body>
<p1><redR>子輩紅一代</redR>---孫輩紅二代----曾孫輩紅三代</p1>
<p1><em>子輩紅一代---</redR>孫輩紅二代</redR></em>----曾孫輩紅三代</p1>
</body>
子選擇器使用了大于號(hào)(子結(jié)合符,兩邊可以有空白符缩焦,這是可選的。因此袁滥,以下寫(xiě)法都沒(méi)有問(wèn)題:
p1 > redR
p1> redR
p1 >redR
p1>redR
從右向左讀,選擇器 p1 > redR 可以解釋為“選擇作為 p1 元素子元素的所有 redR 元素”题翻。
結(jié)合后代選擇器和子選擇器
table1.company1 tdh > pp
- 上面的選擇器會(huì)選擇作為 td 元素子元素的所有 p 元素,這個(gè)
tdh
元素本身從table1
元素繼承嵌赠,該table1
元素有一個(gè)包含company1
的class
屬性。如下:
<head>
<meta charset="UTF-8">
<title>子元素選擇器</title>
<style>
table1.company1 tdh > pp{
color: red;
}
</style>
</head>
<body>
<table1 class="company1">黃色<tdh>黑色<pp>紅紅紅紅</pp>白色</tdh>紫色</table1>
<table1>黃色<tdh1>黑色<pp>紅紅紅紅</pp>白色</tdh1>紫色</table1>
<table1 class="company1"><pp>黃色<tdh>黑色紅紅紅紅白色</tdh></pp>紫色</table1>
</body>
6猾普、相鄰兄弟選擇器
- 相鄰兄弟選擇器(Adjacent sibling selector)可選擇緊接在另一元素后的元素,且二者有相同父元素本谜。
- 如果需要選擇緊接在另一個(gè)元素后的元素初家,而且二者有相同的父元素,可以使用相鄰兄弟選擇器
- 與子結(jié)合符一樣,相鄰兄弟結(jié)合符旁邊可以有空白符溜在。
h1 + p {margin-top:50px;}
- 這個(gè)選擇器讀作:“選擇緊接在 h1 元素后出現(xiàn)的段落陌知,h1 和 p 元素?fù)碛泄餐母冈亍保黾泳o接在 h1 元素后出現(xiàn)的段落的上邊距掖肋。
<style>
h1+p{
color: red;
}
<h1>呵呵呵呵</h1>
<p>嘿嘿嘿嘿嘿嘿</p>
<p>嘿嘿嘿嘿嘿嘿</p>
<h1>哈哈哈哈哈哈</h1>
<p>嘿嘿嘿嘿嘿嘿2</p>
<p>嘿嘿嘿嘿嘿嘿2</p>
- 緊跟
<h1>
后面的第一個(gè)<p>
的都是紅色仆葡,此處改成把第二個(gè)<h1>
改成<h2>
則不行
h3~p{
color: blueviolet;
}
<h3>哼哼哼哼3</h3>
<a href="#">我是超鏈接</a>
<p>嘿嘿嘿嘿嘿嘿3</p>
<p>嘿嘿嘿嘿嘿嘿3</p>
<h4>哼哼哼哼4</h4>
<p>嘿嘿嘿嘿嘿嘿4</p>
<p>嘿嘿嘿嘿嘿嘿4</p>
- 此處只要是
<h3>
后面只要是<p>
都會(huì)被選擇
7、序選擇器
<head>
<meta charset="UTF-8">
<title>序選擇器</title>
<style>
p:first-child{
color: red;
}
</style>
</head>
<body>
<p>哈哈哈哈哈1</p><!--第一級(jí)別-->
<p>哈哈哈哈哈2</p>
<div>
<p>哈哈哈哈哈3</p><!--div的第一級(jí)別-->
<p>哈哈哈哈哈4</p>
<p>哈哈哈哈哈5</p>
</div>
- p:first-child 選擇屬于父元素的第一個(gè)子元素的每個(gè) <p> 元素志笼。
6沿盅、偽元素選擇器
- 給指定標(biāo)簽內(nèi)容前面添加一個(gè)子元素
標(biāo)簽名稱::before{
屬性名稱:值;
}
- 給指定標(biāo)簽內(nèi)容后面添加一個(gè)子元素
標(biāo)簽名稱::after{
屬性名稱:值;
} -
visibility:hidden
隱藏添加的子元素 -
display:block
指定添加的子元素顯示模式
0241D7FF-2FA2-49EF-AD55-7B9807B6F55A.png