Свойство :only-child
селектора псевдокласса в CSS представляет элемент, который имеет родительский элемент и чей родительский элемент не имеет других дочерних элементов. Это будет то же самое, что :first-child:last-child
или :nth-child(1):nth-last-child(1)
, но с меньшей специфичностью.
div p:only-child ( color: red; )
Например, если мы вложим абзацы в
такой…
This paragraph is the only child of its parent
This paragraph is the first child of its parent
This paragraph is the second child of its parent
Теперь мы можем стилизовать единственный
нашего первого ребенка
. Последующие
и его дочерние элементы никогда не будут стилизованы, поскольку родительский контейнер содержит более одного дочернего элемента (т. Е. Теги p).
p:only-child ( color:red; )
Мы также могли бы смешать дополнительные псевдоклассы, подобные этому примеру, который выбирает первый абзац внутри нашего вложенного div и единственный дочерний элемент div.contain
.
Hello World
some more children
div.contain div:only-child :first-child ( color: red; )
:only-child
не будет работать как селектор, если ваш родительский элемент содержит более одного дочернего элемента с идентичным тегом. Например…
paragraph1
paragraph2
paragraph1
paragraph2
paragraph1
paragraph2
div.contain div:only-child ( color: red; )
Это приведет к тому, что ни один из div не унаследует красный цвет, поскольку родительский элемент содержит более 1 дочернего элемента (3 безымянных div).
Поддержка браузера
Эти данные о поддержке браузером взяты из Caniuse, где есть более подробная информация. Число означает, что браузер поддерживает эту функцию в этой версии и выше.
Рабочий стол
Хром | Fire Fox | IE | Край | Сафари |
---|---|---|---|---|
4 | 3.5 | 9 | 12 | 3.2 |
Мобильный / планшет
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 2.1 | 3.2 |