您好,登錄后才能下訂單哦!
這篇文章主要講解了“css3中偽元素和偽類選擇器的詳細介紹”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“css3中偽元素和偽類選擇器的詳細介紹”吧!
偽類選擇器:CSS中已經定義好的選擇器,不能隨便取名
常用的偽類選擇器是使用在a元素上的幾種,`如a:link|a:visited|a:hover|a:active`
提示:在 CSS 定義中,a:hover 必須被置于 a:link 和 a:visited 之后,才是有效的。
提示:在 CSS 定義中,a:active 必須被置于 a:hover 之后,才是有效的。
偽元素選擇器:并不是針對真正的元素使用的選擇器,而是針對CSS中已經定義好的偽元素使用的選擇器。
CSS中有如下四種偽元素選擇器:
· first-line:為某個元素的第一行文字使用樣式;
· first-letter:為某個元素中的文字的首字母或第一個字使用樣式;
· before:在某個元素之前插入一些內容;
· after: 在某個元素之后插入一些內容;
使用方法:選擇器:偽元素{樣式}
結構性偽類選擇器
1. 四個最基本的:root、not、empty、target
2. first-child、last-child、nth-child、nth-last-child、
nth-child(odd)、nth-child(even)、nth-last-child(odd)、nth-last-child(even)
3. nth-of-type、nth-last-of-type
4. 循環使用樣式
5. only-child
:root()選擇器,從字面上我們就可以很清楚的理解是根選擇器,他的意思就是匹配元素E所在文檔的根元素。在HTML文檔中,根元素始終是<html>。“:root”選擇器等同于<html>元素
:not()選擇器稱為否定選擇器,和jQuery中的:not選擇器一模一樣,可以選擇除某個元素之外的所有元素。
:empty()選擇器表示的就是空。用來選擇沒有任何內容的元素,這里沒有內容指的是一點內容都沒有,哪怕是一個空格。
:target()選擇器來對頁面某個target元素(該元素的id被當做頁面中的超鏈接來使用)指定樣式,該樣式只在用戶點擊了頁面中的超鏈接,并且跳轉到target元素后起作用
“:first-child()”選擇器表示的是選擇父元素的第一個子元素的元素E。簡單點理解就是選擇元素中的第一個子元素,記住是子元素,而不是后代元素。
:nth-child()選擇某個元素的一個或多個特定的子元素;
:nth-last-child()從某父元素的最后一個子元素開始計算,來選擇特定的元素。
看下面一個例子:
代碼如下:
<style type="text/css">
div p:nth-last-child(2){
color:red;
}
</style>
</head>
<body>
<div>
<p>前端</p>
<p>開發</p>
<p>工程</p>
<p>軟件</p>
<p>工程</p>
</div>
</body>
:nth-child()可以選擇某個的一個或多個特定的子元素,你可以按這種方式進行選擇:
:nth-child(length);/*參數是具體數字*/
:nth-child(n);/*參數是n,n從0開始計算*/
:nth-child(n*length)/*n的倍數選擇,n從0開始算*/
:nth-child(n+length);/*選擇大于length后面的元素*/
:nth-child(-n+length)/*選擇小于length前面的元素*/
:nth-child(n*length+1);/*表示隔幾選一*/
//上面length為整數
值得注意的是:nth-child(0)沒有選擇元素,nth-child(1)選擇第一個元素。
代碼如下:
<style type="text/css">
*{list-style:none;};
.demo {
width: 400px;
padding: 10px;
}
.demo li {
padding: 5px;
float: left;
margin-right:4px;
}
.demo li a {
float: left;
display: block;
height: 20px;
line-height: 20px;
width: 20px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
text-align: center;
background: #f36;
color: white;
text-decoration: none;
}
.demo li:nth-child(1){
background:#01FEFE;
}
.demo li:nth-child(2n){
background:#4679BD;
}</p>
<p> </style>
</head>
<body>
<div class="demo">
<ul>
<li class="one" id="first"><a href="">1</a></li>
<li class="two"><a href="">2</a></li>
<li class="three"><a href="">3</a></li>
<li class="four"><a href="">4</a></li>
<li class="five"><a href="">5</a></li>
<li class="six"><a href="">6</a></li>
<li class="seven"><a href="">7</a></li>
<li class="eight"><a href="">8</a></li>
<li class="nine"><a href="">9</a></li>
<li class="ten" id="last"><a href="">10</a></li>
</ul>
</div>
“:nth-of-type(n)”選擇器和“:nth-child(n)”選擇器非常類似,不同的是它只計算父元素中指定的某種類型的子元素。當某個元素中的子元素不單單是同一種類型的子元素時,使用“:nth-of-type(n)”選擇器來定位于父元素中某種類型的子元素是非常方便和有用的。
":only-child"表示的是一個元素是它的父元素的唯一一個子元素。
偽元素:
CSS中的偽元素大家以前看過::first-line,:first-letter,:before,:after;
那么在CSS3中,他對偽元素進行了一定的調整,在以前的基礎上增加了一個“:”也就是現在變成了“::first-letter,::first-line,::before,::after”另外他還增加了一個“::selection”,兩個“::”和一個“:”css3中主要用來區分偽類和偽元素,到目前來說,這兩種方式都是被接受的,也就是說不管使用哪種寫法所起的作用都是一樣的,只是一個書寫格式不同而以。
::first-line選擇元素的第一行,比如說改變每個段落的第一行文本的樣式,我們就可以使用這個
p::first-line {font-weight:bold;}
::before和::after這兩個主要用來給元素的前面或后面插入內容,這兩個常用"content"配合使用,見過最多的就是清除浮動,
代碼如下:
.clearfix:before,
.clearfix:after {
content: ".";
display: block;
height: 0;
visibility: hidden;
}
.clearfix:after {clear: both;}
.clearfix {zoom: 1;}
::selection用來改變瀏覽網頁選中文的默認效果
感謝各位的閱讀,以上就是“css3中偽元素和偽類選擇器的詳細介紹”的內容了,經過本文的學習后,相信大家對css3中偽元素和偽類選擇器的詳細介紹這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。