美文网首页
css选择器

css选择器

作者: 赵BW | 来源:发表于2017-03-20 15:14 被阅读0次

    class和id选择器

    • id:id选择器就是像身份证号一样。原则上是唯一的。但是也可以不唯一。一般就用于选择一个元素。多用于页面分块的块级元素上。
    • class:class选择器可以用于多个标签元素。一般是选择多个元素。

    常见的选择器

    • id选择器:#id
    • 类选择器:.class
    • 标签选择器:p
    • 通用元素选择器:*

    组合选择器

    • 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元素之后插入生成的内容

    选择器的优先级
    • 属性后加!important
    • 内联样式
    • 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{
    color:"#101"
    }
    a:visited{
    color:"#151"
    }
    a:hover{
    color:"#103"
    }
    a:active{
    color:"#121"

    }
    原因:
    当鼠标移动到a标签上,此时与标签颜色相关的选择器有:a:link,a:visited,a:hover,这三个选择器拥有相同的优先级,但是被写在最后的选择器会覆盖掉之前的选择器,因此要想实现“当鼠标移动到a标签上变换颜色”的效果,需要将a:hover置于 a:link 和 a:visited 之后
    当鼠标点击a标签,此时与标签颜色相关的选择器有:a:link,a:visited,a:hover和a:active,这四个选择器拥有相同的优先级,但是被写在最后的选择器会覆盖掉之前的选择器,因此要想实现“当鼠标点击a标签时变换颜色”的效果,需要将a:active置于a:link,a:visited,a:hover 之后


    div:first-child和div:first-of-type的作用和区别

    • first-child 匹配其父元素的第一个子元素
    • first-of-type 匹配其父元素下拥有相同标签的第一个元素

    相关文章

      网友评论

          本文标题:css选择器

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