CSS 偽類
CSS 偽類別(Pseudo-classes)
CSS偽類別是用來加入一些選擇器的特殊效果。
語法
偽類別的語法:
#selector:pseudo-class {property:value;}
CSS類別也可以使用偽類別:
selector.class:pseudo-class {property:value;}
##anchor偽類別在支援CSS 的瀏覽器中,連結的不同狀態都可以以不同的方式顯示
#
運行實例»點擊"運行實例" 按鈕查看線上實例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> a:link {color:#FF0000;} /* unvisited link */ a:visited {color:#00FF00;} /* visited link */ a:hover {color:#FF00FF;} /* mouse over link */ a:active {color:#0000FF;} /* selected link */ </style> </head> <body> <p><b><a href="http://www.php.cn/css/css-css_tutorial.html" target="_blank">这是一个链接</a></b></p> <p><b>注意:</b> a:hover 必须在 a:link 和 a:visited 之后,需要严格按顺序才能看到效果。</p> <p><b>注意:</b> a:active 必须在 a:hover 之后。</p> </body> </html>
運行實例»點擊"運行實例" 按鈕查看線上實例
#注意: 在CSS定義中,a:hover 必須被置於a:link 和a:visited 之後,才是有效的。
注意: 在 CSS 定義中,a:active 必須被放在 a:hover 之後,才是有效的。
注意:偽類別的名稱不區分大小寫。
偽類別與CSS類別偽類別可以與CSS 類別搭配使用:
a.red:visited {color:#FF0000;}
<a class="red" href="css-syntax.html">CSS Syntax</a>
如果在上面的例子的連結已被訪問,它會顯示為紅色。 <a class="red" href="css-syntax.html">CSS Syntax</a>
CSS - :first - child偽類別您可以使用:first-child 偽類別來選擇元素的第一個子元素
注意:在IE8的先前版本必須宣告<!DOCTYPE> ,這樣:first-child 才能生效。
符合第一個<p> 元素在下面的範例中,選擇器符合作為任何元素的第一個子元素的<p> 元素:實例
運行實例»#點擊"運行實例" 按鈕查看線上實例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> p:first-child { color:blue; } </style> </head> <body> <p>This is some text.</p> <p>This is some text.</p> <p><b>注意:</b>对于 :first-child 工作于 IE8以及更早版本的浏览器, DOCTYPE必须已经声明.</p> </body> </html>
運行實例»#點擊"運行實例" 按鈕查看線上實例
符合所有<p> 元素中的第一個<i> 元素#在下面的範例中,選擇相符的所有<p>元素的第一個 <i>元素:
實例
運行實例»點擊"運行實例" 按鈕查看線上實例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> p > i:first-child { color:blue; } </style> </head> <body> <p>I am a <i>strong</i> man. I am a <i>strong</i> man.</p> <p>I am a <i>strong</i> man. I am a <i>strong</i> man.</p> <p><b>注意:</b> 当 :first-child 作用于 IE8以及更早版本的浏览器, DOCTYPE必须已经定义.</p> </body> </html>
運行實例»點擊"運行實例" 按鈕查看線上實例
符合所有作為第一個子元素的<p>元素中的所有<i>元素 #在下面的範例中,選擇器符合所有作為元素的第一個子元素的<p> 元素中的所有<i> 元素:
#實例
運行實例»
##實例:為超連結新增不同樣式
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> p:first-child i { color:blue; } </style> </head> <body> <p>I am a <i>strong</i> man. I am a <i>strong</i> man.</p> <p>I am a <i>strong</i> man. I am a <i>strong</i> man.</p> <p><b>注意:</b> 当:first-child 作用于 IE8及更早版本的浏览器, DOCTYPE 必须已经定义.</p> </body> </html>
#CSS - :lang 偽類別
:lang偽類使你有能力為不同的語言定義特殊的規則
注意:IE8必須聲明<!DOCTYPE>才能支援;lang偽類。
在下面的範例中,:lang 類別為屬性值為no 的q元素定義引號的類型:
實例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> q:lang(no) { quotes: "~" "~"; } </style> </head> <body> <p>Some text <q lang="no">A quote in a paragraph</q> Some text.</p> <p>在这个例子中,:lang定义了q元素的值为lang =“no”</p> <p><b>注意:</b> 仅当 !DOCTYPE已经声明时 IE8支持 :lang.</p> </body> </html>
運行實例»
點擊"運行實例"按鈕查看線上實例
#更多實例
##實例:為超連結新增不同樣式
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> a.one:link {color:#ff0000;} a.one:visited {color:#0000ff;} a.one:hover {color:#ffcc00;} a.two:link {color:#ff0000;} a.two:visited {color:#0000ff;} a.two:hover {font-size:150%;} a.three:link {color:#ff0000;} a.three:visited {color:#0000ff;} a.three:hover {background:#66ff66;} a.four:link {color:#ff0000;} a.four:visited {color:#0000ff;} a.four:hover {font-family:monospace;} a.five:link {color:#ff0000;text-decoration:none;} a.five:visited {color:#0000ff;text-decoration:none;} a.five:hover {text-decoration:underline;} </style> </head> <body> <p>将鼠标移至链接上改变样式.</p> <p><b><a class="one" href="http://www.php.cn/css/css-css_tutorial.html" target="_blank">This link changes color</a></b></p> <p><b><a class="two" href="http://www.php.cn/css/css-css_tutorial.html" target="_blank">This link changes font-size</a></b></p> <p><b><a class="three" href="http://www.php.cn/css/css-css_tutorial.html" target="_blank">This link changes background-color</a></b></p> <p><b><a class="four" href="http://www.php.cn/css/css-css_tutorial.html" target="_blank">This link changes font-family</a></b></p> <p><b><a class="five" href="http://www.php.cn/css/css-css_tutorial.html" target="_blank">This link changes text-decoration</a></b></p> </body> </html>
執行實例»
點擊"執行實例" 按鈕可查看線上實例
實例:使用:focus
####執行實例»######點擊"運行實例" 按鈕查看線上實例## ####這個例子示範如何為超連結添加其他樣式。
實例:使用:focus
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> input:focus { background-color:yellow; } </style> </head> <body> <form action="" method="get"> 用户名: <input type="text" name="fname" /><br> 密 码: <input type="text" name="lname" /><br> <input type="submit" value="Submit" /> </form> <p><b>注意:</b>仅当 !DOCTYPE已经声明时 IE8支持 :focus.</p> </body> </html>
這個例子示範如何使用 :focus偽類別。
所有CSS偽類別/元素
選擇器 | 範例 | 範例說明 |
---|---|---|
#:checked | input:checked | 選擇所有選取的表單元素 |
# :disabled | input:disabled | |
:empty | #p:empty | |
#:enabled | input:enabled | |
:first-of-type | ||
選擇每個父元素是p元素的第一個p子元素 | :in-range | |
# #選擇元素指定範圍內的值 | :invalid | input:invalid |
##:last-child | p:last-child | #選取所有p元素的最後一個子元素 |
#:last-of-type | p:last-of-type | #選擇每個p元素是其母元素的最後一個p元素 |
:not(selector) | :not(p) | 選擇所有p以外的元素 |
#:nth-child(n) | p:nth-child(2) | 選擇所有p元素的第二個子元素 |
:nth-last-child(n)#########p:nth-last-child(2)######選擇所有p元素倒數的第二個子元素###############:nth-last-of-type(n)#########p:nth-last-of-type (2)######選擇所有p元素倒數的第二個為p的子元素################:nth-of-type(n)### ######p:nth-of-type(2)######選取所有p元素第二個為p的子元素###############: only-of-type### | p:only-of-type | 選擇所有隻有一個子元素為p的元素 |
:only-child | p:only-child | 選擇所有隻有一個子元素的p元素 |
:optional | input :optional | 選擇沒有"required"的元素屬性 |
#:out-of-range | input:out-of-range | #選擇指定範圍以外的值的元素屬性 |
:read-only | input:read-only | ##選擇只讀屬性的元素屬性|
input:read-write | 選擇沒有唯讀屬性的元素屬性 | |
input:required | 選擇有"required"屬性指定的元素屬性 | |
root | 選擇文件的根元素 | |
#news:target | 選擇目前活動#news元素(點選URL包含錨點的名字) | |
input:valid | 選擇所有有效值的屬性 | |
a:link | 選擇所有未存取連結 | |
a:visited | 選擇所有造訪過的連結 | |
# #:active | ||
a:active選擇正在活動連結 | :hover | |
a:hover把滑鼠放在連結上的狀態 | #:focus | |
input:focus 選擇元素輸入後具有焦點 | :first-letter | |
p:first-letter選擇每個<p> 元素的第一個字母 | :first-line | |
p:first-line#選擇每個<p> 元素的第一行 | :first-child | |
p:first-child #選擇器符合屬於任意元素的第一個子元素的<]p> 元素################:before### | p:before | 在每個<p>元素之前插入內容 |
##:after ##p:after | 在每個<p>元素之後插入內容 | |
language)p:lang(it) | 為<p>元素的lang屬性選擇一個開始值 |