CSS伪类、伪元素

news2024/10/5 14:15:30

CSS伪类、伪元素

一、伪类

:hover

鼠标🖱悬停时的伪类,如:

/*	鼠标悬停到.box上时背景颜色变为红色	*/
.box:hover {
	background-color: red;
}

:active

鼠标🖱点击时的伪类,如:

/*	鼠标点击时背景颜色变为灰色	*/
.box:active {
    background-color: grey;
}

:not()

不选择指定的选择器,如:

/*	选中所有用了.box类选择器且不是h1标签的元素	*/
.box:not(h1) {
	font-size: 16px;
}

:focus

输入表单得焦点时的伪类,如:

/*	input获得焦点后背景变为粉红色	*/
input:focus {
    background-color: pink;
}

:first-child

父容器中第一个元素,且这个元素类型必须指定类型一致,有点不好直接理解,没关系,看代码:happy:

/*	.box的第一个孩子,且必须是p标签,才选中	*/
.box p:first-child {
    color: red;
}

:last-child

父容器中最后一个元素,且这个元素类型必须指定类型一致

/*	.box的最后一个孩子,且必须是p标签,才选中	*/
.box p:last-child {
    color: red;
}

:nth-child()

父容器中指定序号的元素(序号从1开始),且这个元素类型必须指定类型一致

/*	.box的第二个子元素,且必须是div类型	*/
.box div:nth-child(2) {
    width: 200px;
}
/*	n范围为[0,+oo),所以 2n + 1 范围 [1, +oo),即选中.box中序号为1,3,5,...等元素,且必须是div类型	*/
.box div:nth-child(2n + 1) {
    width: 200px;
}

:nth-last-child

从父容器中倒着取指定序号的元素,且这个元素类型必须指定类型一致

/*	.box的倒数第二个子元素,且必须是div类型	*/
.box div:nth-last-child(2) {
    width: 200px;
}
/*	选中.box1中倒数第一个,倒数第三个,...等元素,且必须是div类型	*/
.box div:nth-last-child(2n + 1) {
    width: 200px;
}

:first-of-type

父容器中第一个指定类型的元素,如:

/*	选中.box中第一个div,将高度设为100px	*/
.box div:first-of-type {
    height: 100px;
}

:last-of-type

父容器中最后一个指定类型的元素,如:

/*	选中.box中最后一个div,将高度设为100px	*/
.box div:last-of-type {
    height: 100px;
}

:nth-of-type

父容器中指定类型的元素第几个,如:

/*	选中.box中第二个div	*/
.box div:nth-of-type(2) {
    height: 100px;
}

/*	选中.box中第1, 3, 5, ...个div	*/
.box div:nth-of-type(2n + 1) {
    height: 100px;
}

:nth-last-type-of

与:nth-of-type取值顺序相反

:checked

勾选状态的表单,如:

<body>
	<input type="radio" chekced/>
	<input type="checkbox" checked/>
</body>
<style>
    input:checked {
        width: 30px;
        height: 30px;
    }
</style>

:disabled

选择禁用状态的表单,如:

<body>
	<input type="radio" disabled/>
	<input type="checkbox" disabled/>
</body>
<style>
    input:disabled {
        width: 30px;
        height: 30px;
    }
</style>

:enabled

选择可用状态的表单,如:

<body>
	<input type="radio"/>
	<input type="checkbox"/>
</body>
<style>
    input:enabled {
        width: 30px;
        height: 30px;
    }
</style>

二、伪元素

::before

在元素内容前插入一个虚拟元素

::after

在元素内容后插入一个虚拟元素

::selection

用户选中的文本

::placeholder

表单元素的占位符文本

以上伪元素使用方式如下:

<body>
	<h1>
        请输入你的名字
    </h1>
    <input type="text"/>
</body>
<style>
    /*	h1前添加[	*/
    h1::before {
        content: '['
    }
    /*	h1后添加]	*/
    h1::after {
        content: ']'
    }
    /*	h1中文本选中时改为红色	*/
    h1::selection {
        color: red;
    }
    /*	input占位字符颜色设置为灰色	*/
    input::placeholder {
        color: grey;
    }
