zoukankan      html  css  js  c++  java
  • 同级情况下CSS的优先级探讨

    CSS的调用方式一共有4种,分别是:行内样式,内嵌式,link链接式,@import导入式,在同级的前提下,我们可以按样就近原则来理解他们的优先级,则越前定义的样式,会被后面的样式覆盖。

    假如两个或更多的规定在应用了前三个规定具有相同优先级,则后给出的规则优先于早先给出的规则。如果在网页的HEAD标记中同时使用了STYLE标记符(指定嵌入式样式)和LINK标记符(指定链接式样式),并且这两个样式指定中同时应用了具有同一优先级别的样式,则STYLE标记符和LINK标记符的先后顺序将决定样式的优先级。例如,如果在LINK所链接的样式表(mycss.css)中定义了以下一条样式规则:

    H1{color:red}

    同时在嵌入式样式定义中也定义了一条规则:H1{color:yellow}

    在网页中的样式定义如下所示:

    <HEAD>
    <LINK rel=stylesheet href="mycss.css" type="text/css"><STYLE><!--H1{color:yellow}-->
    </STYLE>
    </HEAD>

    由于STYLE标记符中定义的样式后出现,因此它具有更高的优先级,所以网页中H1标记符的内容将显示为黄色(yellow)。同样,如果将Link标记符的位置移动到<STYLE></STYLE>标记符之后,则网页中H1标记符的内容将显示为红色(red)。另外,由于直插式样式(使用HTNL标记的style属性设置的样式)的位置最接近于样式作用的标记符,因此它通常具有高优先级。 

    @import导入式是在嵌入式里面插入的,但是在测试的过程中,却是优先级最低的,因此我认为是浏览器加载完毕后导入样式表时,优先解析了导入的内容,所以成为被后面同级样式覆盖。

    在同级的情况下的优先级是:行内样式>内嵌式=link链接式(谁顺序后,谁优先级高)>@import导入式

  • 相关阅读:
    Mysql的ONLY_FULL_GROUP_BY
    Redis报错“ OOM command not allowed when used memory > 'maxmemory' ”
    redis发布订阅客户端报错
    使用IDEA远程调试SpringBoot程序
    kafk学习笔记(一)
    Ubuntu中卸载node和npm并重装
    一些常用的类型转换
    一台电脑配置多个GigHub账号
    百度网盘文件直接下载方法(跳过每次需要启动百度网盘下载的方式)
    如何激活IDEA工具,亲测有效
  • 原文地址:https://www.cnblogs.com/babyzone2004/p/css.html
Copyright © 2011-2022 走看看