zoukankan      html  css  js  c++  java
  • css选择器优先级

    important>内联>id>class = 属性 = 伪类 >标签 = 伪元素 > 通配符(*)

    1. important声明 1,0,0,0
    2. ID选择器 0,1,0,0
    3. 类选择器 0,0,1,0
    4. 伪类选择器 0,0,1,0
    5. 属性选择器 0,0,1,0
    6. 标签选择器 0,0,0,1
    7. 伪元素选择器 0,0,0,1
    8. 通配符选择器 0,0,0,0

    有人说外部样式<内部样式,其实不然,其实外部样式=内部样式,谁在前面定义谁就被覆盖

    class = 属性 = 伪类:例如.className的优先级和[class='className']:hover的优先级是一样的,甚至.className的优先级和[id='idName']:hover的优先级也是一样

    空格>的优先级是一样的,例如body bbody>b是一样的优先级

    ~+的优先级是一样的,例如body~bbody+b是一样的优先级

    伪元素的优先级和标签选择器的优先级一样,但是我们往往会遇到一些问题,例如:

    ::selection{
        color: red;
    }
    div{
        color:black!important;
    }

    被选中的文字还是红色的,不会被黑色样式覆盖,其原因是这里的black!important是作用在了::selection的父元素而不是直接作用在::selection上,

    而我们调用伪元素的时候必须要写上伪元素不能像其他元素一样只写它的class或者id或者[attr='~~~'],所以要判断关于伪元素优先级,都是看它前面的css选择器优先级

  • 相关阅读:
    Android笔记——UI开发
    P2P网络借贷系统-核心功能-用户投标-业务解说
    java回调简单实现
    Java面向对象编程(二)
    POJ-1190-生日蛋糕-DFS(深搜)-枚举-多重剪枝
    设计模式笔记——装饰模式
    bbed初体验
    高速理解环境变量
    最短路算法之 Dijkstra算法
    C++课程资源下载问题
  • 原文地址:https://www.cnblogs.com/amiezhang/p/10902423.html
Copyright © 2011-2022 走看看