</style>

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

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

相关文章

Github界面学习

之前并没有使用到其他功能大多数是看代码&#xff0c;然后看discussion&#xff1b; now,在做毕设的时候发现了一个gymnasium关于异步环境的bug&#xff0c;查看github发现已经被修复了&#xff1b; 因此希望学习一下修复者是在哪个module修复以及如何修复以及提交代码&#…

Spring Boot框架在大学生就业招聘中的应用

3系统分析 3.1可行性分析 通过对本大学生就业招聘系统实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本大学生就业招聘系统采用JAVA作为开发语言&#xff0c;S…

kaggle实战3RossmanStore商店销售额预测XgBoost解决回归问题案例1

kaggle实战2信用卡反欺诈逻辑回归模型案例1 数据集下载地址 https://download.csdn.net/download/AnalogElectronic/89844637 https://tianchi.aliyun.com/dataset/89785 加载数据 #预测销售额 回归问题 import numpy as np import pandas as pd import matplotlib.pyplot a…

无神论文解读之ControlNet:Adding Conditional Control to Text-to-Image Diffusion Models

一、什么是ControlNet ControlNet是一种能够控制模型生成内容的方法&#xff0c;能够对文生图等模型添加限制信息&#xff08;边缘、深度图、法向量图、姿势点图等&#xff09;&#xff0c;在当今生成比较火的时代很流行。 这种方法使得能够直接提供空间信息控制图片以更细粒…

招联2025校招内推倒计时

【投递方式】 直接扫下方二维码&#xff0c;或点击内推官网https://wecruit.hotjob.cn/SU61025e262f9d247b98e0a2c2/mc/position/campus&#xff0c;使用内推码 igcefb 投递&#xff09; 【招聘岗位】 后台开发 前端开发 数据开发 数据运营 算法开发 技术运维 软件测试 产品策…

【课程学习】随机过程之泊松过程

随机过程之泊松过程 泊松分布泊松过程 泊松分布 二项分布是离散性的分布&#xff0c;泊松分布是把二项分布取n趋于无穷得到的连续分布。也就是在一段时间内不停的观察某件事情发生的次数。 如&#xff1a;一个小时内观察一段路上经过行人的数目&#xff0c;如果每个半个小时观…

nginx和gateway的关系和区别

在技术选型时&#xff0c;选择 Nginx 和 Spring Cloud Gateway&#xff08;或简称为 Gateway&#xff09;主要取决于具体应用场景和技术需求。下面是两者的一些关键差异和适用场景。 一、Nginx 概念 Nginx 是一个高性能的 Web 服务器和反向代理服务器&#xff0c;常被用作静…

智能手表(Smart Watch)项目

文章目录 前言一、智能手表&#xff08;Smart Watch&#xff09;简介二、系统组成三、软件框架四、IAP_F411 App4.1 MDK工程结构4.2 设计思路 五、Smart Watch App5.1 MDK工程结构5.2 片上外设5.3 板载驱动BSP5.4 硬件访问机制-HWDataAccess5.4.1 LVGL仿真和MDK工程的互相移植5…

CSRF | CSRF 漏洞介绍

关注这个漏洞的其他相关笔记&#xff1a;CSRF 漏洞 - 学习手册-CSDN博客 0x01&#xff1a;CSRF 漏洞简介 CSRF&#xff08;Cross-Site request forgery&#xff0c;跨站请求伪造&#xff09;也被称为 One Click Attack 或者 Session Riding&#xff0c;通常缩写为 CSRF 或者 X…

【Java】IntelliJ IDEA开发环境安装

一、下载 官方地址&#xff1a;https://www.jetbrains.com/idea/ 点击Download直接下载 二、安装 双击安装包&#xff0c;点击Next 选择安装路径&#xff0c;点击Next 勾选安装内容 安装完成。 三、创建项目 打开IDEA&#xff0c;填写项目名称&#xff0c;选择项目安装路径…

