组合选择器

群组(并集)选择器

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

  • 格式:

    选择器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. memoization提升递归效率

    从开通博客到目前为止,也有一年了,刚开始的写了一篇工作的感想,然后就一直不知道写什么,看园子里的文章实在是很专业,怕自己写的太水.但是,写一些东西总归是好的,于是就当作是记笔记一样,开始写第一篇技术类 ...

  2. 6.1 Pandora 实操 - 数据收集

    添加机器 添加机器命令,在 linux 机器上执行此命令 添加成功 添加收集器 采集机器数据 解析数据 转换数据 发送数据 接着,下一步即,成功创建收集任务. 分发机器 确认收集人物,绑定到机器上. ...

  3. ruby 基础知识 - Class 与 Module

    原文 1. 因為 Ruby 並沒有「屬性」(property/attribute)這樣的設計,要取用實體變數,需要另外定義的方法才行: class Cat def initialize(name, g ...

  4. 8、路由 router

    路由:router 用户功能 /user ----> index.html /user/login ----> login.html /user/reg ----> reg.html ...

  5. DCL并非单例模式专用

    我相信大家都很熟悉DCL,对于缺少实践经验的程序开发人员来说,DCL的学习基本限制在单例模式,但我发现在高并发场景中会经常遇到需要用到DCL的场景,但并非用做单例模式,其实DCL的核心思想和CopyO ...

  6. 移动端click事件

    var tap = "ontouchstart" in document.documentElement ? "touchend" : "click& ...

  7. ASP.NET MVC Routing Debugger路由调试工具

    官网地址:http://blog.csdn.net/sgear/article/details/6789882 To  use this, simply download the following ...

  8. [No0000186]治愈系课程教材 第一课

    一部分:时态 时态有时间和特点组成 时间:现在.过去.将来 特点:一般.完成.进行.完成进行 所以时态总共有12种(加上过去将来的时间又多出4种时态,总共16种) 一般现在时 一般过去时 一般将来时 ...

  9. ssl证书

    个人理解: 客户端第一次连接服务端的时候,服务端就把证书(中的公钥)给了客户端,客户端验证证书中的公钥是否和本地的公钥一致(客户端一般都会内置类似AC的具有公信力的证书颁发机构), 之后的请求每次请求 ...

  10. android studio/Intellij IDEA(MAC OSX)中android模拟器无法启动的一种原因

    翻了stackoverflow上好多方式,各种重装重启清理缓存,都没有效果. 后来发现,用IDEA创建的模拟器的路径是 /Users/xirtam/.android/avd 而IDE使用的路径是 AN ...