Отзывчивый веб-дизайн - Страница 7
900 / 960 = 0,9375У нас получилось 0,9375. Число выглядит не особенно впечатляюще. Но, передвинув запятую на два знака, мы получаем
93,75%.blog {margin: 0 auto 53px;width: 93,75%; /* 900px / 960px */}(Так же как и в случае с размерами шрифтов, я записал формулу в поле комментария справа от значения ширины (
widthИтак, с двумя элементами мы разобрались. Но что делать с колонками?
.blog.main {float: left;width: 566px;}.blog.other {float: right;width: 331px;}Ширина основной колонки, которая расположена слева, составляет
566px331px.blog960#page.blog566331.blog900566 / 900 = 0,628888889331 / 900 = 0,367777778Передвинув запятую на два знака, мы получаем в итоге
62,8888889%.main36,7777778%.other.blog.main {float: left;width: 62.8888889%; /* 566px / 900px */} .blog.other { float: right; width: 36.7777778%; /* 331px / 900px */}Вот мы и получили гибкий макет (рис. 2.17). При помощи небольших расчетов мы создали контейнер, выраженный в процентах, и две гибкие колонки, что дает нам макет, меняющий свои размеры в соответствии с размерами окна браузера. При этом ширина в пикселях тоже меняется, а пропорции дизайна остаются исходными.

Рис. 2.17. Наша гибкая сетка готова
Гибкие поля и отступы
Теперь, когда две колонки стоят на своих местах, можно сказать, что мы закончили с основными компонентами нашей гибкой сетки. Изумительно. Замечательно. Великолепно. И все же этого недостаточно: нас ждет работа над деталями.
Не продохнуть…
Наш дизайн уже достаточно гибок, однако он требует серьезного внимания к двум основным деталям. Название блога уехало далеко влево (рис. 2.18), а две колонки примыкают друг к другу без каких-либо отступов или промежутков (рис. 2.19). Определенно, нам нужно еще поработать.
(Конечно, на самом деле мы без них страдаем.)

Рис. 2.18. Наш заголовок отчаянно нуждается в полях

Рис. 2.19. Отступы? Мы не признаем никаких отступов!

Рис. 2.20. Согласно параметрам эскиза, нам нужно задать горизонтальное поле в 48 пикселей с левой стороны заголовка
Ну что ж, давайте начнем с заголовка. В оригинальном макете между началом заголовка и левым краем контейнера есть промежуток в 48 пикселей (рис. 2.20). Мы, конечно, могли бы задать поле (
padding-leftem.lede {padding: 0.8em 48px;}Это хорошее решение. Но это фиксированное значение левого поля (
padding-left48pxТак что мы не пойдем этим путем – мы создадим гибкий отступ. Пока что мы использовали относительные единицы измерения только в отношении ширины различных элементов, но мы можем это сделать и с полями и отступами. И воспользуемся для этого нашей проверенной формулой:
target ÷ context = resultПрежде чем мы снова займемся вычислениями, хочу обратить ваше внимание на то, что контексты для гибких полей и для гибких отступов немного отличаются.
1. Задавая гибкие отступы для элемента, принимайте за контекст ширину контейнера элемента.
2. Задавая гибкое поле для элемента, принимайте за контекст ширину самого элемента. Подумайте о «боксовой» модели, и эти предложения обретут смысл: мы описываем поле в отношении к ширине самого элемента.
Поскольку мы хотим определить поле заголовка, в качестве контекста мы возьмем ширину самого элемента
.lede90048 / 900 = 0,0533333333и переводим результат в:
.lede {padding: 0.8em 5.33333333%; /* 48px / 900px */}