CSS基础之伪类选择器(如果想知道CSS的伪类选择器知识点,那么只看这一篇就足够了!)

        前言:学习CSS就必须要学习选择器,在之前我们已经学习了基本选择器和复合选择器,但是还有几个选择器没有学习,这篇文章主要讲解伪类选择器。


✨✨这里是秋刀鱼不做梦的BLOG

✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSDN博客

那么废话不多说,先让我们看一下这篇文章讲解的内容:

目录

1.伪类选择器

       

        【1】动态伪类:

        【2】结构伪类

        【3】否定伪类:

        【4】UI伪类

        【5】语言伪类


关于基本选择器和复合选择器,请浏览------------------------------------------------------------------------->CSS基础+基本选择器和复合选择器(如果想知道CSS的基础+基本选择器和复合选择器知识点,那么只看这一篇就足够了!)-CSDN博客

1.伪类选择器

        在学习伪类选择器之前,让我们先来了解一下什么是伪类:

伪类是选择器的一种,它用于选择处于特定状态的元素,让你的代码更灵活、更易于维护。

了解了什么是伪类之后,然我们开始学习伪类选择器:

先看一下伪类选择器有哪些:

       

        【1】动态伪类:

看一下常见的动态伪类

1. :link 超链接未被访问的状态。
2. :visited 超链接访问过的状态。
3. :hover 鼠标悬停在元素上的状态。
4. :active 元素激活的状态。

5. :focus 获取焦点的元素。

我们使用一个案例来展示效果:(创建一个超链接,点击就转到淘宝主页

html代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./2024.4.14.css">
</head>
<body><a href="https://www.taobao.com/">去淘宝购物</a>
</body>
</html>

CSS代码:

a:link {color: black;
}
a:visited {color: red;
}
a:hover {color: orange;
}
a:active {color: blue;
}

生成效果:(link)

悬浮:(hover)

单机不松:(active)

访问之后:(visited)

注意:

1. 设置link 、visited 、hover 、active 动态伪类的时候,必须按照link 、visited 、hover 、active 的顺序对操作对象进行设置。

2. 只有表单类元素才能使用:focus 伪类。

这样我们就知道了link、visited、hover、active的效果了。

对于focus:

我们使用我们之前学过的input输入用户名来进行举例:

hmtl代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./2024.4.14.css">
</head>
<body>用户名:<input type="text">
</body>
</html>

CSS代码:

input:focus {background-color: green;color: orange;
}

生成效果:

获取焦点之后:

这样我们就了解了动态伪类的知识点了。

        【2】结构伪类

        结构伪类在日常的操作中使用的频率并不是很高,所有只需要了解即可:

常用的结构伪类:

解释:

1. :first-child 所有兄弟元素中的第一个。
2. :last-child 所有兄弟元素中的最后一个。
3. :nth-child(n) 所有兄弟元素中的第 n 个。
4. :first-of-type 所有同类型兄弟元素中的第一个。
5. :last-of-type 所有同类型兄弟元素中的最后一个。
6. :nth-of-type(n) 所有同类型兄弟元素中的 第n个 。

对于n的值:

        1. 0 或不写:什么都选不中 —— 几乎不用。
        2. n :选中所有子元素 —— 几乎不用。
        3. 1~正无穷的整数 :选中对应序号的子元素。
        4. 2n 或 even :选中序号为偶数的子元素。
        5. 2n+1 或 odd :选中序号为奇数的子元素。
        6. -n+3 :选中的是前3 个。

补充:(这些使用的场景更少了,主要了解一下即可)

1. :nth-last-child(n) 所有兄弟元素中的倒数第 n 个。
2. :nth-last-of-type(n) 所有同类型兄弟元素中的 倒数第n个 。
3. :only-child 选择没有兄弟的元素(独生子女)。
4. :only-of-type 选择没有同类型兄弟的元素。
5. :root 根元素。
6. :empty 内容为空元素(空格也算内容)。

以上结构伪类不在进行详细的讲解,如果读者需要,可以自行编写代码。

        【3】否定伪类:

否定伪类就是排除满足条件的元素,使选择器的选择更加的灵活。

编写形式:

:not(选择器)

我们直接使用案例讲解:

html代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./2024.4.14.css">
</head>
<body><div>这是第1行文字</div><div>这是第2行文字</div><div class="text3">这是第3行文字</div><div>这是第4行文字</div>
</body>
</html>

CSS代码:

/* 在div标签中排除.text3类 */
div:not(.text3) {color: red;background-color: orange;
}

结果:

这就是否定伪类的使用。

        【4】UI伪类

常见的UI伪类有:

解释:

1. :checked 被选中的复选框或单选按钮。
2. :enable 可用的表单元素(没有 disabled 属性)。
3. :disabled 不可用的表单元素(有disabled 属性)。

先来看一下checked:

html代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./2024.4.14.css">
</head>
<body>性别:<input type="radio">男 <input type="radio">女
</body>
</html>

CSS代码:

input:checked {width: 50px;height: 50px;
}

没有选中前:

选中后:

再来看enable和disable:

html代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./2024.4.14.css">
</head>
<body>用户名:<input type="text" disabled><br>密码:<input type="password">
</body>
</html>

CSS代码:

input:enabled {background-color: red;
}
input:disabled {background-color: blue;
}

结果:

这就是UI伪类的使用方式。

        【5】语言伪类

代码格式:

:lang() 根据指定的语言选择元素

我们直接使用案例讲解:

html代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./2024.4.14.css">
</head>
<body><div lang="zh-CH">这是一段文字1</div><div>这是一段文字2</div>
</body>
</html>

CSS代码:

div:lang(zh-CH) {background-color: green;color: orange;
}

结果:

这就是语言伪类的使用方式。

关于基本选择器和复合选择器,请浏览------------------------------------------------------------------------->

CSS基础+基本选择器和复合选择器(如果想知道CSS的基础+基本选择器和复合选择器知识点,那么只看这一篇就足够了!)-CSDN博客


以上就是这篇文章的全部内容了~~~

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

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

相关文章

基于springboot实现视频网站管理系统【项目源码+论文说明】计算机毕业设计

基于springboot实现视频网站管理系统演示 摘要 使用旧方法对视频信息进行系统化管理已经不再让人们信赖了&#xff0c;把现在的网络信息技术运用在视频信息的管理上面可以解决许多信息管理上面的难题&#xff0c;比如处理数据时间很长&#xff0c;数据存在错误不能及时纠正等问…

顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)-回铃音补偿

