组合选择器

群组(并集)选择器

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

  • 格式:

    选择器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. python全栈开发 * 15知识点汇总 * 180621

    #15 函数二 与 匿名函数1.dir() # 查看内置属性,将对象所有方法名放在另一个列表中.dic={"水果":"香蕉",'蔬菜':"土豆&quo ...

  2. JavaScript基础知识(DOM)

    获取元素的方法 要操作谁,就要先获取谁: 获取元素 1.document.getElementById:通过ID名来获取元素 兼容性: 在IE8以下,会默认把name属性当做id来获取: docume ...

  3. stm8 同时使用dac和adc 采集异常,电平异常

    这种现象在早期的 使用stm8l151的dac 和adc相互干扰很厉害.后来通过读手册发现  相邻三个引脚一般不建议同时使用dac和adc.也就是这两种功能,引脚分配至少隔离三个引脚.内部为了节省成本 ...

  4. BrowserRoute服务器配置

    BrowserRoute服务器配置 在React项目中我们经常需要采用React-Router来配置我们的页面路由,React-Router 是建立在 history 之上的,常见的history路由 ...

  5. 使用iostat查看磁盘使用情况

    Ⅰ.iostat安装 [root@VM_42_63_centos ~]# yum install -y sysstat Ⅱ.玩一手 [root@VM_42_63_centos ~]# iostat - ...

  6. 最全的MonkeyRunner自动化测试从入门到精通(10)

    三.MonkeyRunner复杂的功能开始学习 (1)获取APK文件中ID的两种方式 Monkeyrunner的环境已经搭建完成,现在对Monkeyrunner做一个简介. Monkeyrunner工 ...

  7. python 发送无附件邮件

    import smtplibimport tracebackfrom email.mime.text import MIMETextfrom config.config import *        ...

  8. 【Python全栈-JavaScript】JavaScript的window.onload()与jQuery 的ready()的区别

    JavaScript的window.onload()与jQuery 的ready()的区别 做web开发时常用Jquery中$(document).ready()和JavaScript中的window ...

  9. unity 安装破解提示partern not found和tutorials学习

    1.破解安装问题:unity 安装破解提示partern not found 可能和安装了多个版本有关,删除了c下的unity目录也没有解决,试着重新安装也不能破解, 破解的软件的方式是生成lisen ...

  10. vue 环境报错 chromedriver@2.44.1 install: `node install.js`

    解决办法: 1. yarn add chromedriver -g 2.yarn add chromedriver --chromedriver_cdnurl=http://cdn.npm.taoba ...