CSS中伪类详解和用法例子详解

news2024/11/17 11:43:12

文章目录

  • 一、伪类介绍
    • 1.伪类选择器
    • 2.动态伪类
    • 3.结构伪类
    • 4.否定伪类
    • 5.状态伪类
    • 6.目标伪类

一、伪类介绍

1.伪类选择器

动态伪类作用
:link链接没有被访问前的样式效果
:visited链接被访问后的样式效果
:hover鼠标悬停在元素上面时的样式效果
:active点击元素时的样式效果,即按下鼠标左键时发生的样式
:focus用于元素成为焦点时的样式效果,常用与表单元素
结构伪类作用
:first-child选择某个元素的第一个子元素
:last-child选择某个元素的最后一个子元素
:nth-child()选择某个当前元素的兄弟节点下的一个或多个特定的子元素
:nth-last-child()选择某个当前元素的兄弟节点的一个或多个特定的子元素,从后往前数
:nth-of-type()当前元素的同类型兄弟节点的第n个当前元素
:nth-last-of-type()当前元素的同类型兄弟节点的第n个当前元素,从后往前数
:first-of-type选择一个父级元素下第一个同类型子元素
:last-of-type选择一个父级元素下第一个同类型子元素,从后往前数
:only-child选择的元素是它父元素的唯一 一个子元素
:only-of-type选择一个元素是上级元素下唯一相同类型的子元素
:empty选择的元素里面没有任何内容(空标签)
否定伪类作用
:not()排查或者过滤掉特定元素
状态伪类作用
:enabled选择匹配指定范围内所有可用UI(用户界面)元素
:disabled选择匹配指定范围内所有不可用UI(用户界面)元素
:checked选择匹配指定范围内所有可选中的UI(用户界面)元素
目标伪类作用
:target选择匹配父元素的所有元素,且匹配元素被相关URL指向

2.动态伪类

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<style>

  a:link {
    color: #333;
  }
  a:visited {
    color: #ddd;
  }
  a:hover {
    color: red;
  }
  a:active {
    color: green;
  }
  input:focus {
    color: orange;
  }
</style>
<div class="province">
  <a target="_blank" href="https://www.baidu.com">福建</a>
  <input value="111">
</div>

</html>

在这里插入图片描述

3.结构伪类

:first-child和last-child用法

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<style>

  .province:first-child {
    color: red;
  }
  .province:last-child {
    color: green;
  }

</style>
<div class="province">
  1111
</div>
<div class="province">
  1111
</div>
<div class="province">
  1111
</div>

</html>

在这里插入图片描述
:nth-child()用法
代码中的n表示一个从0开始的自然数,他会逐渐+1
下面代码作用:从第2个元素开始字体颜色都是红色

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<style>
  .province:nth-child(n + 2) {
    color: red
  }

</style>
<div class="province">
  1111
</div>
<div class="province">
  1111
</div>
<div class="province">
  1111
</div>

</html>

在这里插入图片描述
:nth-last-child()
用法和:nth-child()相似,只不过它是从下往上的顺序。
下面代码作用:倒数第2个元素字体变为红色。

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<style>

  .province:nth-last-child(2) {
    color: red
  }

</style>
<div class="province">
  1111
</div>
<div class="province">
  1111
</div>
<div class="province">
  1111
</div>
<div class="province">
  1111
</div>
<div class="province">
  1111
</div>

</html>

在这里插入图片描述
:nth-of-type()
nth-of-type他是当前元素的同类型兄弟元素的第n个,而nth-child是当前元素的兄弟节点的第n个当前元素

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<style>

  .province:nth-of-type(4) {
    color: red
  }
  .province:nth-child(4) {
    color: green
  }

</style>
<div class="province">
  1111
</div>
<li>
  内鬼
</li>
<div class="province">
  1111
</div>
<div class="province">
  1111
</div>
<div class="province">
  1111
</div>
<div class="province">
  1111
</div>

</html>

在这里插入图片描述
:nth-last-of-type()
用法和 :nth-of-type() 类似,只不过顺序是从下往上。

:first-of-type和:last-of-type
:first-of-type和:nth-of-type(1) 是一个意思
:last-of-type和:nth-last-of-type(1)是一个意思

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<style>

  .province:first-of-type {
    color: red
  }
  .province:last-of-type {
    color: green
  }

</style>
<div class="province">
  1111
</div>
<li>
  内鬼
</li>
<div class="province">
  1111
</div>
<div class="province">
  1111
</div>
<div class="province">
  1111
</div>
<div class="province">
  1111
</div>

</html>

在这里插入图片描述
:only-child

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<style>

  .province:only-child {
    color: red
  }

</style>
<div>
  <div class="province">33</div>
</div>

<div>
  <div class="province">13</div>
  <div class="province">23</div>
</div>
</html>

