CSS【04】:CSS组合选择器
组合选择器
群组(并集)选择器
作用:给所有选择器选中的标签设置属性,可以同时控制多个选择器
格式:
选择器1, 选择器2 {
属性: 值;
}
注意点:
- 必须使用
,来连接 - 选择器可以使用标签名称、id名称、类名称
- 必须使用
后代选择器
作用:找到指定标签的所有特定的后代标签,设置属性
格式:
标签名称1 标签名称2 {
属性: 值;
}
先找到所有名称叫做“标签名称1”的标签,然后再在这个标签下面去查找所有名称叫做“标签名称2”的标签,然后在设置属性
注意点:
- 后代选择器必须用空格隔开
- 后代不仅仅是儿子,也包括孙子/重孙子,只要最终是放到指定标签中的都是后代
- 后代选择器不仅仅可以使用标签名称,还可以使用其它选择器
- 后代选择器可以通过空格一直延续下去
子代选择器
作用:找到指定标签中所有特定的直接子元素,然后设置属性
格式:
标签名称1 > 标签名称2 {
属性: 值;
}
先找到所有名称叫做“标签名称1”的标签,然后在这个标签中查找所有直接子元素名称叫做“标签名称2”的元素
注意点:
- 子元素选择器只会查找儿子,不会查找其他被嵌套的标签
- 子元素选择器之间需要用
>连接 - 子元素选择器不仅仅可以使用标签名称,还可以使用其它选择器
- 子元素选择器可以通过
>符号一直延续下去
兄弟选择器
相邻兄弟选择器
作用:给指定标签后面紧跟的那个标签设置属性
格式:
选择器1 + 选择器2 {
属性: 值;
}
注意点:
- 相邻兄弟选择器必须通过
+连接 - 相邻兄弟选择器只能选中紧跟其后的那个标签,不能选中被隔开的标签
- 相邻兄弟选择器必须通过
通用兄弟选择器
作用:给指定选择器后面的所有选择器选中的所有标签设置属性
格式:
选择器1 ~ 选择器2 {
属性: 值;
}
注意点:
- 通用兄弟选择器必须用
~连接 - 通用兄弟选择器选中的是指定选择器后面某个选择器选中的所有标签,无论有没有被隔开都可以选中
- 通用兄弟选择器必须用
交集选择器
作用:给所有选择器选中的标签中,相交的那部分标签设置属性
格式:
选择器1选择器2{
属性: 值;
}
注意点:
- 选择器和选择器之间没有任何的连接符号
- 择器可以使用标签名称、id名称、class名称
- 交集选择器仅仅作为了解,企业开发中用的并不多
属性选择器
- [attr]:匹配拥有attr属性的标签
- [attr=val]:匹配拥有attr属性,属性值为val的标签
- [attr^=val]:匹配拥有attr属性,属性值以val开头的标签
- [attr$=val]:匹配拥有attr属性,属性值以val结尾的标签
- [attr*=val]:匹配拥有attr属性,属性值包含val的标签
组合选择器优先级
- 组合选择器优先级与权值相关,权重为权值和
- 权值对应关系
| 选择器 | 权值 |
|---|---|
| 通配 | 1 |
| 标签 | 10 |
| 类、属性 | 100 |
| id | 1000 |
| !important | 10000 |
选择器权值比较,只关心权重和,不更新选择器位置
不同级别的选择器间不具备可比性:一个类选择器优先级高于n个标签选择器的任意组合
优先级取决于权重,其实就是比较个数
不同的修饰符(后代、兄弟、交集...)均不影响权重
选择器的位置也不会影响权重
权重只和个数有关
id的权重无限大于class无限大于标签
属性选择器的权重与类一样
a标签的四大伪类
/* 链接的初始状态(未被访问过) */
a:link {}
/* 链接被鼠标悬浮 */
a:hover {}
/* 链接处于激活状态(鼠标按下) */
a:active {}
/* 链接已被访问过 */
a:visited {}
伪类选择器
作用:选中指定的任意标签然后设置属性
同级别的第几个:先确定位置再匹配类型
- :first-child,选中同级别中的第一个标签
- :last-child,选中同级别中的最后一个标签
- :nth-child(n),选中同级别中的第n个标签
- nth-last-child(n),选中同级别中的倒数第n个标签
- :only-child,选中父元素中唯一的标签
同级同类型的第几个:先确定类型再匹配位置
- :first-of-type,选中同级别中同类型的第一个标签
- :last-of-type,选中同级别中同类型的最后一个标签
- :nth-of-type(n),选中同级别中同类型的第n个标签
- :nth-last-of-type(n),选中同级别中同类型的倒数第n个标签
- :only-of-type,选中父元素中唯一类型的某个标签
- :not(:nth-of-type(n)),取反操作,除了同级别中同类型的第n个标签的其余标签
CSS【04】:CSS组合选择器的更多相关文章
- CSS快速入门-组合选择器
<div class="gradefather"> hello1 <div class="father">hello2 <p cl ...
- CSS的引入与选择器
CSS的引入与选择器 CSS与HTML的关系 Cascading Style Sheet 即层叠样式表 在上一篇文中,已经介绍了一些非常常用的HTML标签,接下来将步入CSS的学习,如果将单纯HTML ...
- CSS_03_01_CSS组合选择器
CSS组合选择器 第01步:创建css:with.css @charset "utf-8"; /* 组合选择器,用","隔开 */ .a,.b,div span ...
- CSS 简介、 选择器、组合选择器
#CSS 装饰器引入<!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...
- [04-01]css组合选择器
/* 私人笔记 */ 组合选择器:把基本选择器通过特殊符号串在一起,可以带来一些特殊的意义: 1.源码 <!DOCTYPE html> <html lang="zh&q ...
- CSS 组合选择器
CSS 组合选择器 注:使用逗号分隔,同时应用. 多个id选择器拼接到一起 含有:i1 i2 i3的标签同时应用css样式. <html> <head> <!-- sty ...
- python 46 css组合选择器 及优先级 、属性选择器
一:css组合选择器 特性:每个选择器位可以为任意基本选择器或选择器组合 选择器分为以下几类: 群组选择器,子代(后代)选择器,相邻(兄弟)选择器,交集选择器,多类名选择器 1.群组选择器: d ...
- 2、前端--初见前后端交互、CSS简介、基本选择器、组合选择器、属性选择器、分组与嵌套、伪类选择器
今日内容概要 初窥后端框架 css简介 css选择器 今日内容详细 初次体验前后端交互 # 代码无需掌握 只看效果即可 """后端框架:可以简单的理解为别人写好的一个非常 ...
- 前端知识之CSS(1)-css语法、css选择器(属性、伪类、伪元素、分组与嵌套)、css组合器
目录 前端基础之css 1.关于css的介绍 2.css语法 3.三种编写CSS的方式 3.1.style内部直接编写css代码 3.2.link标签引入外部css文件 3.3.标签内直接书写 4.c ...
随机推荐
- 15 VScode 使用相关
1.生成html头文件 ①:按下!键 ②:连按两下tab键 即可
- 逆向工程之修改关键CALL返回值_破解视频转换专家
1)注册软件随便输入注册名注册码 2)进入软件根目录,发送到PEID查壳 3)发现无壳 4)发送到OD 4.1)右键菜单选择智能搜索 4.2)找到关键信息点注册 4.3)找到关键信息点双击进入汇编,向 ...
- Brocade SAN交换机常用命令
Brocade SAN交换机常用命令 使用电脑连接Brocade SAN交换机常用命令 使用电脑连接管理网口,默认IP地址为:10.77.77.77,掩码:255.255.255.0 默认用户名:ad ...
- linux --nginx篇
NGINX是什么? nginx是开源的,支持高性能的,高并发的www服务和代理服务软件,就是web服务器,nginx不但是一个优秀的web服务软件,还可以做反向代理,负载均衡,以及缓存服务使用. 优点 ...
- mysql避免数据库误操作小技巧(转)
避免混淆开发环境的DB和生产环境的DB这在小公司小团队尤其常见.一个人即负责开发,又管DB.桌面上开了一坨终端,有的是开发的DB,有的是生产的DB.一不留神,就写串了,或者粘贴串了.更郁闷的是,有时候 ...
- rebuild online时意外中断 再次重建时报错解决方法
rebuild online时意外中断 再次重建时报错 SQL> alter index PARTY.IDX_CM_INDIV_CUSTOMER_4 rebuild online; alter ...
- spark-sql将Rdd转换为DataFrame进行操作的两种方法
SparkConf sparkConf = new SparkConf() .setMaster("local").setAppName("ClzMap"); ...
- TZOJ:区间问题
描述 有n项工作,每项工作分别在 si时间开始,ti时间结束.对于每项工作你选择参与与否,如果选择 了参与,那么自始至终就必须全程参与.参与工作的时间段不可以重叠(即使是开始的瞬间和结束的瞬间重叠也是 ...
- bugfree3.0.1-BUG解决方案修改
该篇内容来自文档“masterBugFree2.pdf”,记录在这里. 1.如何将解决方案改为中文 在\Bugfree\Lang\ZH_CN_UTF-8 \_COMMON.php 文件中做如下修改/* ...
- python基础(16)-进程&线程&协程
进程之multiprocessing模块 Process(进程) Process模块是一个创建进程的模块,借助这个模块,就可以完成进程的创建. 介绍 初始化参数 Process([group [, t ...