CSS伪类

什么是伪类

伪类是CSS中的一种特殊选择器,用于选择元素的特定状态或特性。伪类以冒号(:)开始,后面跟着伪类的名称。常见的伪类包括:hover(鼠标悬停状态)、:active(鼠标按下时)、:visited(已访问的链接)、:nth-child(n)(选择父元素的第n个子元素)等。伪类允许开发者根据元素的不同状态或特性来应用不同的样式,从而增强用户界面的交互性和可视化效果。

为什么要用伪类

使用CSS伪类有以下几个主要原因:

  1. 更精确地选择元素:伪类可以在选择器中为元素添加特定的状态或条件,以便更精确地选择需要应用样式的元素。
  2. 实现更丰富的交互效果:伪类允许我们根据元素的状态或位置应用不同的样式。
  3. 响应式设计:伪类可以用于根据用户设备、页面状态或用户交互来应用不同的样式。
  4. 降低HTML的复杂性:使用伪类可以减少在HTML中添加额外的标签或类来实现特定的样式效果。

总而言之,使用CSS伪类可以让我们更准确地选择和应用样式,实现更多样化和交互性的效果,同时降低HTML的复杂性。这样可以提升用户体验,使页面更具有吸引力和交互性。

语法

伪类的语法:

选择器:伪类属性{样式,如:color:red}

CSS类也可以使用伪类:

.类名:伪类属性 {样式,如:color:red}

超链接伪类

在支持 CSS 的浏览器中,链接的不同状态都可以以不同的方式显示

a:link {color:red;} /* 未访问的链接 */
a:visited {color:green;} /* 已访问的链接 */
a:hover {color:purple;} /* 鼠标划过链接 */
a:active {color:blue;} /* 已选中的链接 */

结果:

当连接未被访问时,颜色为红色。
当连接已被访问时,颜色为绿色。
当鼠标悬浮在连接上是,颜色为紫色。
当连接被鼠标点击未释放时,颜色为蓝色。

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

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

注意: 伪类的名称不区分大小写。

伪类和CSS类

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

.red:visited {color:#FF0000;}
 
<a class="red" href="css-syntax.html">连接</a>

如果在上面的例子的链接已被访问,它会显示为红色。

CSS :first-child 伪类

您可以使用 :first-child 伪类来选择父元素的第一个子元素。

注意:在IE8的之前版本必须声明<!DOCTYPE> ,这样 :first-child 才能生效。

匹配第一个 <p> 元素

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

元素:

<!DOCTYPE html>
  <style>
      p:first-child{
          color: red;
      }
  </style>
<body>
<p>第一个p</p>
<p>第二个p</p>
<p>第三个p</p>
</body>

结果:
在这里插入图片描述

匹配所有<p> 元素中的第一个 <i> 元素

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

<!DOCTYPE html>
  <style>
      p>i:first-child{
          color:blue;
      }
  </style>
<body>
<p>第一个p</p>
<p><i>第二个p</i></p>
<p><span><i>第三个p</i></span></p>
<p><i>第四个p</i></p>
</body>

结果:
在这里插入图片描述

匹配第一个 <p> 元素中的所有 <i> 元素

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

<!DOCTYPE html>
  <style>
      p:first-child i
      {
          color:red;
      }
  </style>
<body>
<p><i>第一个p</i><i>第一个p1</i></p>
<p><i>第二个p</i></p>
<p><i>第三个p</i></p>
</body>

结果:
在这里插入图片描述

CSS - :lang 伪类

:lang 伪类使你有能力为不同的语言定义特殊的规则

注意:IE8必须声明<!DOCTYPE>才能支持;lang伪类。

在下面的例子中,:lang 类为属性值为 ol 的q元素定义引号的类型:

<!DOCTYPE html>
  <style>
      q:lang(ol) {
          quotes: "~" "~";
      }
  </style>
<body>
<p>你好<q lang="ol">张三</q></p>
</body>

结果:
在这里插入图片描述

所有CSS伪类

在这里插入图片描述

  • 24
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值