在这里插入图片描述
:only-of-type

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<style>

  .province:only-of-type {
    color: red
  }

</style>

<div>
  <div class="province">00</div>
  <div class="province">00</div>
  <li>00</li>
</div>

<div>
  <div class="province">11</div>
  <li>22</li>
  <li>33</li>
</div>
</html>

在这里插入图片描述
:empty

下面代码中第二个div标签里面有空格,所以:empty伪类不会生效。

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<style>

  .province:empty {
    background: red;
  }
  .province {
    width: 100px;
    height: 100px;
    border: 1px solid #333;
    margin-bottom: 10px;
  }

</style>
<div class="province"></div>
<div class="province"> </div>

</html>

在这里插入图片描述

4.否定伪类

:not()用法

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<style>

  .province:not(:first-child) {
    color: red;
  }
  a:not(a[class="nav_item"]) {
    text-decoration: none;
  }

</style>
<div class="province">11</div>
<div class="province">22</div>
<div class="province">33</div>
<a href="#" class="nav_item">第一个a标签</a>
<a href="#">第二个a标签</a>
<a href="#">第三个a标签</a>

</html>

在这里插入图片描述

5.状态伪类

:enabled和:disabled和:checked

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<style>

  input:enabled {
    color: green;
  }
  input:disabled {
    color: red;
  }
  input:checked {
    width: 100px;
  }

</style>
<input value="11">
<input disabled value="11">
<label><input name="Fruit" type="radio" checked value="" />苹果 </label>
<label><input name="Fruit" type="radio" value="" />桃子 </label>
<label><input name="Fruit" type="radio" value="" />香蕉 </label>
<label><input name="Fruit" type="radio" value="" /></label>
<label><input name="Fruit" type="radio" value="" />其它 </label>
</html>

在这里插入图片描述

6.目标伪类

:target用法

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<style>

  div {
    display: none;
  }

  :target {
    display: block;
  }

</style>
<a href="#nav">我要敲代码</a>
<a href="#nav_item">我要睡觉</a>
<div id="nav">
  那就敲代码吧
</div>
<div id="nav_item">
  那就睡觉吧
</div>
</html>

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/700417.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

flink-sql自定义rabbitmq connector

flink sql 自定义 rabbitmq connector 直接上代码 github 地址&#xff1a; https://github.com/liutaobigdata/flink-sql-rabbitmq-connector SourceFactory 代码 public class RabbitmqTableSourceFactory implements DynamicTableSourceFactory {private static final S…

进阶实战,接口自动化测试——requests文件上传/下载实战代码

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 如果需要发送文件…

record-4.网络

4、网络 技术栈&#xff1a; 1、计算机网络体系结构 OSI分层 &#xff08;7层&#xff09;&#xff1a;物理层、数据链路层&#xff08;网桥&#xff0c;交换机&#xff09;、网络层&#xff08;IP&#xff0c;ICMP&#xff0c;ARP&#xff09;、传输层&#xff08;TCP&…

springboot房屋管理系统

房屋管理系统 springboot房屋管理系统 java房屋管理系统 技术&#xff1a; 基于springboothtml房屋管理系统的设计与实现 运行环境&#xff1a; JAVA版本&#xff1a;JDK1.8 IDE类型&#xff1a;IDEA、Eclipse都可运行 数据库类型&#xff1a;MySql&#xff08;8.x版本都可…

微服务-Gradle的入门和使用

对于一个新的工程拉下来&#xff0c;如果该工程用了gradle。需要学习一下gradle项目管理工具。我在本机macbook M1的环境下操作。 一、配置安装 下载Gradle&#xff1a; https://services.gradle.org/distributions/ 我下载了6.9版本的Gradle 下载好了以后&#xff0c;放到了…

elasticsearch学习篇:初识ES

一、什么是ES 1、基础概念 是一款非常强大的开源搜索引擎&#xff0c;具备非常多强大功能&#xff0c;可以帮助我们从海量数据中快速找到需要的内容es是elastic stack(ELK)的核心&#xff0c;负责存储、搜索、分析数据。 ELK包括以下内容&#xff1a; ELK被广泛应用在日志数据…

用python实现调用百度图片搜索的API

前言&#xff1a;这段代码是一个简单的图片爬虫程序它可以通过输入关键词&#xff0c;在百度图片中搜索相关图片&#xff0c;并返回一张随机的图片。代码使用Flask框架搭建了一个简单的Web应用&#xff0c;将用户输入的关键词作为参数传递给爬虫程序&#xff0c;然后从百度图片…

观察者模式(Observer)

别名 事件订阅者者&#xff08;Event-Subscriber&#xff09;监听者&#xff08;Listener&#xff09; 定义 观察者是一种行为设计模式&#xff0c;允许你定义一种订阅机制&#xff0c;可在对象事件发生时通知多个“观察”该对象的其他对象。 前言 1. 问题 假如你有两种类…

