css中的:first-child、:last-child、:nth-child()、:nth-of-type()和:only-child 伪类选择器

news/2024/7/10 3:25:45 标签: css, 前端, javascript, vue.js, vue

CSS中的:first-child:last-child:nth-child():nth-of-type():only-child是伪类选择器,它们允许你根据元素在其父元素或同级元素中的位置或类型来选择元素。下面是这些选择器的详细介绍:

:first-child

这个选择器选择其父元素的第一个子元素。

示例

<ul>
  <li>Item 1</li> <!-- 被选中 -->
  <li>Item 2</li>
  <li>Item 3</li>
</ul>
css">li:first-child {
  color: red;
}

在这个例子中,“Item 1”的文本颜色会被设置为红色,因为它是<ul>元素的第一个<li>子元素。

:last-child

这个选择器选择其父元素的最后一个子元素。

示例

<ul>
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li> <!-- 被选中 -->
</ul>
css">li:last-child {
  color: blue;
}

在这个例子中,“Item 3”的文本颜色会被设置为蓝色,因为它是<ul>元素的最后一个<li>子元素。

:nth-child(an+b)

这个选择器选择其父元素的第an+b个子元素。其中ab是整数,n是从0开始的计数器。

示例

<ul>
  <li>Item 1</li> <!-- 1st child -->
  <li>Item 2</li> <!-- 2nd child -->
  <li>Item 3</li> <!-- 3rd child -->
  <li>Item 4</li> <!-- 4th child -->
  <li>Item 5</li> <!-- 5th child -->
</ul>
css">li:nth-child(2n) {
  background-color: lightgray;
}

在这个例子中,所有偶数位置(即第二个、第四个)的<li>元素的背景色会被设置为浅灰色。

:nth-of-type(an+b)

这个选择器与:nth-child()类似,但它只计算特定类型的子元素。

示例

<div>
  <p>Paragraph 1</p> <!-- 1st p element -->
  <span>Span 1</span>
  <p>Paragraph 2</p> <!-- 2nd p element -->
  <div>Div 1</div>
  <p>Paragraph 3</p> <!-- 3rd p element -->
</div>
css">p:nth-of-type(2n) {
  color: green;
}

在这个例子中,第二个和第三个<p>元素的文本颜色会被设置为绿色,因为只有<p>元素被考虑在内,而<span><div>被忽略。

:only-child

这个选择器选择那些是其父元素的唯一子元素的元素。

示例

<div>
  <p>Only child paragraph</p> <!-- 被选中 -->
</div>
css">p:only-child {
  font-weight: bold;
}

在这个例子中,段落文本会被加粗,因为它是<div>元素的唯一子元素。

兼容性

这些伪类选择器在现代浏览器中都有很好的支持,包括Chrome、Firefox、Safari、Edge等。然而,在较旧的浏览器版本,特别是Internet Explorer中,支持可能会有所不同。因此,在使用这些选择器时,最好检查你的目标浏览器的兼容性情况,并考虑使用前缀或替代方案来确保兼容性。


http://www.niftyadmin.cn/n/5456921.html

相关文章

Spark-Scala语言实战(6)

在之前的文章中&#xff0c;我们学习了如何在scala中定义与使用类和对象&#xff0c;并做了几道例题。想了解的朋友可以查看这篇文章。同时&#xff0c;希望我的文章能帮助到你&#xff0c;如果觉得我的文章写的不错&#xff0c;请留下你宝贵的点赞&#xff0c;谢谢。 Spark-S…

基于Ubuntu的Linux系统安装jsoncpp开发包过程

执行以下命令&#xff1a; sudo apt update sudo apt install libjsoncpp-dev有可能出现的问题&#xff1a; 1.如果在执行sudo apt update时出现以下信息 Hit:1 http://mirrors.aliyun.com/ubuntu bionic InRelease Hit:2 http://mirrors.aliyun.com/ubuntu bionic-security…

流形和图形的关系

搬运学习一篇arkiv文章《The Mathematical Foundations of Manifold Learning》&#xff0c;主要介绍流形和图的关系。文章doi: https://doi.org/10.48550/arXiv.2011.01307 乍一看这两个数学概念似乎并不相似&#xff0c;因为图一般研究其组合性质&#xff0c;流形一般研究其拓…

基于Spring Boot 3 + Spring Security6 + JWT + Redis实现登录、token身份认证

基于Spring Boot3实现Spring Security6 JWT Redis实现登录、token身份认证。 用户从数据库中获取。使用RESTFul风格的APi进行登录。使用JWT生成token。使用Redis进行登录过期判断。所有的工具类和数据结构在源码中都有。 系列文章指路&#x1f449; 系列文章-基于Vue3创建前端…

Linux(CentOS)/Windows-C++ 云备份项目(客户端文件操作类,数据管理模块设计,文件客户端类设计)

文章目录 1. 客户端文件操作类2. 客户端数据管理模块设计3. 文件客户端类设计项目代码 客户端负责的功能 指定目录的文件检测&#xff0c;获取文件夹里面的文件 判断这个文件是否需要备份&#xff0c;服务器备份过的文件则不需要进行备份&#xff0c;已经备份的文件如果修改也…

火车头通过关键词采集文章的原理

随着互联网信息的爆炸式增长&#xff0c;网站管理员和内容创作者需要不断更新和发布新的文章&#xff0c;以吸引更多的用户和提升网站的排名。而火车头作为一款智能文章采集工具&#xff0c;在这一过程中发挥着重要作用。本文将探讨火车头如何通过关键词采集文章&#xff0c;以…

设计模式(一)简介

一、书籍推荐及博客 大话设计模式 设计模式的艺术 XXL开源社区 | 博客 二、通俗版概念 创建型模式、结构型模式、行为型模式 怎么建房子、建什么样的房子、建的房子有什么用 三、重点模式及简述 1、创建型模式 工厂方法&#xff08;多态工厂的实现&#xff09; 抽象工厂…

定时器的原理和应用

#include<reg51.h> unsigned char s[]{0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; unsigned char count0,num0; void inittimer() {TMOD0x01;//0000 0001TH0(65536-50000)/256; //定时50ms50000us 2562^8 初值向右边移动8位TL0(65536-50000)%256;ET01;//开启定…