S7-200 SMART的数据类型说明

S7-200 SMART的数据主要分为&#xff1a; 与实际输入/输出信号相关的输入/输出映象区&#xff1a; I&#xff1a;数字量输入&#xff08;DI&#xff09;Q&#xff1a;数字量输出&#xff08;DO&#xff09;AI&#xff1a;模拟量输入AQ&#xff1a;模拟量输出 内部数据存储区…

STM32 Hal库SDIO在FATFS使用下的函数调用关系

STM32 Hal库SDIO在FATFS使用下的函数调用关系 本文并不将FATFS的相关接口操作&#xff0c;而是将HAL在使用FATFS通过SDIO外设管理SD卡时&#xff0c;内部函数的调用逻辑&#xff0c;有助于当我们使用CUBEMX生成FATFS读取SD卡的代码时无法运行时Debug。本文也会说明一些可能出现…

如何编写一个优雅的commit message

在Git中&#xff0c;git commit 命令扮演着至关重要的角色。它的主要作用是将暂存区&#xff08;staging area&#xff09;里的改动内容提交到本地仓库&#xff08;repository&#xff09;中&#xff0c;形成一个新的版本或提交&#xff08;commit&#xff09;。这个过程是 Git…

渗透测试入门学习——使用python脚本自动识别图片验证码,OCR技术初体验

写在前面 由于验证码在服务端生成后存储在服务器的session中&#xff0c;而标用于标识用户身份的sessionid存在于用户cookie中 所以本次识别验证码时需要用requests.session()创建会话对象&#xff0c;模拟真实的浏览器行为&#xff0c;保持与服务器的会话才能获取登录时服务…

wsl2 ubuntu 桥接以太网卡

注意&#xff1a;此方法需要至少 Windows 11 22H2。桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。 在桥接的作用下&#xff0c;类似于把宿主机虚拟为一个交换机&#xff0c;所有桥接设置的虚拟机连接到这个交换机的一个接口上&#xff0c;宿主机也同样插在这…

通信工程学习:什么是RARP反向地址解析协议

RARP&#xff1a;反向地址解析协议 RARP&#xff08;Reverse Address Resolution Protocol&#xff0c;反向地址解析协议&#xff09;是一种网络协议&#xff0c;其主要作用是在设备只知道物理地址&#xff08;如MAC地址&#xff09;时&#xff0c;允许其从网关服务器的地址解析…

致亲爱的Android studio

你的未来发展趋势&#xff1a; 可不可以把兼容性&#xff0c;什么的搞得更好。起因是我想写期末大作业&#xff0c;然后简单的把功能写的差不多了之后&#xff0c;我就想到处看看有没有一套比较好的类似于组件库的东西&#xff0c;但是没找到&#xff0c;然后就把目标锁定到了G…

Vue入门-Node.js安装

进入Node.js中文网 ​​​​​​​点击进入Node.js中文网 或者手动输入网址&#xff1a; https://www.nodejs.com.cn/download.html 点击下载64位安装包&#xff1a; 下载好之后双击进行安装 可选择个性化安装或默认安装 直接点【Next】按钮&#xff0c;此处可根据个人需求…

深度解析 HTTP

我的主页&#xff1a;2的n次方_ 1. HTTP 的简单介绍 HTTP &#xff1a;超文本传输协议&#xff0c;不仅能传输文本&#xff0c;还能传输图片&#xff0c;音频文件&#xff0c;视频 目前基本上都用的是 1.1 版本 https 可以认为是 http 的升级版&#xff0c;区别就是引入了…

【pytorch】张量求导4

再再接上文&#xff0c;看到作者有一个关于向量乘矩阵的描述。 经过搜索发现&#xff0c;现在的pytorch已经修复了这一问题&#xff0c;提供了mv()和matmul()两种方式实现矩阵和一维向量的乘积&#xff0c;可以参看这篇文章。 经过查阅pytorch的文件&#xff0c;找到了cuda侧…