Читаем Отзывчивый веб-дизайн полностью

body {

background-color: #DCDBD9;

color: #2C2C2C;

font: normal 100 % Cambria, Georgia, serif;

}


Рис. 2.5. Разметка без стилей. Именно так создается мечта (и веб-сайт)


Ничего особенного: светло-серый фон (#DCDBD9) для всего документа и черный текст (#2C2C2C). И конечно, характеристики шрифта – жирность (по умолчанию обычная, normal) и семейство шрифтов с засечками (Cambria, Georgia, serif).

Вы, вероятно, заметили, что кегль (размер шрифта) был установлен 100 %. Поступив таким образом, мы привели базовый кегль к величине, принятой в браузере по-умолчанию, который в большинстве случаев составляет 16 пикселей. Теперь мы всегда сможем изменить кегль по отношению к этой относительной базовой величине с помощью единиц измерения em. Но прежде чем мы это сделаем, давайте посмотрим, что у нас уже получилось (рис. 2.6).


Рис. 2.6. Применив одно простое правило CSS, мы можем придать эскизу несколько другой вид


Удивлены, почему h1 не выглядит как нормальный заголовок? Мы используем обнуление стилей, нивелирующее стили браузера по умолчанию для элементов HTML, чтобы обеспечить их соответствие в различных браузерах. Лично мне больше всего нравится способ обнуления от Эрика Мейера , но вы можете выбрать какой-нибудь другой, благо выбор сейчас достаточно большой.

В любом случае наш 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) и кегля его контекста (16 пикселей, 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 */). Вносить изменения становится намного проще.)

С этим закончили, давайте вернемся к нашей одинокой маленькой ссылке Read More (узнать больше). Хотя, если посмотреть на рис. 2.7, она не такая уж и маленькая. И это проблема. Нам нужно уменьшить заданные 11 пикселей, и довольно существенно, поскольку размер его шрифта принял значение 1,5 em от его контекста, h1.


Рис. 2.7. Размер нашего заголовка правильно выражен в гибких, масштабируемых единицах em. (Но что за ерунда творится со ссылкой?)


Перейти на страницу:

Похожие книги

Верещагин
Верещагин

Выставки Василия Васильевича Верещагина в России, Европе, Америке вызывали столпотворение. Ценителями его творчества были Тургенев, Мусоргский, Стасов, Третьяков; Лист называл его гением живописи. Он показывал свои картины русским императорам и германскому кайзеру, называл другом президента США Т. Рузвельта, находился на войне рядом с генералом Скобелевым и адмиралом Макаровым. Художник побывал во многих тогдашних «горячих точках»: в Туркестане, на Балканах, на Филиппинах. Маршруты его путешествий пролегали по Европе, Азии, Северной Америке и Кубе. Он писал снежные вершины Гималаев, сельские церкви на Русском Севере, пустыни Центральной Азии. Верещагин повлиял на развитие движения пацифизма и был выдвинут кандидатом на присуждение первой Нобелевской премии мира.Книга Аркадия Кудри рассказывает о живописце, привыкшем жить опасно, подчас смертельно рискованно, посвятившем большинство своих произведений жестокой правде войны и погибшем как воин на корабле, потопленном вражеской миной.

Аркадий Иванович Кудря

Биографии и Мемуары / Искусство и Дизайн / Прочее / Изобразительное искусство, фотография / Документальное