CSS выбрать первый элемент с определенным классом - PullRequest
12 голосов
/ 13 марта 2011

Каков синтаксис для выбора первого элемента с определенным классом?Пожалуйста, укажите, является ли этот метод выбора частью CSS3 или CSS2.1.

Ответы [ 3 ]

46 голосов
/ 14 марта 2011

Если вам нужен первый элемент с определенным классом среди его братьев и сестер , вы можете использовать

.myclass {
    /* styles of the first one */
}

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

Не пытайтесь использовать .myclass:not(.myclass ~ .myclass), чтобы сделать это только в одномправило, это не будет работать, так как :not() принимает только простые селекторы в скобках.

Если вы хотите получить первый .myclass во всем документе, нет способа сделать это только с помощью CSS.

Опубликованные подходы :nth-of-type() или :nth-child() ошибочны, даже если они случайно совпадают с элементами, которые вы хотите видеть на своей странице.

Поддержка в браузере селектора братьев и сестер (~): IE7 + ивсе остальные.

0 голосов
/ 12 июля 2012
.class-name:first-of-type {
  ⋮ declarations
}
0 голосов
/ 13 марта 2011

Попробуйте это

.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>

первый div 'test' имеет только красный цвет.

...