1. 元素选择符:以元素名作为选择符(span{ color: red; })
  2. 群组选择符:将两个选择符用逗号隔开构成群组(span, div{ color: red; })
  3. 通用选择符:通用选择符(*)将匹配所有元素(*{ color: red; })
  4. 类选择符:根据类名匹配元素(.类名{ color: red; })
  5. ID选择符:根据ID值匹配元素(#id{ color: red; })
  6. 属性选择符
    • 简单属性选择符:根据是否有这个属性匹配元素(span[class]{ color: red; })
    • 精准属性值选择:匹配属性为特定值的元素(精准字符串匹配)必须完全一致(span[class="urgent warning"]{ color: red; })
    • 根据部分属性值选择:以bar为例
      1. 属性以bar和一个英文破折号开头的,或者bar本身(span[class|="bar"]{ color: red; })
      2. 其值是包含bar的一组词(span[class~="bar"] { color: red; })
      3. 其值是包含子串bar(span[class*="bar"] { color: red; })
      4. 其值以bar开头(span[class^="bar"] { color: red; })
      5. 其值以bar结尾(span[class$="bar"] { color: red; })
  7. 后代选择符:选择所有符合条件的后代(span div { color: red; })
  8. 子代连接符:选择符合条件的子代(span > div { color: red; })
  9. 紧邻同胞连接符:选择同一个父元素中,紧跟在另一个元素后面的元素(span + div { color: red; })
  10. 一般同胞连接符:选择一个元素后面同属一个父元素的另一个元素(如例子:所有在span后面的div的color都是red) ( span~div { color: red; })
  11. 伪类选择符(伪类的效果是把某种幽灵类应用到伪类依附的元素上):
    1. 结构伪类

      • 选择根元素(:root):在html中文档的根元素永远都是html标签,但是在xml中,根元素就千奇百怪了
      • 选择空元素(:empty):可以使用empty伪类可以选择没有任何子代的元素,甚至连文本结点都没有(包括文本和空白)注释不算
      • 选择唯一子代(:only-child):匹配另一个元素的唯一子元素
      • 选择唯一某种子元素(:only-of-type):匹配同胞中唯一的那种元素
      • 选择第一个子代(:first-child):匹配一个元素的第一个子代
      • 选择最后一个子代(:last-child):匹配一个元素的最后一个子代
      • 选择第一个某种子元素(:first-of-type):匹配一个元素的第一个某种子元素
      • 选择最后一个某种子元素(:last-of-type):匹配一个元素的最后一个某种子元素
      • 选择第n个子代(:nth-child(an+b)):匹配第an+b个子代,a、b是常数,n为1、2、3......
      • 选择倒数第n个子代(:nth-last-child(an+b))匹配倒数第an+b个子代,a、b、n同上
      • 选择第n个某种子元素(:nth-of-type(an+b))匹配第an+b个某种子元素,a、b、n同上
      • 选择倒数第n个某种子元素(:nth-last-of-type(an+b))匹配倒数第an+b个某种子元素,a、b、n同上
    2. 动态伪类
      1. 超链接伪类

        • :link 匹配具有herf属性的锚点
        • :visited 匹配已访问的锚点(鉴于隐私保护,伪类中只有color属性才能生效,其它的都无效)
      2. 用户操作伪类
        • :focus 当前获得输入焦点的元素
        • :hover 鼠标指针放置其上的元素
        • :active 由用户输入激活的元素
      3. UI状态伪类
        • :enabled 接受输入的元素
        • :disabled 不接受输入的元素
        • :checked 由用户或文档默认选中的单选框或多选框
        • :indeterminate 既未选中也没有未选中的单选按钮或多选按钮
        • :default 默认选中的单选按钮、复选框或选项
        • :valid 满足有效性语义的输入框
        • :invalid 不满足有效性语义的输入框
        • :in-range 输入的值在最大值和最小值之间的输入框
        • :out-of-range 输入的值不在最小值到最大值之间的输入框
        • :required 指代必须输入值的输入框
        • :optional 指代无须一定输入值的输入框
        • :read-write 可由用户编辑的输入框
        • :read-only 不能由用户编辑的输入框
    3. :target伪类:给锚点(该锚点有id且网页中有url(片段标识符)指向此id)设置样式
    4. :lang伪类:根据文本使用的语言选择元素

CSS学习(二)选择符的更多相关文章

  1. CSS那些事儿-阅读随笔1(CSS简介与选择符)

    最近开始详细钻研CSS有关的知识,参考资料是<CSS那些事儿>.将把在此过程中的收获进行记录,方便以后的学习. 一.CSS简介 1.什么是CSS CSS全称为Cascading Style ...

  2. CSS知识点:选择符

    一.选择符的种类 1)通配选择符 它用来给页面所有的元素设置样式 *{margin:0;padding:0;}.但是实际当中不建议这么用,页面中用到了哪些样式,就统一设置样式,因为*影响性能.也可以给 ...

  3. css伪类选择符

    1):link/:visited/:hover/:active (爱恨原则 love/hate)2):first-child/:last-child/:only-child/:nth-child(n) ...

  4. 学习CSS记录:选择符优先级

    1.标有!important 关键字声明属性. 2.HTML中的CSS样式属性. 3.作者编辑的CSS文件模式属性. 4.用户设置的样式. 5.浏览器默认的样式. ------------------ ...

  5. CSS伪对象选择符整理

    1.E::selection 2.E::placeholder 1. E::selection 设置对象被选择时的样式. 需要注意的是,::selection只能定义被选择时的background-c ...

  6. HTML/CSS学习(二)

    续...... ============================================================================================ ...

  7. CSS学习(二)

    display :   block    inline-block    inline block此元素将显示为块级元素,此元素前后会带有换行符. inline默认.此元素会被显示为内联元素,元素前后 ...

  8. html&css学习二

    表格&b标签 表格 表格标签主要包含三个标签 <table> <tr> <td>单元格内的文字</td> ... </tr> ... ...

  9. CSS各属性选择符区别

    CSS2.1: ele[attribute] 匹配具有属性attribute的ele元素. ele[attribute = value] 匹配具有属性attribute且值为value的元素. ele ...

  10. JQuery学习笔记【CSS选择符】--02

    Jquery的程序入口: <html> <head> <title></title> <script type="text/javasc ...

