CSS——高级选择器

层次的选择器:

<1> 后代选择器:
格式:

标签1 标签2{}

解释:

标签1 不生效,被标签1 嵌套中的 标签2才生效

举例:
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div p{color: rgb(226, 43, 43);}</style>
</head><body><p>不在div中的p</p><div><p>在div中的p</p><p>在div中的p</p></div>
</body></html>

<2>子选择器
格式:

标签1>标签2{}

解释:

此选择器与层次选择器类似,不过,其生效条件是必须要有直接从属关系

举例:
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>body>p{color: rgb(226, 43, 43);}</style>
</head><body><p>只在body中,不在div中的p</p><div><p>不直接被body包含,在div中的p</p></div>
</body></html>

<3>相邻兄弟选择器
      1)  相邻兄弟选择器
格式:

.类名+标签{}

解释:

 通过class属性来引用,被引用后的元素,只有与其相邻的下方的同一个标签生效

举例:
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.r + p{color: rgb(226, 43, 43);}</style>
</head><body><p >与p1同级,相邻的上方</p><p class="r">p1</p><p >与p1同级,相邻的下方</p><p >与p1同级,但不相邻</p><p class="r">p2</p><div><p>与p2不同级,相邻</p></div><p>与p2不同级,但不相邻</p><p class="r">p3</p><span>与p3同级,相邻的,但标签不同</span>
</body></html>

      2)通用相邻兄弟选择器
格式:

.类名~标签名{}

解释:

与相邻兄弟选择器使用方法相同,格式有所改变,生效范围有所扩大,只要在同级下方都会生效。

举例:
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.r ~ p{color: rgb(226, 43, 43);}</style>
</head><body><p >与p1同级,相邻的上方</p><p class="r">p1</p><p >与p1同级,相邻的下方</p><p >与p1同级,但不相邻</p><p class="r">p2</p><div><p>与p2不同级,相邻</p></div><p>与p2不同级,但不相邻</p><p class="r">p3</p><span>与p3同级,相邻的,但标签不同</span>
</body></html>

结构伪类选择器(代码框内仅展示CSS的内容):

格式:

1)父标签 子标签 :元素位置的修饰{}

2)子标签:nth-child(){}

3)子标签:nth-of-type(){}

解释:

此选择器只能写在.css文件当中,引用使用。【具体解释放在代码框内】

举例:

1)

/* body内第一个p标签 */
body p:first-child{color: red;
}

2)

/*首先寻找到li标签,再寻找到它的父级,然后在这个父级当中寻找到第2个标签生效,当且当标签为li时生效*/
li:nth-child(2){color: red;
}

3)

/*首先寻找到li标签,再寻找到它的父级,然后在这个父级当中寻找到第2个标签li的标签,对此生效*/ 
li:nth-of-type(2){color: red;
}

补充:

关于超链接的一些伪选择器的事,可参考此篇文章:点此跳转

属性选择器:

格式:  

标签名[属性名=属性值]{}

解释:

【属性值的匹配可以使用正则表达式】

举例:
/* 含有id的属性的即生效 */
h1[id]{color: red;
}
/* class中仅有color的生效 */
h1[class=color]{background-color: aquamarine;
}
/* 只要class中有color的则生效 */
h1[class*=color]{color: rgb(154, 6, 253);
}

补充:

关于CSS的正则表达式的相关知识点可查阅此篇文章:点此跳转

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

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

相关文章

Rust基本数据类型-切片

一、切片是什么&#xff0c;怎么用 1、切片是什么 切片并不是 Rust 独有的概念&#xff0c;在 Go 语言中就非常流行&#xff0c;它允许你引用集合中部分连续的元素序列&#xff0c;而不是引用整个集合。 对于字符串而言&#xff0c;切片就是对 String 类型中某一部分的引用&…

frp改造Windows笔记本实现家庭版免费内网穿透

文章目录 前言frp原理Windows服务端IP检验IP固定软件下载端口放行端口映射开机启动 NAS客户端端口查询软件下载端口检验穿透测试自启设置 Ubuntu客户端软件下载后台启动 后记 前言 之前一直用花生壳远程控制一个服务器&#xff0c;但最近内网的网络策略似乎发生了变化&#xf…

C# winfrom 超详细UI创建过程 实现双色球选号器UI界面设计过程

