CSS - 伪类

1. 分类

CSS 中,伪类可以分为三类:

  • 链接伪类:链接(<a> 标签)的不同状态有不同的伪类可以表示。状态包括:活动状态,已被访问状态,未被访问状态,和鼠标悬停状态。
  • 位置伪类:选取父元素的指定子元素时,可以使用结构伪类,包括第一个子元素,最后一个子元素,第 N 个子元素,倒数第 N 个子元素。
  • 目标伪类:选取当前活动的目标元素。

2. 链接伪类

对于链接标签 <a>,有四种状态:link(活动状态,即没有点击过的链接),visited(已经访问过),hover(鼠标悬停),active(正在点击)。这四种样式,必须要按顺序(link,visited,hover,active)书写,可以记为(LOve,HAte)示例:

a:link {color: #FF0000}     /* 未访问的链接 */
a:visited {color: #00FF00}  /* 已访问的链接 */
a:hover {color: #FF00FF}    /* 鼠标移动到链接上 */
a:active {color: #0000FF}   /* 选定的链接 */

3. 位置伪类

位置伪类也有四种:first-child(元素的第一个子元素),last-child(元素的最后一个子元素),nth-child(n)(元素的第 N 个子元素,n 可以是 even 偶数,odd 奇数),nth-last-child(n)(元素的倒数第 N 个子元素)。
注意,冒号前的元素需要写子元素。就像链接伪类作用于链接 a 一样,位置伪类作用域伪类前的那个元素。

 :first-child 伪类来选择元素的第一个子元素。
 :last-child 选择元素的最后一个子元素
 :nth-child(n) 选择元素的第 n 个元素,或符合某种公式的所有子元素
 :nth-last-child(n) 选择元素的倒数第 n 个元素,或符合某种公式的所有子元素

1. first-child

<div>
    <p> p1 </p> <!-- 这是第一个元素 -->
    <ul>
        <li>li 1</li> <!-- 这是第一个元素 -->
        <li>li 2 <strong>strong1</strong><!-- 这是第一个元素 --></li>
        <li>li 3</li>
    </ul>
    <p>p2-start <em> em1 </em><!-- 这是第一个元素 --> p2-end</p>
</div>

例如上面,作为第一个元素的元素包括第一个 p(属于 div 的第一个元素)、第一个 li (属于 ul)和 strong (属于 li)和 em (属于 p)元素。添加以下规则后:

p:first-child {color: red;}
li:first-child {color: red;}

上面示例中的文本 p1li1 变红。

2. nth-child

可以指定一个固定数字,或指定参数 n,n 是从0开始计数并且每次增加1,直到子元素总个数减1的数字。
参数:
(2n+1) 或 odd:选择所有的第奇数个子元素(1,3,5,,,)
2n 或 even:选择所有的第偶数个子元素(0,2,4,,,)
n:选择所有的子元素(0,1,2,3,,,)

nth-child 或 nth-last-child 的参数可以使用公式,其中参数 n 表示从0开始每次增加1,直到子元素总个数减1的数字。比如参数为 2n 时,最终传给 nth-child 的参数有0,2,4,6,,,,作用于所有的第偶数个子元素。

4. 目标伪类

:active 可以选中当前激活的元素。

<style>
:active {
    color: red;
}
</style>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值