2015-06-29 2 views
1

Как я могу использовать CSS для поиска первого элемента заданного типа?CSS Выберите первый элемент типа

Я пытался:

a:first-of-type { } 

и

a:nth-of-type(1) { } 

Но они подбирали дочерние элементы. Мне нужно выбрать только первый тег <a> на всей странице.

ответ

-1

a:first-child{ 
 
    // your styles. 
 
}

Использование выше коды с основным селектором контейнера Prefix к этому классу вы хотите.

для предположим, что здесь вы хотите первый тег с всей вашей HTML страницы, то просто написать

body a:first-child{ 
 
     // your styles. 
 
}

+0

Не работает. Он выбирает несколько тегов вместо первого. –

0

Общий случай невозможно сделать в CSS. Только JS/jQuery'd позволяет это или точное представление о структуре вашего HTML на данной странице.

Почему?
Элемент не имеет способа узнать, был ли у предшествующего брата одного из его предков элемент «предшествующий» a. Потому что нет и не будет родительского селектора.

<body> 
    <p> 
    <a href="#"><!-- the one you'd want to select --> 
    </p> 
    <a href="#"><!-- this one knows he is the first of his type in the pool of direct descendant (children) of body 
        but no more can be achieved (in CSS) --> 
</body> 

В чистом CSS, вы можете выбрать каждый первый тип элемента их соответствующего родителя для данного уровня, как:

body > * > * > a:first-of-type { /* level 3, great-grandchildren of body */ } 

и суммирует почти все

+0

Это не имеет никакого отношения к тому, что не существует родительского селектора.Даже если бы это было так, вы не смогли бы использовать его для определения общего индекса элемента. Вот почему jQuery придумал: eq(). – BoltClock

Смежные вопросы