這篇文章主要介紹了CSS中Selector有什么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)公司從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目成都網(wǎng)站建設、成都網(wǎng)站設計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元寧海做網(wǎng)站,已為上家服務,為寧海各地企業(yè)和個人服務,聯(lián)系電話:18980820575
CSS1 中定義的選擇器
類型選擇器
用于選擇指定類型的元素(其實他就是 html 標簽選擇器),常見用法如下:
body {
/*對 body 元素定義樣式*/
}
body,div {
/*同時選擇多種標簽元素*/
}ID 選擇器
用于選擇指定 ID 的 html 元素,常見使用方法如下:
<div id="nav">
</div>
<style>
#nav {
/*定義 ID 為 nav 的元素的樣式*/
}
</style>因為 CSS 的渲染順序是從右往左進行渲染的,而 ID 則是全唯一的,那么就可以省略掉前面的類型選擇器。
類選擇器
用于選擇指定類名的 html 元素,常見使用方法如下:
<div class="nav">
</div>
<style>
.nav {
/*定義 class 為 nav 的元素的樣式*/
}
</style>包含選擇器
用于選擇層級嵌套的元素,常見使用方法如下:
<div class="nav">
<div class="nav-tools">
</div>
</div>
<div class="nav">
<div>
<div class="nav-tools">
</div>
</div>
</div>
<style>
.nav .nav-tools {
/*定義元素的父級元素 class 包含 nav,且子元素class 包含 nav-tools 的元素*/
}
</style>需要注意的是:包含選擇器不關心層級,只要后面的選擇器是被包含在前一個元素中的即可。如上述例子,兩個 nav-tools 都會被選擇器選中!
偽類選擇器
:link——鏈接偽類選擇器
用于定義鏈接未被訪問狀態(tài)時的樣式,常見使用方法如下:
<div class="nav">
<div class="nav-tools">
<ul>
<li><a href="#"></a></li>
</ul>
</div>
</div>
<style>
a:link {
text-decoration: none;
color: blue;
}
</style>:visited——鏈接偽類選擇器
用于定義已被訪問的鏈接樣式,常見使用方法如下:
<style>
a:visited {
text-decoration: none;
color: red;
}
</style>:active——用戶操作偽類選擇器
用于定義被激活的元素樣式,常見使用方法如下:
<style>
a:active {
text-decoration: none;
color: green;
}
</style>:hover——用戶操作偽類選擇器
用于定義鼠標經(jīng)過元素是的樣式,常見使用方法如下:
<style>
a:hover {
text-decoration: none;
background-color: #F4F4F4;
}
</style>:focus——用戶操作偽類選擇器
用于定義獲得焦點的元素樣式,常見使用方法如下:
<style>
input:focus {
text-decoration: none;
background-color: #F4F4F4;
}
</style>::first-line
用于定義元素內(nèi)第一行文本的樣式,常見使用方法如下:
<div class="doc">
<p>層疊樣式表(英文全稱:Cascading Style Sheets)是一種用來表現(xiàn)HTML(標準通用標記語言的一個應用)或XML(標準通用標記語言的一個子集)等文件樣式的計算機語言。CSS不僅可以靜態(tài)地修飾網(wǎng)頁,還可以配合各種腳本語言動態(tài)地對網(wǎng)頁各元素進行格式化。</p>
</div>
<style>
.doc {
width: 360px;
}
.doc>p::first-line {
color: red;
}
</style>::=first-letter
用于定義元素內(nèi)第一個字符的樣式,常見使用方式如下:
<style>
.doc {
width: 360px;
}
.doc>p::first-letter {
font-size: 2em;
color: red;
}
</style>CSS2中定義的選擇器
*——通配選擇器
用于定義 DOM 中所有元素的共同樣式,常見使用方法如下:
<div class="nav">
<div>
<div class="nav-tools">
</div>
</div>
</div>
<style>
.nav * {
margin: 0;
}
</style>如果要重置默認樣式的話,不建議使用通配選擇器
[attribute]——屬性選擇器
用于定義元素包含屬性為attribute的元素的樣式,常見使用方法如下:
<div class="nav">
<div>
<div class="nav-tools">
<ul>
<li active>Menu</li>
<li>Index</li>
</ul>
</div>
</div>
</div>
<style>
li[active] {
color: red;
}
</style>[attribute=“value”]——屬性選擇器
用于定義元素屬性的值為指定的值樣式,常見使用方法如下:
<div class="nav">
<div>
<div class="nav-tools">
<ul>
<li active="active">Menu</li>
<li active>Index</li>
</ul>
</div>
</div>
</div>
<style>
li[active="active"] {
color: red;
}
</style>[attribute~="value"]——屬性選擇器
用于定義屬性中包含指定值且以空格來分隔屬性值得元素,常見使用方法如下:
<div class="nav">
<div>
<div class="nav-tools">
<ul>
<li active="test active">Menu</li>
<li active="active-test">Index</li>
</ul>
</div>
</div>
</div>
<style>
li[active~="active"] {
color: red;
}
</style>如上所示,只有第一個 li 的前景色會被定義為紅色!
[attribute|="value"]——屬性選擇器
用于定義屬性中包含指定值且以連字符(-)鏈接的屬性值,常見使用方法如下:
<div class="nav">
<div>
<div class="nav-tools">
<ul>
<li active="test active">Menu</li>
<li active="active-test">Index</li>
</ul>
</div>
</div>
</div>
<style>
li[active|="active"] {
color: red;
}
</style>如上所示:只有第二個 li 的前景色會被定義為紅色!
:first-child——結構偽類選擇器
用于定義元素的第一個元素的樣式,常見使用方式如下:
<div class="nav">
<div>
<div class="nav-tools">
<ul>
<li active="test active">Menu</li>
<li active="active-test">Index</li>
</ul>
</div>
</div>
</div>
<style>
li:first-child {
color: red;
}
</style>注意 :first-child 是作用于同級,且相同標簽的第一個元素。如上所示,如果要定義第一個 li 的樣式,那么久需要使用 li:first-child,而不是 ul:first-child!
:lang(en)
用于定義屬性為 lang=“en” 的元素樣式,常見使用方法如下:
<div>
<p lang="en">Hello World</p>
</div>
<style>
p:lang(en) {
color: red;
}
</style>::before
用于定義元素之前的內(nèi)容和樣式,常見使用方法如下:
<div>
<a>World</a>
</div>
<style>
a::before {
content: "Hello ";
}
</style>::after
用于定義元素之后的內(nèi)容和樣式,常見使用方法如下:
<div>
<a>Hello</a>
</div>
<style>
a::after {
content: "World";
}
</style>div > p
用于定義元素的第一級子元素的樣式,常見方法使用如下:
<div class="nav">
<div>
<div class="nav-tools">
<ul>
<li active="test active">Menu</li>
<li active="active-test">Index</li>
</ul>
</div>
</div>
</div>
<style>
.nav-tools > ul {
background-color: red;
}
.nav-tools > li {
/*這個不會生效,因為 li 不是 ul 的直接子元素*/
}
</style>h2 + p
用于定義元素相鄰的元素樣式,常見使用方法如下:
<div>
<h2>CSS</h2>
<p>層疊樣式表(英文全稱:Cascading Style Sheets)是一種用來表現(xiàn)HTML(標準通用標記語言的一個應用)或XML(標準通用標記語言的一個子集)等文件樣式的計算機語言。</p>
</div>
<style>
h2 + p {
color: red;
}
</style>CSS3 新增屬性選擇器
[foo^="bar"]
用于定義元素屬性以 bar 開頭的元素的樣式
<div>
<a href="http://www.betterde.com">Betterde Inc.</a>
<a href="https://www.betterde.com">Betterde Inc.</a>
</div>
<style>
a[href^="https"] {
color:green;
}
</style>如上所示,標記 https 鏈接為綠色。
[foo$="bar"]
用于定義元素屬性以 bar 結尾的元素的樣式
<div>
<a href="/upload/otherpic69/8108.png">logo.png</a>
<a href="http://www.betterde.com/style.css">style.css</a>
<a href="http://www.betterde.com/main.js">main.js</a>
</div>
<style>
a[href$="png"] {
background: url(system/filetype/png.png) no-repeat left center;
padding-left: 18px;
}
a[href$="css"] {
background: url(system/filetype/css.png) no-repeat left center;
padding-left: 18px;
}
a[href$="js"] {
background: url(system/filetype/js.png) no-repeat left center;
padding-left: 18px;
}
</style>如上所示,識別超鏈接的所鏈接的文件格式,并在前面添加文件類型圖標!
[foo*="bar"]
用于定義元素屬性中包含 bar 的元素的樣式,需要注意的是,這里是包含,也就是說無論是什么樣的組合,只要屬性值還有這bar 這三個連續(xù)字母的都會被選中!
<div>
<h2 class="title big full-right"></h2>
<h3 class="title big full-right"></h2>
<h2 class="big-title"></h2>
</div>
<style>
a[class*="title"] {
color: red;
}
</style>如上所示:div 內(nèi)的三個元素都將會被渲染為紅色字體!
雖然 CSS3 中任然保留 CSS2 中定義的屬性選擇器,但是建議使用 CSS3 的屬性選擇器來替代!
結構偽類選擇器
:root
用于定義 html 標簽元素的樣式
:nth-child(n)
用于定義子元素的樣式,n 表示第幾個子元素。n 可以是數(shù)字,或關鍵字odd、even或公式。常見使用方法如下:
<table>
<tbody>
<tr>
<td>name</td>
<td>gender</td>
<td>age</td>
</tr>
<tr>
<td>George</td>
<td>Male</td>
<td>23</td>
</tr>
<tr>
<td>Kevin</td>
<td>Male</td>
<td>28</td>
</tr>
<tr>
<td>Angule</td>
<td>Male</td>
<td>23</td>
</tr>
</tbody>
</table>
<style>
tr:nth-child(even) {
background-color: red;
}
</style>:nth-last-child(n)
與 :nth-child(n)用法相同,只是排序方式是從后往前!
:nth-of-type(n)
用于定義相同元素的第 n 個元素的樣式,常見使用方法如下:
<table>
<tbody>
<tr>
<td>name</td>
<td>gender</td>
<td>age</td>
</tr>
<tr>
<td>George</td>
<td>Male</td>
<td>23</td>
</tr>
<tr>
<td>Kevin</td>
<td>Male</td>
<td>28</td>
</tr>
<tr>
<td>Angule</td>
<td>Male</td>
<td>23</td>
</tr>
</tbody>
</table>
<style>
tr:nth-of-type(even) {
background-color: red;
}
</style>:nth-last-of-type(n)
與 :nth-of-type(n)用法相同,只是排序方式是從后往前!
:last-child
用于定義最后一個元素的樣式,常見使用方法如下:
<table>
<tbody>
<tr>
<td>name</td>
<td>gender</td>
<td>age</td>
</tr>
<tr>
<td>George</td>
<td>Male</td>
<td>23</td>
</tr>
<tr>
<td>Kevin</td>
<td>Male</td>
<td>28</td>
</tr>
<tr>
<td>Angule</td>
<td>Male</td>
<td>23</td>
</tr>
</tbody>
</table>
<style>
tr:last-child {
background-color: red;
}
</style>:first-of-type
定義第一個元素相同類型元素的樣式,與 :nth-of-type(1) 效果一樣
:last-of-type
定義最后一個元素相同類型元素的樣式,常見使用方法如下:
<table>
<tbody>
<tr>
<td>name</td>
<td>gender</td>
<td>age</td>
</tr>
<tr>
<td>George</td>
<td>Male</td>
<td>23</td>
</tr>
<tr>
<td>Kevin</td>
<td>Male</td>
<td>28</td>
</tr>
<tr>
<td>Angule</td>
<td>Male</td>
<td>23</td>
</tr>
</tbody>
</table>
<style>
tr:last-of-type {
background-color: red;
}
</style>:only-child
用于定義子元素只有一個且與制定元素標簽相同,常見使用方法如下:
<div>
<h2>Hello</h2>
</div>
<style>
h2:only-child {
/*如果 div 中還有其他任何元素,則h2不會按照該選擇器中定義的樣式渲染*/
}
</style>:only-of-type
用于定義只包含一個制定的標簽元素的樣式,常見使用方法如下:
<div>
<h2>Hello</h2>
</div>
<style>
h2:only-of-type {
/*如果 div 中還有其他任何元素,則h2不會按照該選擇器中定義的樣式渲染*/
}
</style>:empty
用于定義,一個元素中沒有包含任何子元素的樣式,常見使用方法如下:
<div>
</div>
<style>
div:empty {
display: none;
}
</style>CSS3 新增的其他選擇器
E ~ F
用于定義兄弟元素的樣式,常見使用方法如下:
<div>
<p>Hello</p>
</div>
<p>CSS</p>
<style>
div ~ p {
color: red;
}
</style>div 元素中的 p 不會被渲染為紅色字體,只有跟 div 是同級的 p 才會被渲染為紅色!
:not(s)
用于定義指定元素,并且過濾 s 所指定的選擇器元素,常見使用方法如下:
<div>
<p class="red">Hello</p>
<p class="blue">World</p>
<p>Welcome!</p>
</div>
<style>
p:not(.red) {
color: blue;
}
</style>注意:s 是一個簡單的結構選擇器,不能使用復合選擇器,該選擇器只匹配第一個復合條件的元素。如上所示,最后一個 p 不會被渲染為藍色!
:target
用于定義被訪問的錨鏈樣式,常見使用方法如下:
<div>
<div id="text-one">
<p>這是第一個文本段</p>
</div>
<div id="text-two">
<p>這是第二個文本段</p>
</div>
</div>
<style>
div:target {
color: red;
}
</style>注意:當我們激活錨鏈時(url中包含 #text-one 或 #text-two),對應的 div 內(nèi)的元素字體會被渲染為紅色!
CSS3 UI 元素狀態(tài)偽類選擇器
:enabled
用于定義元素的 enabled 時的樣式,常見使用方式如下:
<div>
<input type="text">
</div>
<style>
input:enabled {
background: #ffff00;
}
</style>注意:元素默認狀態(tài)為 enabled
:disabled
用于定義元素處于禁用狀態(tài)時的樣式,常見使用方法如下:
<div>
<input type="text" disabled="disabled"/>
</div>
<style>
input:disabled {
background: #dddddd;
}
</style>:checked
用于定義元素被選中時的樣式,常見使用方式如下:
<div>
<form>
<input type="checkbox" />
</form>
</div>
<style>
input:checked {
color: green;
}
</style>感謝你能夠認真閱讀完這篇文章,希望小編分享的“CSS中Selector有什么用”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關知識等著你來學習!
當前題目:CSS中Selector有什么用
網(wǎng)站URL:http://www.jbt999.com/article0/pdggoo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設、關鍵詞優(yōu)化、網(wǎng)站策劃、品牌網(wǎng)站設計、定制網(wǎng)站、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)