Специфика / наследование цвета от звездочки / кузова? - PullRequest
0 голосов
/ 11 января 2020

Меня немного смущают следующие css

* {
    color: yellow;
}
body {
    color: black;
}

и HTML

    <div>
        <p> Test text... </p>

    </div>

любой "р" под телом, получит желтый цвет - но почему ? Звездочка не имеет веса.

, а цвет наследуется, так почему же цвет моего "p" не берет свой цвет от тела?

Вместо этого он использует цвет из звездочка.

Я имею в виду, что если «тело» и «р» (и все, что находится в строке наследования) не имеют цвета, то следует использовать звездочку.

Может кто-нибудь Помогите ? почему вышесказанное так оно и есть.

Кусок html выше приобретает желтый цвет, но почему у него нет черного (который исходит от тела)?

1 Ответ

1 голос
/ 11 января 2020

Я имею в виду, если «body» и «p» (и все, что находится в строке наследования) не имеют фонового цвета, тогда они должны использовать звездочку.

Звездочка является частью селектора, что означает «любой элемент», а не специальным правилом, которое означает, что свойства внутри применяются как значения по умолчанию, когда они не имеют унаследованного или указанного значения.

Например, другой способ match body (но также head) будет:

html > * {
    …
}

, потому что body - это элемент (*), который является потомком (>) ) элемент с именем «html» (html).

Таким образом, ваше правило body применяет цвет фона к телу, а ваше правило * применяет цвет фона к p.

(Цвет фона также не является унаследованным свойством, но в данном случае это не имеет значения. color будет вести себя так же.)

...