文章目录 前言联系我们解决问题操作步骤 前言 回铃音&#xff1a; 当别人打电话给你时&#xff0c;你的电话响铃了&#xff0c;而他听到的声音叫做回铃音。回铃音是被叫方向主叫方传送&#xff0c;也是彩铃功能的基础。我们平时打电话听到的“嘟 嘟 嘟 嘟”的声音&#xff0c;就…

[Linux] haproxy地址映射实现性能测试

背景 需要虚拟1万个网元做性能测试&#xff0c;前提是已经有网元模拟器&#xff0c;可以在服务器上批量起虚拟IP, 每个虚拟IP对应一个网元进程&#xff0c;但是一台服务器的CPU数量有限&#xff0c;不可能起1万个模拟器进程。于是结合haproxy&#xff0c;将frontend的1万个IP映…

asp.net core 网页接入微信扫码登录

创建微信开放平台账号&#xff0c;然后创建网页应用 获取appid和appsecret 前端使用的vue&#xff0c;安装插件vue-wxlogin 调用代码 <wxlogin :appid"appId" :scope"scope" :redirect_uri"redirect_uri"></wxlogin> <scri…

实现商品下拉框筛选

我们在购买商品的时候会出现下拉框供我们选择商品的类型或者想要便宜一点的商品&#xff0c;我们对商品进行排序等&#xff1b;那么如何实现呢&#xff1f;我在写项目的时候遇到了这个功能&#xff0c;我给大家讲一下我的实现思路。 首先&#xff0c;我们先先写一个select框&a…

【备忘】composer国内镜像列表

为方便使用自己整理了一份&#xff1a; 腾讯云&#xff1a; composer config -g repos.packagist composer https://mirrors.cloud.tencent.com/composer/ 阿里云 composer config -g repos.packagist composer https://mirrors.aliyun.com/composer/ 中国全量镜像 composer …

机器学习和深度学习 --李宏毅(笔记与个人理解)Day 18

Day 18 Spatial Transformer Layer 因为单纯的cNN无法做到scaling&#xff08;放大&#xff09;and rotation&#xff08;转&#xff09;&#xff0c;所以我们引入&#xff1b; 实战中也许我们可以做到 是因为 我们的training data 中包含了对data 的augmentation&#xff1b; …

解锁智能未来:用Ollama开启你的本地AI之旅

