zoukankan      html  css  js  c++  java
  • css优先级

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="utf-8" />
     5         <title></title>
     6         <style>
     7             a{color: #333;}
     8             #div a{color: red;}
     9             h1 a{color: green;}
    10             .h a{color: blue;}
    11         </style>
    12     </head>
    13     <body>
    14         <div id="div">
    15             <h1 class="h">
    16                 <a href="http://baidu.com">baidu</a>
    17             </h1>
    18         </div>
    19     </body>
    20 </html>

    最后上面的a标签会显示为什么样色?此题考查了css样式的优先级。

    --------------------------------------------分割线-------------------------------------------

    下面为干货:

    1.相同权值情况下,CSS样式的优先级总结来说,就是——就近原则(离被设置元素越近优先级别越高)

    内联样式表(标签内部)> 嵌入样式表(当前文件中)> 外部样式表(外部文件中)。

    2.权值不同时,浏览器是根据权值来判断使用哪种css样式的,哪种样式权值高就使用哪种样式。

    权值规则:标签的权值为1,类选择符的权值为10,ID选择符的权值最高为100。

    举例来理解:

     1 p{color:red;} /*标签,权值为1*/
     2 
     3 p span{color:green;} /*两个标签,权值为1+1=2*/
     4 
     5 p>span{color:purple;}/*权值与上面的相同,因此采取就近原则,这个比上面的权值高*/
     6 
     7 .warning{color:white;} /*类选择符,权值为10*/
     8 
     9 p span.warning{color:purple;} /*权值为1+1+10=12*/
    10 
    11 #footer .note p{color:yellow;} /*权值为100+10+1=111*/

    注意:(1)还有一个权值比较特殊——继承也有权值但很低,有的文献提出它只有0.1,所以可以理解为继承的权值最低。(继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代。如<p>便签内部的<span>标签就会继承该<p>标签的样式);

    (2)做网页代码的时,有些特殊的情况需要为某些样式设置具有最高权值,可以使用!important来解决。

    --------------------------------------------分割线-------------------------------------------

    了解具体知识之后,再来看文章开头的题目。

    a{color: #333;}/*标签,权值为1*/
    #div a{color: red;}/*权值:100+1*/
    h1 a{color: green;} /*权值:1+1*/
    .h a{color: blue;}/*权值10+1*/

    根据权值,a标签的颜色为红色。

    -------------------------------------吃一堑长一智--------------------------------------

    之前没有仔细的理解和记忆这些知识,吃过亏才知道重要性。继续努力吧!

  • 相关阅读:
    数组系列教材 (二)- Java 如何初始化数组
    数组系列教材 (一)- Java 如何创建一个数组
    数组系列教材 (一)- Java 如何创建一个数组
    JAVA 面试题
    JAVA 面试题
    JAVA 面试题
    HelloWorld系列(五)- 在Eclipse中运行第一个 java 程序
    [LeetCode] 142. Linked List Cycle II
    [LeetCode] 141. Linked List Cycle
    [LeetCode] 82. Remove Duplicates from Sorted List II
  • 原文地址:https://www.cnblogs.com/yueliangcl/p/6933142.html
Copyright © 2011-2022 走看看