Заголовок с включенной в него ссылкой – прекрасная основа для семантической разметки, не правда ли? После обнуления стилей вы получаете в браузере следующий результат (рис. 2.5
). По чуть-чуть продвигаемся вперед. Теперь мы можем начать добавлять свой стиль оформления. Давайте впишем в элементbody
некоторые базовые правила:body {
background-color: #DCDBD9;
color: #2C2C2C;
font: normal 100 % Cambria, Georgia, serif;
}
Рис. 2.5.
Разметка без стилей. Именно так создается мечта (и веб-сайт)Ничего особенного: светло-серый фон (#DCDBD9
#2C2C2C
). И конечно, характеристики шрифта – жирность (по умолчанию обычная, normal
) и семейство шрифтов с засечками (Cambria, Georgia, serif
).Вы, вероятно, заметили, что кегль (размер шрифта) был установлен 100 %
em
. Но прежде чем мы это сделаем, давайте посмотрим, что у нас уже получилось (рис. 2.6).Рис. 2.6.
Применив одно простое правило CSS, мы можем придать эскизу несколько другой видУдивлены, почему h1
В любом случае наш h1
font size 100 %
, который мы задали родительскому элементу body
, а установленный в браузере по умолчанию кегль – 16 пикселей.Теперь, если пиксели нас устраивают, мы можем перевести значения из оригинал-макета непосредственно в CSS:
h1 {
font-size: 24px;
font-style: italic;
font-weight: normal;
}
h1 a {
color: #747474;
font: bold 11px Calibri, Optima, Arial, sans-serif;
letter-spacing: 0.15em;
text-transform: uppercase;
text-decoration: none;
}
Нет ничего плохого или неправильного в определении размера текста с помощью пикселей. Но в целях нашего эксперимента давайте начнем думать пропорционально и переведем значения кегля (font-size
em
.Контекстное восстановление
Сейчас будет немного математики: берем
font size
) его контейнера, то есть контекста. В результате мы получаем желаемый кегль, выраженный в относительных и достаточно гибких единицах em
.Другими словами, относительный кегль можно рассчитать по следующей формуле:
target ÷ context = result
(Отвлечемся на минутку. Лично у меня слово «математика» вызывает немедленный и серьезный приступ паники. У вас тоже? Стойте, не убегайте с криками – все не так страшно. Это говорит вам человек, который заменил курс математики в колледже курсом философии. Делайте, как я: просто посчитайте все на калькуляторе и скопируйте результат в CSS. Калькуляторы – просто спасение для таких, как мы, правда?)
Итак, формула у нас есть, давайте вернемся к нашему заголовку в 24px
font size
) элемента body
равен 16
пикселям при 100 %
, мы можем подставить эти значения непосредственно в формулу. В результате получим отношение целевого кегля заголовка h1
(24 пикселя, 24px
16px
):24: 16 = 1,5
Так как 24 пикселя в 1,5 раза больше 16 пикселей, это значит, что кегль равен 1,5 em
h1 {
font-size: 1.5em; /* 24px / 16px */
font-style: italic;
font-weight: normal;
}
Вуаля! Размер нашего заголовка прекрасно совпадает с размером, указанным в оригинал-макете, но при этом выражен в относительных, масштабируемых единицах (рис. 2.7
).(Обычно я оставляю комментарий с расчетами с правой стороны (/* 24px / 16px */