Отзывчивый веб-дизайн - [7]
>#page {
>margin: 36px auto;
>width: 960px;
>}
>.blog {
>margin: 0 auto 53px;
>width: 900px;
>}
>.blog.main {
>float: left;
>width: 566px;
>}
>.blog.other {
>float: right;
>width: 331px;
>}
Отлично. Мы установили ширину >#page в >960 пикселей, отцентрировали в ней модуль >.blog шириной >900 пикселей, задали ширину.>main (566) и.>other (331) и наконец-то разместили эти колонки рядом. Результат выглядит шикарно (рис. 2.14).
>Рис. 2.14. Мы избавились от ненужных пикселей, и наш дизайн почти готов. Или нет?
И хотя наш макет идеально совпадает с оригинал-макетом, он получился совсем негибким. Фиксированная ширина в >960px делает нашу страницу совершенно безразличной к изменениям размеров области просмотра. Иными словами, если ширина окна будет меньше 1024 пикселей, перед читателем появится полоса горизонтальной прокрутки (рис. 2.15).
И нас это, мягко говоря, не устраивает.
>Рис. 2.15. Дизайн выглядит отлично, но он совсем негибкий. Давайте это исправим
От пикселей к процентам
Вместо того чтобы переносить значения в пикселях из оригинал-макета в CSS, мы должны перевести эти размеры в относительные, пропорциональные значения. В результате мы получим сетку, которая будет трансформироваться в зависимости от области просмотра, причем оригинальные пропорции дизайна останутся неизменными.
Давайте начнем с первого элемента >#page, который содержит наш макет, и попробуем что-нибудь с ним сделать:
>#page {
>margin: 36px auto;
>width: 960px;
>}
Противные, гадкие пиксели. Терпеть их не можем!
Ну ладно, не такие уж они и отвратительные. Помните: в макетах с фиксированной шириной нет ничего плохого! Но нам нужна более гибкая сетка, поэтому давайте попробуем перевести эти 960 пикселей в проценты.
>#page {
>margin: 36px auto;
>width: 90 %;
>}
Должен признаться, что я пришел к этим 90 % без особых на то оснований, просто пробовал различные варианты в окне браузера, а затем выбрал тот, что понравился мне больше всего. Задавая значение элемента >#page в процентах, мы создаем контейнер, который будет увеличиваться и уменьшаться в зависимости от области просмотра (рис. 2.16). И поскольку он отцентрирован по горизонтали, справа и слева останутся отступы по 5 %.
>Рис. 2.16. Наш контейнер изменяется в размерах при любом изменении размера окна браузера
Пока все идет неплохо. Теперь давайте примемся непосредственно за модуль >.blog. Чуть ранее, когда мы играли с пикселями, то установили следующее правило:
>.blog {
>margin: 0 auto 53px;
>width: 900px;
>}
Теперь вместо величины в пикселях мы должны выразить ширину элемента >.blog в пропорциональных величинах: описать ее как процент ширины содержащего его элемента. И вот здесь нам снова пригодится формула >target ÷ context = result.
Из оригинал-макета мы знаем, что ширина нашего блога должна составлять >900px. Теперь нам нужно представить эту ширину в относительных единицах, процентах ширины родительского элемента для элемента >.blog. Поскольку блок >.blog вложен в элемент >#page, ширина которого в соответствии с оригинал-макетом составляет >960 пикселей, это и есть наш контекст.
Давайте разделим ширину >.blog (>900) на его контекст (>960):
>900 / 960 = 0,9375
У нас получилось 0,9375. Число выглядит не особенно впечатляюще. Но, передвинув запятую на два знака, мы получаем >93,75 % и заносим их прямо в CSS:
>.blog {
>margin: 0 auto 53px;
>width: 93,75 %; /* 900px / 960px */
>}
(Так же как и в случае с размерами шрифтов, я записал формулу в поле комментария справа от значения ширины (>width). Это, разумеется, дело вкуса, но я нахожу это очень полезным.)
Итак, с двумя элементами мы разобрались. Но что делать с колонками?
>.blog.main {
>float: left;
>width: 566px;
>}
>.blog.other {
>float: right;
>width: 331px;
>}
Ширина основной колонки, которая расположена слева, составляет >566px, ширина же левой колонки равна >331px. Эти цифры нам тоже придется перевести в проценты. Но прежде чем подставить их в формулу, обратите внимание на то, что контекст изменился. Последний раз мы делили ширину модуля >.blog на >960, ширину его контейнера (>#page). Но поскольку эти блоки вложены в >.blog, нам нужно делить целевую ширину колонок (>566 и >331) на ширину их нового контекста, то есть ширину >.blog (>900). В результате мы получаем:
>566 / 900 = 0,628888889
>331 / 900 = 0,367777778
Передвинув запятую на два знака, мы получаем в итоге >62,8888889 % для блока >.>main и >36,7777778 % для блока >.other:
>.blog.main {
>float: left;
>width: 62.8888889 %; /* 566px / 900px */
>}
>.blog.other {
>float: right;
>width: 36.7777778 %; /* 331px / 900px */
>}
Вот мы и получили гибкий макет (рис. 2.17). При помощи небольших расчетов мы создали контейнер, выраженный в процентах, и две гибкие колонки, что дает нам макет, меняющий свои размеры в соответствии с размерами окна браузера. При этом ширина в пикселях тоже меняется, а пропорции дизайна остаются исходными.
>Рис. 2.17. Наша гибкая сетка готова
Гибкие поля и отступы
Теперь, когда две колонки стоят на своих местах, можно сказать, что мы закончили с основными компонентами нашей гибкой сетки. Изумительно. Замечательно. Великолепно. И все же этого недостаточно: нас ждет работа над деталями.
Не продохнуть…
Наш дизайн уже достаточно гибок, однако он требует серьезного внимания к двум основным деталям. Название блога уехало далеко влево (
Джеральд Вайнберг, исходя из своего более чем 50-летнего опыта работы консультантом, делится своими выводами, как запустить и успешно вести свой собственный консалтинговый бизнес. Благодаря использованию юмористичных Правил, Законов и Принципов — таких как Закон малинового варенья, Принцип картофельных чипсов, Правило Руди о брюкве — автор показывает, как, оставаясь самим собой, находить клиентов, завоевывать доверие и устанавливать правильную цену на свои услуги, о которой потом не придется жалеть. Если вы консультант, когда-либо пользовались услугами консультанта или хотите быть одним из них, эта книга будет вам полезна.
«ЭТО НИКОГДА НЕ БУДЕТ РАБОТАТЬ» – твердили ему. Идея видеопроката по подписке казалась всем знающим рынок чистейшей глупостью. Но только не Марку Рэндольфу. Несмотря на скепсис инвесторов и партнеров, он не отступил. Так появился Netflix. Это история самого невероятного стартапа XXI века, рассказанная его идейным вдохновителем и создателем. Захватывающие хроники превращения брошенной в дружеской беседе идеи в гиганта кино- и телеиндустрии с более чем 150 миллионами подписчиков по всему миру. Книга, достойная встать в один ряд с «Продавцом обуви» Фила Найта и «Доставляя счастье» Тони Шейя.В формате PDF A4 сохранён издательский дизайн.
Яма фьючерсов на S&P – главная арена в мире трейдеров. Здесь титаны торговли в мгновение ока совершают грандиозные сделки, и ветреная фортуна иногда благоволит им. Успешные дэйтрейдеры агрессивны, талантливы и удачливы. Льюис Борселино несомненно обладает качествами победителя. И теперь он рассказывает о себе. Лидер торговли фьючерсами на S&P Борселино открывает недоступный обывателю мир дэйтрейдера.Книга «Дэйтрейдер: кровь, пот и слезы успеха» показывает закулисную торговлю, повествует о невероятном прорыве Борселино на Чикагской Торговой Бирже и позволяет проникнуть в стратегию и тактику дэйтрейдера.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.