完整css选择器总结与优先级权重

css的选择器,在前端开发中只是很小的一部分,但其重要性却不可忽略。因为其比较繁琐。在看了很多书籍和文章后。我发现选择器的组织真的很混乱,没有找到一个完整的总结。不敢保证我的是否是最完整的,但我已竭尽所能。话不多说,直接看下文:

 1.通配符选择器:*{

                              color:blue

                             }

                          //代表所有的标签和元素

2.类型选择器(标签选择器):body{

                                                    color:blue

                                                  }

                                        //根据html标签来进行选择的选择符

3.id和class选择符:#id名{

                              color:blue

                             }

                             .class名{

                              color:blue

                             }

               //需要注意的是id具有唯一性,而class不具有,而且id的优先级高于class

4.伪类选择器://常用的是锚伪类

                           a:link{}            /*链接未访问*/

                           a:visited{}      /*链接已访问*/

                           a:hover{}      /*鼠标移动到链接*/

                           a:active{}      /*选定链接*/

                           a:focus{}      /*聚焦时*/

                          a:lang{}      /*元素带有指定lang时*/

                          a:first-child{}      /*元素在页面第一次出现时*/

5.伪元素选择器:a:before{}        /* 在某个元素的前面插入内容*/

                               a:after{}           /*在某个元素的后面插入内容*/

                               a:first-line         /*为某个元素的文本首行设置特殊样式,只能用于块级元素*/

                               a:first-letter      /*为某个元素的文本首字母或第一个字设置样式,只能用于块级元素*/

6.复合选择器(包含以下几种):

6.1交集选择器:h3.class名{}            //第一个必须是标签选择器,第二个必须是id或class选择器

6.2并集选择器:h1,h2,span{}           //结果是同时选中各个基本选择器所选择的范围。

6.3后代选择器:p span{}                //用空格分隔开,p标签之间包含span标签,外层标签写在前面,内层的标记写在后面,发生嵌套时,内层标记就成了外层标记的后代。

6.4子选择器:p>span{}                    //只对其直接后代有影响

各类优先级权重比例如下:

//////构建页面框架时,通常只给外层标记定义class或者id。

后代选择器与子选择的区别:

后代选择包括在其标签内部的所有标签,可以是子标签,孙子标签,曾孙子标签。。。。

子选择器只对其直接后代有影响,即:只作用于子标签。

样式选择器权重优先级如下:

  • important的权重为 1, 0, 0, 0

  • ID选择器的权重为 0, 1, 0, 0

  • 类选择器的权重为 0, 0, 1, 0

  • 伪类选择器的权重为 0, 0, 1, 0

  • 属性选择器的权重为 0, 0, 1, 0

  • 标签选择器的权重为 0, 0, 0, 1

  • 伪元素选择器的权重为 0, 0, 0, 1

  • 通配符的权重为 0, 0, 0, 0

  • 综上,各选择器的优先级如下。

important > 内联样式 > ID > 类 | 伪类 | 属性选择 > 标签 | 伪元素 > 继承 > 通配符

猜你喜欢

转载自blog.csdn.net/iceggy/article/details/77526900