国外设计欣赏网站 - DOOOOR.com

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,微信登陆

搜索

[DIV+CSS] CSS 伪类 (Pseudo-classes)

[复制链接]
发表于 11-28-2011 05:38 | 显示全部楼层 |阅读模式

CSS 伪类用于向某些选择器添加特殊的效果。

CSS 伪类 (Pseudo-classes)实例:

超链接
本例演示如何向文档中的超链接添加不同的颜色。
超链接 2
本例演示如何向超链接添加其他样式。
超链接 - :focus 的使用
本例演示如何对超链接应用 :focus 伪类(无法在 IE 中工作)。
:first-child(首个子对象)
本例演示 :first-child 伪类的用法。
:lang(语言)
本例演示 :lang 伪类的用法。

语法

伪类的语法:

selector : pseudo-class {property: value}

CSS 类也可与伪类搭配使用。

selector.class : pseudo-class {property: value}

锚伪类

在支持 CSS 的浏览器中,链接的不同状态都可以不同的方式显示,这些状态包括:活动状态,已被访问状态,未被访问状态,和鼠标悬停状态。

a:link {color: #FF0000}		/* 未访问的链接 */* g9 o" u- y9 ~
a:visited {color: #00FF00}	/* 已访问的链接 */
1 H8 Q" p# u" pa:hover {color: #FF00FF}	/* 鼠标移动到链接上 */& R9 a5 i' P. {4 s% ^
a:active {color: #0000FF}	/* 选定的链接 */
/ q  X. f" o4 P. U8 w" L

亲自试一试

提示:在 CSS 定义中,a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的。

提示:在 CSS 定义中,a:active 必须被置于 a:hover 之后,才是有效的。

提示:伪类名称对大小写不敏感。

伪类与 CSS 类

伪类可以与 CSS 类配合使用:

a.red : visited {color: #FF0000}0 J1 Q& P7 n2 K1 i( M
- K! i! E1 e% m9 E3 t" z
<a class="red" href="css_syntax.asp">CSS Syntax</a>

假如上面的例子中的链接被访问过,那么它将显示为红色。

CSS2 - :first-child 伪类

您可以使用 :first-child 伪类来选择元素的第一个子元素。这个特定伪类很容易遭到误解,所以有必要举例来说明。考虑以下标记:

<div>
2 R+ ~3 X  a" U<p>These are the necessary steps:</p>' h7 n3 C2 w0 d
<ul>
+ q/ _7 {! S+ y! @1 o/ s9 U<li>Intert Key</li>( [+ o+ ?/ H9 N! `
<li>Turn key <strong>clockwise</strong></li>0 |: ?+ w# s" E8 u. G4 L/ _& C
<li>Push accelerator</li>. c) a0 y3 N, `% Q; n7 ]1 N
</ul>) P6 _9 g/ h( K( _; Z# s" Z8 f6 P
<p>Do <em>not</em> push the brake at the same time as the accelerator.</p>! t% _" p" U9 Y( x
</div>
1 Q$ h/ t; Z2 n  C% T

在上面的例子中,作为第一个元素的元素包括第一个 p、第一个 li 和 strong 和 em 元素。

给定以下规则:

p:first-child {font-weight: bold;}
9 C5 X2 X7 V8 j( a$ w7 Z. P9 sli:first-child {text-transform:uppercase;}
# I4 v2 e0 c; S& y

第一个规则将作为某元素第一个子元素的所有 p 元素设置为粗体。第二个规则将作为某个元素(在 HTML 中,这肯定是 ol 或 ul 元素)第一个子元素的所有 li 元素变成大写。

请访问该链接,来查看这个 :first-child 实例的效果。

提示:最常见的错误是认为 p:first-child 之类的选择器会选择 p 元素的第一个子元素。

注释:必须声明 <!DOCTYPE>,这样 :first-child 才能在 IE 中生效。

为了使您更透彻地理解 :first-child 伪类,我们另外提供了 3 个例子:

例子 1 - 匹配第一个 <p> 元素

在下面的例子中,选择器匹配作为任何元素的第一个子元素的 p 元素:

<html>. ~& Z3 N0 ], i- E9 H. \
<head>
, |; n. @0 s2 |# D; G" b<style type="text/css">
6 Z6 B2 I: o/ d0 c1 w  Mp:first-child {
  v& F* }, z9 y: `' J& e  color: red;- C5 b& {* \, V0 w
  } 
: o' a% r! r/ i/ i" k</style>
5 q2 W+ J( Q6 g8 G</head>
9 L) y, [: F! o! v3 P% w' W+ m! Z" R
<body>4 K  c. n! g# g5 S. m0 R: {
<p>some text</p>
# C: n+ ^( K* v/ c0 o+ f! ^+ u<p>some text</p>! d- F" C8 O0 p7 W3 e: F
</body># R5 B( u4 p% a  f2 y
</html>

TIY

例子 2 - 匹配所有 <p> 元素中的第一个 <i> 元素

在下面的例子中,选择器匹配所有 <p> 元素中的第一个 <i> 元素:

<html>+ ]8 p  o0 o7 S$ ^
<head>$ n% _! y, T3 B' I
<style type="text/css">
- u+ }" M2 u: K6 \6 X+ [p > i:first-child {
% ]6 H$ B; W0 t8 L  font-weight:bold;
: s0 m1 J1 ^+ F  `# `! Q  } 1 y. D5 g- V5 b9 x
</style>5 c8 J4 j- a  [/ u5 z  E! ~; [& z
</head>
( F/ @2 M+ q; ^6 C4 P7 j/ L1 o4 |* V, c- ?" M  U
<body>
/ i; j4 _5 D( {  [# s- ~<p>some <i>text</i>. some <i>text</i>.</p>- r( \# c2 A+ r2 T1 O
<p>some <i>text</i>. some <i>text</i>.</p>, z% Y" e3 ~4 s0 P
</body>) T' D" Y2 l% v! @7 t% M' X
</html>

TIY

例子 3 - 匹配所有作为第一个子元素的 <p> 元素中的所有 <i> 元素

在下面的例子中,选择器匹配所有作为元素的第一个子元素的 <p> 元素中的所有 <i> 元素:

<html>
7 w' z4 I. n( D<head>
' c4 `2 t6 t2 y5 n<style type="text/css">
8 J# [$ d; r4 p; a. g, ?8 _1 pp:first-child i {
, K+ V1 j. c. p( {, x' v  color:blue;2 A1 Z% {  Y8 J! M
  } 
3 B7 `( m) M# t7 V+ Q</style>9 h: F! a2 P) H/ q( W# K" H( e
</head>* t; [! L1 ^3 k2 V2 K
, [+ q6 E  @' r. f. l
<body>7 l# @7 F6 E2 Z. v1 r% {
<p>some <i>text</i>. some <i>text</i>.</p>. y+ p9 {3 k+ I4 }1 \
<p>some <i>text</i>. some <i>text</i>.</p>
, I- D. A$ H* V7 Z</body>
/ Z2 e$ s: V! K" ?( n+ w</html>

TIY

CSS2 - :lang 伪类

:lang 伪类使你有能力为不同的语言定义特殊的规则。在下面的例子中,:lang 类为属性值为 no 的 q 元素定义引号的类型:

<html>; T( \/ N/ \. S* W9 q! H& w8 m" O
<head>/ a* c- s( y6 k

, O5 A$ I/ a1 j& [" [<style type="text/css">
( h+ p' M$ b4 p0 Y0 g/ V! }q:lang(no)
. N1 v+ x$ C+ D2 Y" |( _" b   {$ z3 C, D  G' F2 |+ I' g/ a0 V
   quotes: "~" "~"
5 c1 S2 s) k/ {. ?0 D1 Y   }# `* t: x5 ?" A8 o* b, H) h+ u3 M
</style>
" M6 i+ Z$ j7 l" I7 @6 i$ h+ X* J) A8 ~* G$ N$ Z  ~% \' U2 N
</head>4 R6 ]6 ^5 M1 _7 M

( r. B& B) z# `5 B/ A<body>
" r& [$ P9 J4 R) p6 e; G<p>文字<q lang="no">段落中的引用的文字</q>文字</p>
7 L4 }5 f: X6 N" Y</body></html>

伪类

W3C:"W3C" 列指示出该属性在哪个 CSS 版本中定义(CSS1 还是 CSS2)。

属性描述CSS
:active向被激活的元素添加样式。1
:focus向拥有键盘输入焦点的元素添加样式。2
:hover当鼠标悬浮在元素上方时,向元素添加样式。1
:link向未被访问的链接添加样式。1
:visited向已被访问的链接添加样式。1
:first-child向元素的第一个子元素添加样式。2
:lang向带有指定 lang 属性的元素添加样式。2

|2011-2026-版权声明|平台(网站)公约|手机版|手机版|DOOOOR 设计网 ( 吉ICP备2022003869号 )

GMT+8, 11-16-2025 06:25 , Processed in 0.174220 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表