Отзывчивый веб-дизайн - Страница 5
С этим закончили, давайте вернемся к нашей одинокой маленькой ссылке Read More (узнать больше). Хотя, если посмотреть на рис. 2.7, она не такая уж и маленькая. И это проблема. Нам нужно уменьшить заданные 11 пикселей, и довольно существенно, поскольку размер его шрифта принял значение
1,5 em
h1
Рис. 2.7. Размер нашего заголовка правильно выражен в гибких, масштабируемых единицах em
И вот здесь требуется внимание. Поскольку текст заголовка установлен равным
1,5 em
Поэтому, чтобы установить кегль ссылки в единицах
em
11px
16
body
24
11: 24 = 0,458333333333333
Мы получили какое-то совсем некрасивое число. Может быть, самое некрасивое, которые вы сегодня видели. (Но подождите, эта глава еще не окончена.)
Вам захочется округлить его до более-менее приемлемого числа – скажем,
0,46 em
0,458333333333333
Теперь просто скопируйте это непритязательное число в CSS:
h1 a {
font: bold 0.458333333333333em Calibri, Optima,
Arial, sans-serif; /* 11px / 24px */
color:#747474;
letter-spacing: 0.15em;
text-transform: uppercase;
text-decoration: none;
}
Посмотрим на результат. Наша страничка закончена, она полностью соответствует желаемому дизайну, а текст задан в масштабируемых единицах
em
Рис. 2.8. С помощью простой математики мы создали более красивый дизайн – и без всяких пикселей
От гибких шрифтов к гибкой сетке
Вы, наверное, сейчас зеваете со скуки. Здесь ведь должна была быть глава про гибкие макеты, а этот тип Итан все талдычит про математику и размеры шрифтов. Надоело!
Но когда я впервые делал гибкую сетку, я понятия не имел, с чего начинать. Поэтому, столкнувшись с неразрешимой проблемой, я сделал то, что у меня получается лучше всего: полностью ее проигнорировал и начал работать над тем, что знаю.
Когда я понял, как устанавливать размеры текста в единицах
em
И в этом нам снова поможет наша формула
target ÷ context = result
Создание гибкой сетки
Представьте, что дизайнер настолько впечатлен вашей быстрой и качественной работой над заголовком, что прислал вам другой макет, и теперь вам нужно написать код для блога сайта Robot or Not (рис. 2.9).
Рис. 2.9. Новое задание – превращение эскиза в гибкий макет
Плюс ко всему дизайнеру настолько понравилась работа, что он прислал краткую схему содержания страницы (рис. 2.10), благодаря чему мы можем не тратить время на планирование. Нужно как-то его отблагодарить.
Рис. 2.10. Схема расположения элементов для нашего блога
Мы можем быстро и ловко перевести его схему в базовую структуру верстки:
<div id="page">
<div class="blog section">
<h1 class="lede">Recently in <a href="#">The Bot Blog</a></h1>
<div class="main">
…
</div><!– /end.main – >
<div class="other">
…
</div><!– /end.other – >
</div><!– /end.blog.section – >
</div><!– /end #page – >
Наша разметка получилась простой и аккуратной, семантически верной и превосходно подходит для контента. Мы создали основной контейнер для всей страницы (
#page
.
blog
.
main
.
other
А теперь пропустим несколько этапов – как это делается на кулинарных шоу, где повар кладет в кастрюлю сырые продукты, а через минуту вынимает из духовки полностью готовую индейку. (Эта метафора прекрасно демонстрирует то, как часто я смотрю кулинарные шоу… или готовлю индейку.)
И все же предположим, что мы уже создали все CSS, связанные со шрифтами, фоновыми изображениями и всеми элементами нашего дизайна, не имеющими отношения к макету (рис. 2.11). Теперь мы можем сосредоточиться исключительно на создании «резиновой» сетки.