In which order are CSS styles applied?

前端 未结 3 1099
长发绾君心
长发绾君心 2020-12-09 16:36

I have the following HTML.


In my CSS stylesheet I have gener

相关标签:
3条回答
  • 2020-12-09 16:42

    Styles are applied according to which styles are most specific to the element, and then in textual order for rules that have equal specificity. More here in the spec. Because a:link is more specific than ul li a, that style wins regardless of placement.

    So tell me, how must I correct my style to achieve the a tag inside the li to be rendered blue and not red?

    Make the blue rule at least as specific as the red rule. In this case, you can do that by adding :link to it:

    ul li a:link
    {
      color:blue;
    }
    
    0 讨论(0)
  • 2020-12-09 16:52

    Here's an article about CSS Selector specificity which looks good: http://www.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/

    The section in How to measure specificity? gives you the answer:

    a:link   => one tag (a) + one pseudo-class (:link) = 1 + 10    = 11 points
    ul li a: => three tags (ul, li, a)                 = 1 + 1 + 1 =  3 points
    

    So the a:link style wins.

    Hint: Order (in the CSS files) only matters when two css selectors have the same specificity.

    0 讨论(0)
  • 2020-12-09 16:55

    I'd use color:blue !important;

    0 讨论(0)
提交回复
热议问题