Ollama是一个用于在本地运行大型语言模型&#xff08;LLM&#xff09;的开源框架。它旨在简化在Docker容器中部署LLM的过程&#xff0c;使得管理和运行这些模型变得更加容易。Ollama提供了类似OpenAI的API接口和聊天界面&#xff0c;可以非常方便地部署最新版本的GPT模型并通过…

【项目精讲】Swagger接口文档以及使用方式

Swagger 介绍 Swagger 是一个规范和完整的框架&#xff0c;用于生成、描述、调用和可视化 RESTful 风格的 Web 服务(https://swagger.io/) 前后端分离开发&#xff0c;有利于团队合作接口的文档在线自动生成&#xff0c;降低后端开发人员编写接口文档的负担功能测试 如何使…

企业邮箱价格调查:找到适合你的最佳选择

企业邮箱价格从免费到几百元的都有&#xff0c;价格不同获得的功能和服务也不同&#xff0c;按需购买。企业邮箱多少钱一年&#xff1f;企业邮箱价格。Zoho Mail企业邮箱轻量版300元/5用户/年&#xff0c;高级版200元/用户/年&#xff0c;套件版150元/用户/元。具体的价格取决于…

Unity发布Andriod构建失败各种原因汇总

工程路径不能有中文(老生常谈了)计算机用户名不能是中文,改完重启注意上方截图,我的用户名那时候是中文的.我是最后在解决这个问题以后成功的删除C:\Users\Administrator\.gradle目录(让Unity重新构建此目录)删除.C:\Users\Administrator\.android目录(解决构建时密钥报错问题)…

《HF经理》:一、管理误区

1、不善授权: 原因&#xff1a;不信任下属&#xff0c;惯性思维&#xff08;任务一来自己冲到最前面&#xff09; 对策&#xff1a;从个人成功到带领团队成功。培养并信任下属。 2、不主动寻求上级支持: 原因&#xff1a;上级不仅仅是你的监督和考核者&#xff0c;还是你的支…

两分钟启动一个flask应用

安装依赖 pip install flask -i https://pypi.douban.com/simple pip install flask_cors -i https://pypi.douban.com/simple简单示例 # app.py from flask import Flask, request, send_from_directory, jsonify from flask_cors import CORSapp Flask(__name__) # 创建fl…

计算机网络 Cisco静态路由实验

一、实验要求与内容 1、路由器的基本配置 &#xff08;1&#xff09;命名 &#xff08;2&#xff09;关闭域名解析 &#xff08;3&#xff09;设置路由接口IP地址 2、配置静态路由以实现所有客户机都能互相通信 3、配置默认路由 4、了解ping命令和trace&#xff08;跟踪…

Python常用OS库之path模块学习

学习python没有太多捷径&#xff0c;有也只有技巧&#xff0c;更重要的是要多学多练&#xff0c;个人觉得练更重要&#xff0c;读万卷书不如行万里路。编程是一门技能&#xff0c;所以除了看还要多实践&#xff0c;写得多了自然也就有了路。 如果看全部的标准库文档&#xff0…

基于SpringBoot的“外卖点餐系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“外卖点餐系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能图 用户功能界面 订单管理界面 配送单管…

js禁用所有的input

要在JavaScript中禁用所有的input元素&#xff0c;您可以使用document.querySelectorAll方法来选择所有的input元素&#xff0c;然后使用一个循环来为它们设置disabled属性。以下是实现这一功能的示例代码&#xff1a; // 选择所有的input元素 const inputs document.querySel…

Python 字典组成的数组怎么进行去重?

你知道吗&#xff1f;如果数组是字典组成的&#xff0c;直接对数组内的字典采用 set 的方式进行去重&#xff0c;会报错&#xff1a; test [{"a": 1}, {"a": 1}, {"a": 3}, {"b": 4}] test list(set(test)) >>> TypeError…

设计模式——迭代器模式15

迭代器模式提供一种方法访问一个容器对象中各个元素&#xff0c;而又不需暴露该对象的内部细节。 设计模式&#xff0c;一定要敲代码理解 抽象迭代器 /*** 迭代抽象* */ public interface Iterator<A> {A next();boolean hasNext(); }迭代器实现 /*** author ggbond*…

极市平台 | 卫星图像公开数据集资源汇总

本文来源公众号“极市平台”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;卫星图像公开数据集资源汇总 本文收集整理了卫星图像的开源数据集&#xff0c;多用于图像分割方向&#xff0c;希望能给大家的学习带来帮助。 1 水体卫…