Linux vfs各种operation操作介绍

1.ext4文件系统定义的各种操作 //普通文件操作 const struct file_operations ext4_file_operations {.llseek ext4_llseek,.read_iter generic_file_read_iter,.write_iter ext4_file_write_iter,.unlocked_ioctl ext4_ioctl, #ifdef CONFIG_COMPAT.compat_ioctl …

【Python基础】- break和continue语句(文末送书4本)

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

6 图像处理实现螺纹识别案例(matlab程序)

学习目的&#xff1a;学习识别案例掌握识别方法 2.代码 clear;clc;close all Iimread(luowen1.bmp); %读取螺纹图片 try Irgb2gray(I); %如果是RGB图&#xff0c;则转换成灰度图 catch end figure imshow(I) title(原图&#xff08;半边螺纹&#xff09;) f…

基于pyqt和卷积网络CNN的中文汉字识别

直接上效果演示图&#xff1a; 通过点击按钮可以实现在画板上写汉字识别和加载图片识别两个功能。 视频演示和demo仓库地址在b站视频001期&#xff1a; 到此一游7758258的个人空间-到此一游7758258个人主页-哔哩哔哩视频 所有代码展示&#xff1a; 十分的简洁&#xff0c;主…

【从零开始学习JAVA | 第二十六篇】泛型补充知识

目录 前言&#xff1a; 泛型的更多应用&#xff1a; 泛型类&#xff1a; 泛型方法&#xff1a; 泛型方法&#xff1a; 总结&#xff1a; 前言&#xff1a; 在上一篇文章中我们介绍了泛型的基础知识&#xff0c;也就是在创建集合的时候用到泛型&#xff0c;此时的泛型更多…

关于内存颗粒的地址映射

即便从软件角度&#xff0c;抛开地址译码器讨论内存颗粒中指定位置处的地址&#xff08;DDR中的指定位置的电容&#xff09;也是没有意义的。晶体管没有绝对地址&#xff0c;就如同地理测量中测定位置前需要确定坐标系一样&#xff0c;同一个位置在不同的坐标系中的地址描述可以…

【CVRP测评篇】 算法性能如何?来测!

我跨越了2100015秒的距离&#xff0c;为你送上更全面的算法性能评测。 目录 往期优质资源1 CVRP数据集2 实验准备2.1 计算机配置2.2 调参方法2.3 参数设定2.4 实验方法 3 实验结果3.1 最优解统计3.1.1各数据集上的算法性能对比3.1.2 求解结果汇总3.1.3小结一下3.1.4 还有话说 3…

使用 RedisTemplate 对象的 opsForValue() 方法获取 Redis 中的值获取不到

问题 使用 RedisTemplate 对象的 opsForValue() 方法获取 Redis 中的值获取不到 详细问题 笔者代码如下 1 使用 ValueOperations 对象的 set() 方法将一个键值对存储到 Redis 中 valueOperations.set("order:" user.getId() ":" goods.getId(), sec…

【Redis】2、Redis应用之【根据 Session 和 Redis 进行登录校验和发送短信验证码】

目录 一、基于 Session 实现登录(1) 发送短信验证码① 手机号格式后端校验② 生成短信验证码 (2) 短信验证码登录、注册(3) 登录验证① 通过 SpringMVC 定义拦截器② ThreadLocal (4) 集群 Session 不共享问题 二、基于 Redis 实现共享 session 登录(1) 登录之后&#xff0c;缓…

23款迈巴赫S480升级原厂10°后轮转向系统,减少转弯半径

就是低速的情况下&#xff0c;有更强的机动性&#xff0c;前后车轮的不同转动方向使得车辆可以凭借更更小转弯半径实现转向&#xff0c;在特定的狭窄路段或者停车时&#xff0c;车辆的操控性大大提升&#xff0c;而内轮差也缩小也增大了转向的安全性。 高速的情况下&#xff0…

C. Road Optimization(dp)

Problem - 1625C - Codeforces 火星政府不仅对优化太空飞行感兴趣&#xff0c;还希望改进该行星的道路系统。 火星上最重要的高速公路之一连接着奥林匹克城和西多尼亚的首都Kstolop。在这个问题中&#xff0c;我们只考虑从Kstolop到奥林匹克城的路线&#xff0c;而不考虑相反的…

技术创举!比亚迪-汉上的实景三维导航...

实景三维技术的发展日新月异&#xff0c;但在应用中却一直深陷内存占用、渲染缓慢、加载卡顿和模型塌陷等问题。对此&#xff0c;大势智慧率先推出海量数据轻量化技术&#xff0c;在业内首次实现实景三维模型在车机系统的直接浏览&#xff0c;展示了轻量化技术赋能实景三维应用…