组合选择器

群组(并集)选择器

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

  • 格式:

    选择器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. Spring-boot(二)--thymeleaf

    @Controller @RequestMapping("/") public class MessageController { private final MessageRep ...

  2. Ubuntu16.04 本地提权漏洞复测过程

    一.漏洞概述 Ubuntu 16.04 版本且unprivileged_bpf_disable 权限没有关闭的情况下就会存在 提权漏洞查看方式:1,cat /proc/version 查看系统版本 2 ...

  3. windows安装tomcat

    1.打开官网http://tomcat.apache.org/ 2.在左侧的导航栏Download下方选择最新的Tomcat 9,点击页面下方的“ 64-bit Windows zip (pgp, m ...

  4. 关于Vue懒加载问题

    有关Vue懒加载其实并不是想象的那么难和复杂: 首先引入 import  VueLazyLoad from 'vue-lazyload'; 其次是使用 Vue.use(VueLazyLoad,{ er ...

  5. PHP指定时间戳/日期加一天,一年,一周,一月

    PHP指定时间戳加上1天,1周,1月,一年其实是不需要用上什么函数的!指定时间戳本身就是数字整型,我们只需要再计算1天,1周它的秒数相加即可! 博主搜索php指定时间戳加一天一年,结果许多的文章给出来 ...

  6. PHP(javascript基础)

    js浏览器的脚本语言js的基础语法和 . js Dom操作写法分类1.行内(内联)写在标签里面,以属性的形式表现,属性名是“事件属性名” 例如:<button onClick="js代 ...

  7. C语言定义的操作mysql数据库的接口

    编写的环境:centos7系统下,对mysql的衍生mariadb进行数据库的操作,包含设置访问数据库的参数,查询数据库和增删改数据库的三个功能.对于查询数据库,我这里允许不返回查询结果,用于判断查询 ...

  8. Intellij IDEA快捷键与使用技巧一览表

    Intellij IDEA快捷键 Ctrl+Shift + Enter,语句完成 "!",否定完成,输入表达式时按 "!"键 Ctrl+E,最近的文件 Ctrl ...

  9. oracle 日期取 月 日

    今天碰到只要取月份和天数,如果月份前面有0要去掉0.比如说2010-01-08 ,需要的结果是1-8. 引出了一系列的sql语句 第一: 利用to_number的函数转换自动截0 select to_ ...

  10. 【Gradle】-NO.101.Gradle.1.gradle.1.001-【Gradle Configuration】-(

    Style:Gradle Series:Gradle Since:2018-09-20 End:2018-09-20 Total Hours:1 Degree Of Diffculty:5 Degre ...