随机推荐

  1. Shell系列(26)- 条件判断之两个文件比较

    两个文件之间进行比较 测试选项 作用 文件1 -net 文件2 判断文件1的修改时间是否比文件2的新(如果新则为真) 文件1 -ot 文件2 判断文件1的修改时间是否比文件2的旧(如果旧则为真) 文件 ...

  2. redis小结 1-1

    1.1什么是resis Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. 1.2Redis 与其他 key - value 缓存产品有以下三个特点 Redis支持 ...

  3. YbtOJ#463-序列划分【二分答案,线段树,dp】

    正题 题目链接:https://www.ybtoj.com.cn/problem/463 题目大意 给出长度为\(n\)的序列\(A,B\).要求划分成若干段满足 对于任何\(i<j\),若\( ...

  4. Skywalking-09:OAL原理——如何通过动态生成的Class类保存数据

    OAL 如何通过动态生成的 Class 类,保存数据 前置工作 OAL 如何将动态生成的 SourceDispatcher 添加到 DispatcherManager // org.apache.sk ...

  5. 使用Jacoco统计服务端代码覆盖情况实践

    一.背景 随着需求的迭代,需求增加的同时,有可能会伴随着一些功能的下线.如果不对系统已经不用的代码进行梳理并删除不需要的代码,那么就会增加系统维护成本以及理解成本.但经历比较长的迭代以及系统交接,可能 ...

  6. mysql从零开始之MySQL 选择数据库

    MySQL 选择数据库 在你连接到 MySQL 数据库后,可能有多个可以操作的数据库,所以你需要选择你要操作的数据库. 从命令提示窗口中选择MySQL数据库 在 mysql> 提示窗口中可以很简 ...

  7. C#开发BIMFACE系列42 服务端API之图纸对比

    BIMFACE二次开发系列目录     [已更新最新开发文章,点击查看详细] 在我的前一篇博客<C#开发BIMFACE系列42 服务端API之图纸对比>中详细介绍了BIMFACE服务端接口 ...

  8. IL合集

    由于之前写的表达式树合集,未编写任何注释且是以图片的形式展现给大家,在这里向各位看官道歉了,接下来为大家奉上新鲜出炉的香喷喷的IL合集,后面会持续更新,各位看官点关注不迷路,之前答应的手写IOC以及多 ...

  9. 题解 Christmas Game

    题目传送门 题目大意 给出 \(t\) 个 \(n\) 个点 \(m\) 条边的无向图,每次可以从任意一棵树选择一条边删掉,然后该树不与根(为 \(1\) )联通的部分被删掉.不能操作的人输.问谁有必 ...

  10. 题解 「BJOI2018 治疗之雨」

    题目传送门 题目大意 有一个初始为 \(p\) 的数,每次操作分为以下两个: 有 \(\frac{1}{m+1}\) 的概率$+1,但是中途 \(p\) 的最大值只能为 \(n\)$ 有 \(k\) ...