美文网首页
CSS选择器

CSS选择器

作者: losspm | 来源:发表于2017-04-23 18:48 被阅读23次

class和ID的使用场景


一般情况而言,class代表这一类,多个元素可以共同属于一个class,而ID是唯一的,每一个ID对应唯一的元素。class试用于设置共性,而ID适合设置个性。

CSS常见的选择器


基础选择器

  • *通用选择器,选择页面全部元素
  • ID选择器,匹配特定的ID元素
  • 类选择器,匹配class类型中包含特定类的元素

组合选择器

  • E,F:多元素选择器,用,分隔,同时匹配元素E或元素F
  • E F:后代选择器,用空格分隔,匹配E元素所有的后代元素F
  • E>F:子元素选择器,匹配E元素的所有直接元素
  • E+F:直接相邻选择器,匹配E元素之后的相邻的同级元素F
  • E~F:普通相邻选择器,匹配E元素之后的同级元素F(无论直接相邻与否)

属性选择器

  • E[attr]:匹配所有具有属性attr的元素
  • E[attr=value]:匹配属性值为value的元素
  • E[attr~=value]:匹配所有属性attr具有多个空格分隔,其中一个值等于value的元素
  • E[attr^=value]:匹配属性attr的值以value开头的元素
  • E[attr$=value]:匹配属性attr的值以value结尾的元素
  • E[attr*=value]:p匹配属性attr的值包含value的元素

伪类选择器

  • E:first-child:匹配元素E的第一个子元素
  • E:link :匹配素有未被点击的链接
  • E:visited :匹配所有已经被点击的链接
  • E:active :匹配鼠标已经在其上按下,但是还没有释放的E元素
  • E:hover :匹配鼠标悬停其上的E元素
  • E:focus :匹配获得当前焦点的E元素
  • E:lang(c) :匹配lang属性等于c的元素
  • E:enabled :匹配表单中可用的元素
  • Edisabled :匹配表单中禁用的元素
  • E:checked: 匹配表单中被选中的radio或checkbox元素
  • E:selection: 匹配用户当前选中的元素
  • E:root :匹配文档的根元素,对于HTML文档,就是HTML元素
  • E:nth-child(n) :匹配其父元素的第n个子元素,第一个编号为1
  • E:nth-last-child :匹配其父元素的第n个子元素,第一个编号为1
  • E:nth-of-type(n):与:nth-child作用类似,但是仅匹配使用同种标签的元素
  • E:nth-last-of-type(n) :与nth-last-child作用相似,但是仅匹配使用同种标签的元素
  • E:first-child:匹配父元素的第一个子元素
  • E:last-child :匹配父元素的最后一个子元素
  • E:first-of-type :即 E:nth-of-type(1)
  • E:last-of-type :即 E:nth-last-of-type(1)
  • E:only-child :匹配父元素下仅有的一个子元素
  • E:only-of-type :匹配父元素下使用同种标签的唯一一个子元素

伪类元素选择器

  • E::first-line :匹配E元素内容的第一行
  • E::first-letter :匹配E元素内容的第一个字母
  • E::before :在E元素之前插入生成的内容
  • E::after :在E元素之后插入生成的内容

CSS选择器的优先级


以下优先权是从高到低

  • 在属性后面使用!import会覆盖页面内任何位置定义的元素样式
  • 作为style属性写在元素标签上的内联样式
  • id选择器
  • 类选择器
  • 伪类选择器
  • 属性选择器
  • 标签选择器
  • 通配符选择器
  • 浏览器自定义
    当各种选择器交错在一起时候,当情况比较复杂时,可以用下述方法进行优先权重的比较:
  • 根据组合选择器按照以下规则统计各类选择器的个数:
    行内样式 --> 统计值为a
    ID选择器 --> 统计值为b
    类、属性选择器、伪类选择器 --> 统计为c
    标签选择器、伪类选择器 --> 统计为d
  • 先比较a值的大小,a值大的则优先级高;如果a值相等,则再比较b值的大小,b值大的优先级高;如果b值相等,则比较c值的大小,c值大的优先级高;如果c值相等,则比较d值的大小,d值大的优先级高;

a:link,a:hover,a:active,a:visited的顺序

首先,a:link排在第一位;a:visited排在第二位;a:hover排在第三位;a:active排在最后,原因如下:
由于a:link状态表示着链接最为初始的状态,当访问过后,颜色要改变,因此要覆盖a:link原来状态,因此排在a:link之后。
a:hover需要排在a:active之前是因为当点击时候,a:active状态的颜色需要将a:hover的覆盖,因此这样排列。
尽管访问过后的链接颜色需要改变,但是不能将a:hover的颜色体现给覆盖掉,因此a:hover排列在a:visited之后。

相关文章

  • CSS选择器

    CSS 元素选择器CSS 选择器分组CSS 类选择器详解CSS ID 选择器详解CSS 属性选择器详解CSS 后代...

  • CSS选择器

    目录: CSS派生选择器 CSS元素选择器 CSS Id 和 Class选择器 CSS 属性选择器 CSS 派生选...

  • css选择器

    css选择器】 1.css属性选择器 2.css伪类选择器 3.css层次选择器

  • CSS 选择器

    CSS 选择器 CSS 基本选择器及其扩展 CSS 基本选择器 通配符选择器 * 元素选择器 使用标签的名称...

  • Sublime 学习web的css

    html + css + js css引用 css外部样式 css优先级 css的选择器 标签选择器 类选择器 i...

  • CSS选择器

    CSS选择器的作用 CSS 选择器用于定位我们想要给予样式的 HTML 元素。 CSS选择器的类型 CSS选择器大...

  • JQuery CSS选择器

    CSS普通选择器 选择器函数 CSS伪类选择器

  • CSS-选择器1-概述

    CSS选择器-系列文章 CSS选择器-系列文章下一节 CSS选择器2-类选择器CSS3参考手册

  • CSS选择器、优先级以及!important知识总结

    一、CSS选择器 关于CSS选择器,首先请看这里:CSS 选择器参考手册 通过以上,我们可以将CSS选择器分为以下...

  • CSS

    CSS规则 at 规则 CSS选择器 CSS选择器 继承与层叠 继承与层叠 CSS 属性 CSS 属性 CSS值 ...

网友评论

      本文标题:CSS选择器

      本文链接:https://www.haomeiwen.com/subject/imuyzttx.html