伪类用于定义元素的特殊状态。
伪类的语法:
selector:pseudo-class { property: value; }
锚伪类:链接能够以不同的方式显示:
/* 未访问的链接 */ a:link { color: #FF0000; } /* 已访问的链接 */ a:visited { color: #00FF00; } /* 鼠标悬停链接 */ a:hover { color: #FF00FF; } /* 已选择的链接 */ a:active { color: #0000FF; }
实例:
<!DOCTYPE html> <html> <head> <style> /* unvisited link */ a:link { color: red; } /* visited link */ a:visited { color: green; } /* mouse over link */ a:hover { color: hotpink; } /* selected link */ a:active { color: blue; } </style> </head> <body> <h1>CSS 链接</h1> <p><b><a href="/index.html" target="_blank">这是一个链接</a></b></p> <p><b>注释:</b>在 CSS 定义中,a:hover 必须位于 a:link 和 a:visited 之后才能生效。</p> <p><b>注释:</b>在 CSS 定义中,a:active 必须位于 a:hover 之后才能生效。</p> </body> </html>
注意:a:hover
必须在 CSS 定义中的 a:link
和 a:visited
之后,才能生效!a:active
必须在 CSS 定义中的 a:hover
之后才能生效!伪类名称对大小写不敏感。
伪类可以与 CSS 类结合使用:
a.highlight:hover { color: #ff0000; }
可以悬停在 <div> 上
div:hover { background-color: blue; }
可以简单的提示悬停
p { display: none; background-color: yellow; padding: 20px; } div:hover p { display: block; }
伪类在HTML中寻找子级的方式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> #div1 { width: 500px; height: 500px; background: red; } #div1:hover { background: black; } #div2 { width: 300px; height: 300px; background: pink; } #div1:hover > #div2 { background: yellow; } #div3 { width: 100px; height: 100px; background: lightblue; } #div1:hover #div3 { background: lightgreen; } #div4 { width: 200px; height: 200px; background: orange; } #div1:hover + #div4 { background: purple; } #div1:hover ~ #div4 { background: brown; } </style> </head> <body> <div id="div1"> <div id="div2"> <div id="div3"></div> </div> </div> <span>如果用加号(+)4必须是1的紧邻着的下一个弟弟,哥哥也不行</span> <div id="div4"></div> </body> </html>
:first-child 伪类与指定的元素匹配:该元素是另一个元素的第一个子元素。
匹配首个 <p> 元素
p:first-child { color: blue; }
匹配所有 <p> 元素中的首个 <i> 元素
p i:first-child { color: blue; }
匹配所有首个 <p> 元素中的所有 <i> 元素
p:first-child i { color: blue; }
:lang 伪类允许您为不同的语言定义特殊的规则。
<html> <head> <style> q:lang(en) { quotes: "~" "~"; } </style> </head> <body> <p>Some text <q lang="no">A quote in a paragraph</q> Some text.</p> </body> </html>
|
|