Быстрая пара вопросов наследования CSS - PullRequest
0 голосов
/ 14 февраля 2012

На веб-сайте W3C свойство стиля границы (в качестве примера) помечено как унаследованное «Нет», но одно из допустимых значений - «наследовать». Почему это?

Значит ли в этом случае унаследованное «Нет», что значение по умолчанию не наследуется? Если это так, то я могу увидеть это в любом случае, посмотрев на значение по умолчанию 'none'.

Во-вторых, прав ли я, полагая, что значение «наследовать» нельзя использовать для отдельных свойств в сокращенном выражении?

Ответы [ 2 ]

3 голосов
/ 14 февраля 2012

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

Это отличается от таких вещей, как определения размера шрифта, которые наследуются автоматически.

1 голос
/ 14 февраля 2012

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

Специальное значение inherit - это нечто совершенно другое. Когда он используется, вся часть значения объявления должна состоять только из слова inherit, и он просто объявляет, что значение свойства должно быть таким же, как и для родительского элемента (независимо от того, что это за свойство). Вопреки тому, что в спецификации CSS 2.1 написано , это не приводит к принудительному или «принудительному» наследованию; объявление участвует в каскаде и может проиграть другим правилам (как вы можете догадаться из примера, использующего спецификатор !important).

...