Отзывчивый веб-дизайн - Страница 4
Представьте на мгновение, что вы – разработчик пользовательских интерфейсов. (Если вы и так разрабатываете пользовательские интерфейсы, то представьте себя еще и в пиратской шляпе.) Дизайнер из вашей команды попросил вас преобразовать простой макет в разметку и CSS. Вы бросаете быстрый взгляд на макет, который он вам прислал (рис. 2.4).

Рис. 2.4. Эскиз для нашего упражнения. По-хорошему, повторить его – минутное дело
Содержимое достаточно скромное, но даже небольшие проекты требуют пристального внимания к мелочам. Итак, вы углубляетесь в изучение дизайна. Оценив типы контента в макете, вы пишете следующий HTML-код:
<h1>Achieve sentience with Skynet! <a href="#">Read More »</a></h1>Заголовок с включенной в него ссылкой – прекрасная основа для семантической разметки, не правда ли? После обнуления стилей вы получаете в браузере следующий результат (рис. 2.5). По чуть-чуть продвигаемся вперед. Теперь мы можем начать добавлять свой стиль оформления. Давайте впишем в элемент
bodybody {background-color: #DCDBD9;color: #2C2C2C;font: normal 100% Cambria, Georgia, serif;}
Рис. 2.5. Разметка без стилей. Именно так создается мечта (и веб-сайт)
Ничего особенного: светло-серый фон (
#DCDBD9#2C2C2CnormalCambria, Georgia, serifВы, вероятно, заметили, что кегль (размер шрифта) был установлен
100%em
Рис. 2.6. Применив одно простое правило CSS, мы можем придать эскизу несколько другой вид
Удивлены, почему
h1В любом случае наш
h1font size 100%bodyТеперь, если пиксели нас устраивают, мы можем перевести значения из оригинал-макета непосредственно в 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-sizeemКонтекстное восстановление
Сейчас будет немного математики: берем целевое значение кегля и делим на кегль (
font sizeemДругими словами, относительный кегль можно рассчитать по следующей формуле:
target ÷ context = result(Отвлечемся на минутку. Лично у меня слово «математика» вызывает немедленный и серьезный приступ паники. У вас тоже? Стойте, не убегайте с криками – все не так страшно. Это говорит вам человек, который заменил курс математики в колледже курсом философии. Делайте, как я: просто посчитайте все на калькуляторе и скопируйте результат в CSS. Калькуляторы – просто спасение для таких, как мы, правда?)
Итак, формула у нас есть, давайте вернемся к нашему заголовку в
24pxfont sizebody16100%h1(24 пикселя,
24px16px24: 16 = 1,5Так как 24 пикселя в 1,5 раза больше 16 пикселей, это значит, что кегль равен
1,5 emh1 {font-size: 1.5em; /* 24px / 16px */font-style: italic;font-weight: normal;}Вуаля! Размер нашего заголовка прекрасно совпадает с размером, указанным в оригинал-макете, но при этом выражен в относительных, масштабируемых единицах (рис. 2.7).
(Обычно я оставляю комментарий с расчетами с правой стороны (
/* 24px / 16px */