CSS select first element with a certain class

前端 未结 3 1009
渐次进展
渐次进展 2020-12-01 13:13

What is the syntax for selecting the first element with a certain class? Please specify whether that method of selection is part of CSS3 or CSS2.1.

相关标签:
3条回答
  • 2020-12-01 13:22

    If you need the first element with a certain class among its siblings, you can use

    .myclass {
        /* styles of the first one */
    }
    
    .myclass ~ .myclass {
        /* styles of the others (must cancel the styles of the first rule) */
    }
    

    Don't try to use .myclass:not(.myclass ~ .myclass) to do this in only one rule, it won't work since :not() only accepts simple selectors in the parentheses.

    If you want the first .myclass in the whole document, there is no way to do it with CSS alone.

    The :nth-of-type() or :nth-child() approaches posted are wrong, even if they coincidentally happen to match the elements you want in your page.

    Browser support of sibling selector (~): IE7+ and all others.

    0 讨论(0)
  • 2020-12-01 13:23

    Try this

    .testparent .test:first-child {
        color: red;
    }
    
    <div class="testparent">
    <div class="test">test</div>
    <div class="test">test</div>
    <div class="test">test</div>
    </div>
    

    the first div 'test' has red color only.

    0 讨论(0)
  • 2020-12-01 13:35
    .class-name:first-of-type {
      ⋮ declarations
    }
    
    0 讨论(0)
提交回复
热议问题