Увеличение насыщенности

Если для элемента задана насыщенность bolder, то агент пользователя прежде всего должен определить, какое значение свойства font-weight было унаследовано от родительского элемента. Затем он выбирает наименьшее числовое значение, соответствующее насыщенности шрифта, превышающей унаследованную. Если ни одно из этих числовых значений не доступно, то агент пользователя присваивает плотности шрита следующее числовое значение, кроме случая, когда значение уже равно 900. Тогда значение насыщенности остается равным 900. Таким образом, можно столкнуться со следующими ситуациями:

p {font-weight: normal;}
p em {font-weight: bolder;} /* в результате получаем полужирный текст,
вычисленное значение – '700' */
h1 {font-weight: bold;}
h1 b {font-weight: bolder;} /* если не существует более насыщенной
гарнитуры, вычисленное значение – '800' */
div {font-weight: 100;} /* принимаем, что гарнитура 'Light'
существует; см. пояснение */
div strong {font-weight: bolder;} /* в результате получаем текст
стандартной насыщенности, '400' */

В первом примере агент пользователя повышает насыщенность с normal до bold; в числовом представлении это переход от 400 к 700.


Во втором примере для текст h1 уже задано значение bold. Если нет доступной более насыщенной гарнитуры, агент пользователя присваивает насыщенности текста b элемента h1 значение 800, т. к. это следующий после 700 (числовой эквивалент bold) шаг. Поскольку значение 800 присвоено той же гарнитуре шрифта, что и 700, между обычным и полужирным текстом h1 нет видимой разницы, но тем не менее их насыщенность разная. В последнем примере текст абзацев должен иметь наименьшую насыщенность шрифта, которую мы приняли как вариант Light. Кроме того, должны существовать другие гарнитуры этого семейства шрифтов – Regular и Bold.

Насыщенность любого текста элемента em, расположенного внутри абзаца, будет приведена к значению normal, поскольку это следующая в порядке повышения насыщенности гарнитура семейства шрифтов. Но что если единственными гарнитурами шрифта являются Regular и Bold? В этом случае объявления преобразовывались бы так:

/* предполагаем для данного примера только две гарнитуры: 'Regular' и 'Bold' */
p {font-weight: 100;} /* выглядит аналогично тексту 'normal' */
p span {font-weight: bolder;} /* преобразуется в '700' */

Как видите, значение плотности 100 присваивается гарнитуре шрифта normal, но значение свойства font-weight все еще остается равным 100.


Таким образом, любой текст элемента span, происходящего от элемента p, унаследует значение 100, а затем перейдет к следующей по насыщенности гарнитуре, каковой является Bold, а в числовом выражении – 700. Сделаем еще шаг вперед и добавим два правила плюс некоторую разметку, чтобы показать, как все это работает:

/* предполагаем для этого примера только две гарнитуры: 'Regular' и 'Bold' */
p {font-weight: 100;} /* выглядит аналогично тексту 'normal' */
p span {font-weight: 400;} /* аналогично предыдущему */
strong {font-weight: bolder;} /* более насыщенный, чем его родитель */
strong b {font-weight: bolder;} /* по-прежнему более насыщенный */


This paragraph contains elements of increasing weight: there is a
span element that contains a strongly emphasized
element and a boldface element
.



В двух последних вложенных элементах вычисляемое значение font-weight увеличивается по причине нестрогого применения ключевого слова bolder. Если текст параграфа был заменен числами, представляющими значения font-weight каждого элемента, то получилось бы следующее:


100 400 700 800 .



В первых двух случаях видно увеличение насыщенности шрифта, поскольку происходит переход от 100 к 400 и от 400 к bold (700).


После 700 более насыщенную гарнитуру сопоставить не удается, поэтому агент пользователя просто переходит к значению fontweight, следующему по числовой шкале (800). Более того, если в элемент b вставить элемент strong, то получится следующее:


100 400 700 800 900
.



Если вставить еще один элемент b во внутренний элемент strong, его насыщенность также была бы равна 900, поскольку значение font-weight не может превышать 900. Если предполагается, что доступны только две гарнитуры шрифта, то для текста выбирается или Regular:


regular regular bold bold
bold
.



Оцените статью: (0 голосов)
0 5 0

Статьи из раздела CSS на эту тему:
Абсолютные размеры
Варианты шрифтов
Загрузка шрифтов
Задание семейства шрифтов
Интеллектуальное сопоставление шрифтов

Вернуться в раздел: CSS / 5. Шрифт