Multiple CSS Pseudo Classes

后端 未结 5 660
攒了一身酷
攒了一身酷 2020-12-09 14:22

What is the proper CSS syntax for applying multiple pseudo classes to a selector. I\'d like to insert \",\" after each item in a list except the last one. I am using the f

相关标签:
5条回答
  • 2020-12-09 15:02

    There is no problem nesting pseudo class selectors as long as the rules applied match the particular element in the DOM-tree . I want to echo the possibilities of styling with pseudo class selectors from w3 website . That means you can also do stuff like :

    .ElClass > div:nth-child(2):hover {
        background-color: #fff;
        /*your css styles here ... */
    }
    
    0 讨论(0)
  • 2020-12-09 15:04

    IE8 doesn't support last-child :( They're focused on sorting out CSS 2.1 support it looks like. Why microsoft haven't adopted Gecko or Webkit yet I don't know.

    http://msdn.microsoft.com/en-us/library/cc351024(VS.85).aspx#pseudoclasses

    0 讨论(0)
  • 2020-12-09 15:13

    :last-child is a pseudo-class, whereas :after (or ::after in CSS3) is a pseudo-element.

    To quote the standard:

    Pseudo-classes are allowed anywhere in selectors while pseudo-elements may only be appended after the last simple selector of the selector.

    This means your syntax is correct according to CSS2.1 and CSS3 as well, i.e. IE8 still sucks ;)

    0 讨论(0)
  • 2020-12-09 15:15

    You could use the adjacent sibling selector:

    ul.phone_numbers li + li:before {
       content: ",";
    }
    
    0 讨论(0)
  • 2020-12-09 15:18

    You can get around this by having a another tag inside the <li/> and apply the :after to that instead. That way you would be applying the :last-child and :after to different elements:

    ul.phone_numbers li > span:after {
        content: ",";
    }
    
    ul.phone_numbers li:last-child > span:after {
        content: "";
    }
    
    0 讨论(0)
提交回复
热议问题