Например:
div > p.some_class {
/* Some declarations */
}
Что именно означает этот >знак?
Например:
div > p.some_class {
/* Some declarations */
}
Что именно означает этот >знак?
Ответы:
>является детским комбинатором , иногда ошибочно называемым прямым потомком комбинатора. 1
Это означает, что селектор div > p.some_classвыбирает только те абзацы .some_class, которые вложены непосредственно в a div, а не любые абзацы, которые вложены дальше внутри.
Иллюстрация:
<div>
<p class="some_class">Some text here</p> <!-- Selected [1] -->
<blockquote>
<p class="some_class">More text here</p> <!-- Not selected [2] -->
</blockquote>
</div>
Что выбрано, а что нет:
Выбранный
Это p.some_classнаходится непосредственно внутри div, следовательно, между обоими элементами установлены родительско-дочерние отношения.
Не выбрано
Это p.some_classбудет , удерживаемое blockquoteвнутри div, а не divсам по себе. Хотя это p.some_classпотомок div, это не ребенок; это внук
Следовательно, while div > p.some_classне будет соответствовать этому элементу, div p.some_classбудет использовать вместо этого комбинатор-потомок .
1 Многие люди идут дальше, называя это «прямым ребенком» или «непосредственным ребенком», но это совершенно не нужно (и невероятно раздражает меня), потому что дочерний элемент в любом случае является непосредственным по определению , поэтому они имеют в виду одно и то же. Нет такой вещи как «косвенный ребенок».
> (знак «больше чем») - это CSS Combinator.
Комбинатор - это то, что объясняет отношения между селекторами.
Селектор CSS может содержать более одного простого селектора. Между простыми селекторами мы можем включить комбинатор.
В CSS3 есть четыре различных комбинатора:
Примечание: < недопустимо в селекторах CSS.
Например:
<!DOCTYPE html>
<html>
<head>
<style>
div > p {
background-color: yellow;
}
</style>
</head>
<body>
<div>
<p>Paragraph 1 in the div.</p>
<p>Paragraph 2 in the div.</p>
<span><p>Paragraph 3 in the div.</p></span> <!-- not Child but Descendant -->
</div>
<p>Paragraph 4. Not in a div.</p>
<p>Paragraph 5. Not in a div.</p>
</body>
</html>
Вывод:
.entry-content > * {"code" }чего следует .entry-content {"other code" }? Не .entry-content > *распространяется на всех детей entry-content?
Как уже упоминали другие, это селектор детей. Вот соответствующая ссылка.
<div>
<p class="some_class">lohrem text (it will be of red color )</p>
<div>
<p class="some_class">lohrem text (it will NOT be of red color)</p>
</div>
<p class="some_class">lohrem text (it will be of red color )</p>
</div>
CSS
div > p.some_class{
color:red;
}
Все прямые дети, которые будут <p>с ними .some_class, получат к ним стиль.
(дочерний селектор) был введен в css2. div p {} выбирает все элементы p, потомки элементов div, тогда как div> p выбирает только дочерние элементы p, но не grand child, потом grand grand child и так далее.
<style>
div p{ color:red } /* match both p*/
div > p{ color:blue } /* match only first p*/
</style>
<div>
<p>para tag, child and decedent of p.</p>
<ul>
<li>
<p>para inside list. </p>
</li>
</ul>
</div>
Для получения дополнительной информации о CSS Ce [лекторах и их использовании, проверьте мой блог, css селекторы и css3 селекторы
Селектор с большим знаком (>) в CSS означает, что селектор справа является прямым потомком / потомком того, что находится слева.
Пример:
article > p { }
Означает только стиль абзаца, который идет после статьи.
#something aбыл бы детским селектором.