一、 效果展示 1. 无点击效果展示&#xff1a;不选中——双色球为灰色&#xff0c;字体也为灰色 2.点击双色器效果展示&#xff1a;选中——双色球为红或者蓝&#xff0c;字体为白色 二、 使用控件标注说明 三、界面特点介绍 双色球代码控制生成---------由于红色33个球&…

24位AD分辨率、256Ksps*16通道国产数据采集卡、uV级采集、支持IEPE

24位AD分辨率、256Ksps*16通道、uV级采集、USB数据传输、支持IEPE、C、LABVIEW、MATLAB、Python等多编程语言&#xff0c;提供例程&#xff0c;支持二次开发。 XM7016-以太网采集卡 XM7016是一款以太网型高速数据采集卡&#xff0c;具有16通道真差分输入&#xff0c;24位分辨率…

230基于matlab的布谷鸟(COA)多目标优化算法

基于matlab的布谷鸟&#xff08;COA&#xff09;多目标优化算法&#xff0c;以 满意度、成本、时间、质量为目标的多目标优化求解代码。程序已调通&#xff0c;可直接运行。 230 matlab 布谷鸟&#xff08;COA&#xff09;多目标优化 - 小红书 (xiaohongshu.com)

进程和计划任务管理

目录 一、程序和进程的关系 程序 进程 线程 进程和线程的关系 二、查看进程信息ps ps 命令——查看静态的进程统计信息 方法一&#xff1a;ps aux 方法二&#xff1a;ps -elf top 命令——查看进程动态信息 系统查看命令总结 查看进程信息pgrep 查看进程树 以树的结…

上位机工作感想-从C#到Qt的转变-1

0.前言 接触Qt开发也有一年多的时间了&#xff0c;还记得去年初从杭州回合肥时&#xff0c;刚来公司面临的几个问题&#xff1a; 1.C#转上位机的迷茫2.新公司管理模式的差异3.试用期的各种紧急任务。 当时也是加班加点学习C和Qt的基础知识&#xff0c;做了两个考核项目后&am…

【大模型应用极简开发入门(2)】GPT模型简史:从GPT-1到GPT-4:从小数据量的微调到大数据量的强化学习不断优化模型

文章目录 一. GPT-1&#xff1a;无监督与微调1. 在GPT-1之前的监督学习的问题2. GPT-1中新的学习过程-无监督的预训练3. 复杂任务下的微调4. GPT-1为更强大的模型铺平了道路 二. GPT-2&#xff1a;context learning1. 核心思想&#xff1a;context learning2. GPT-2的数据集 三…

maven报orace,jdbc错误,并出现大量红色波浪线Unresolved dependency

由于oracle的限制&#xff0c;一般我们是无法通过maven直接下载oracle的驱动包的&#xff0c;这就可能导致其余的包出现红色波浪线&#xff0c;解决方法如下 1.新建一个文件夹&#xff0c;并将oracle驱动包放在这个新建的文件夹下&#xff0c;注意不要讲这个oracle包放在maven本…

浏览器数据找回

网站上分享的文章应该都是个人的心血&#xff0c;对于一些操作问题导致心血丢失真的很奔溃&#xff0c;终于找到一个弥补的办法&#xff0c;csdn的文章谷歌浏览器亲测有效&#xff0c;理论上其他浏览器的其他网站应该也可以&#xff0c;适用以下场景 把博客编辑当成了编写新博…

Vue3+TS版本Uniapp:项目前置操作

作者&#xff1a;前端小王hs 阿里云社区博客专家/清华大学出版社签约作者✍/CSDN百万访问博主/B站千粉前端up主 环境&#xff1a;使用vscode进行开发 如果一开始是使用的HbuilderX&#xff0c;请看hbuilderX创建的uniapp项目转移到vscode 为什么选择vscode&#xff1f;有更好…

温湿度LCD显示并上传服务器

项目需求 通过温湿度传感器将值传到LCD1602&#xff0c;并实时通过蓝牙透传到手机。 硬件介绍 温湿度传感器 DHT11温湿度传感器 DHT11_温湿度传感器数据格式-CSDN博客 LCD1602LCD1602-CSDN博客 HC-01 继电器模块 硬件接线 LCD1602 D0~D7 --> A0~A7VDD, A --> 5v…