组合选择器

群组(并集)选择器

  • 作用:给所有选择器选中的标签设置属性,可以同时控制多个选择器

  • 格式:

    选择器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组合选择器的更多相关文章

  1. CSS快速入门-组合选择器

    <div class="gradefather"> hello1 <div class="father">hello2 <p cl ...

  2. CSS的引入与选择器

    CSS的引入与选择器 CSS与HTML的关系 Cascading Style Sheet 即层叠样式表 在上一篇文中,已经介绍了一些非常常用的HTML标签,接下来将步入CSS的学习,如果将单纯HTML ...

  3. CSS_03_01_CSS组合选择器

    CSS组合选择器 第01步:创建css:with.css @charset "utf-8"; /* 组合选择器,用","隔开 */ .a,.b,div span ...

  4. CSS 简介、 选择器、组合选择器

    #CSS 装饰器引入<!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...

  5. [04-01]css组合选择器

    /* 私人笔记 */   组合选择器:把基本选择器通过特殊符号串在一起,可以带来一些特殊的意义: 1.源码 <!DOCTYPE html> <html lang="zh&q ...

  6. CSS 组合选择器

    CSS 组合选择器 注:使用逗号分隔,同时应用. 多个id选择器拼接到一起 含有:i1 i2 i3的标签同时应用css样式. <html> <head> <!-- sty ...

  7. python 46 css组合选择器 及优先级 、属性选择器

    一:css组合选择器 特性:每个选择器位可以为任意基本选择器或选择器组合 选择器分为以下几类: 群组选择器,子代(后代)选择器,相邻(兄弟)选择器,交集选择器,多类名选择器 1.群组选择器:    d ...

  8. 2、前端--初见前后端交互、CSS简介、基本选择器、组合选择器、属性选择器、分组与嵌套、伪类选择器

    今日内容概要 初窥后端框架 css简介 css选择器 今日内容详细 初次体验前后端交互 # 代码无需掌握 只看效果即可 """后端框架:可以简单的理解为别人写好的一个非常 ...

  9. 前端知识之CSS(1)-css语法、css选择器(属性、伪类、伪元素、分组与嵌套)、css组合器

    目录 前端基础之css 1.关于css的介绍 2.css语法 3.三种编写CSS的方式 3.1.style内部直接编写css代码 3.2.link标签引入外部css文件 3.3.标签内直接书写 4.c ...

随机推荐

  1. history.back();谷歌浏览器,iframe后退问题

    history.back();谷歌浏览器,iframe后退直接会后退父页面. 使用以下方式即可//document.referrer是获取上一页的urllocation.href=document.r ...

  2. java web应用连接mysql会突然connection连接失败

    tomcat6.0 mysql5.1 项目:java web项目 问题:原本项目运行了好几天了,一直没发现问题,突然今天报数据库连接异常,进入看日志发现 ### Error querying data ...

  3. Linux wildcard

    Linux中的通配符: 需要注意的是正则表达式与通配符完全是两个东西.wildcard代表的是bash操作接口的一个功能,而正则表达式是一种字符串处理的方法. 例如,'?',在通配符中表示一个字符,在 ...

  4. hive on spark配置

    1.安装java.maven.scala.hadoop.mysql.hive 略 2.编译spark ./make-distribution.sh --name "hadoop2-witho ...

  5. git diff 结果分析

    git diff 的5个使用场景: 1.staging area和working area的文件 (无其他参数时) git diff   2.master分支和working area的文件 (用ma ...

  6. jupyter notebook安装/代码补全/支持golang 踩坑记

    安装(不要用root) 安装anaconda3,然后ln -s bin目录下的jupyter命令到/usr/bin目录下 生成密码备用 敲ipython进入交互终端 In [1]: from note ...

  7. ivew定制主题 less ^3.0 时报错 .bezierEasingMixin(); Inline JavaScript is not enabled. Is it set in your options?

    按照 ivew 提供的方法定制主题,创建一个 less 文件,在其中覆盖变量,再在 main.js 中引入.戳这里 出现报错: 问题貌似是在于 less 版本...两种解决方法: 1.打开项目pack ...

  8. linux 通过pid 寻找程序路径的最简单命令(pwdx)

    在linux实际操作命令中,查看pid的方式有很多种,通过pid找程序路径的方式也有好几个,但是可能大家都忽略的一个很简单也是很实用的命令:pwdx. 比如要查找某个java编写的程序运行情况可通过j ...

  9. AWK编程

    1.awk的概述 文本处理工具,由于功能的强大,也可以当做是一种数据操作语言,非常适合结构化数据的处理和格式化报表的生成,awk可以进行样式装入.流控制.数学运算符.甚至于内置的变量和函数.它具备了一 ...

  10. Python 操作 MySQL 的5种方式(转)

    Python 操作 MySQL 的5种方式 不管你是做数据分析,还是网络爬虫,Web 开发.亦或是机器学习,你都离不开要和数据库打交道,而 MySQL 又是最流行的一种数据库,这篇文章介绍 Pytho ...