Главная страница
Навигация по странице:

  • Глава 14.

  • Типы разметок веб-страницы

  • Как работает CSS-разметка

  • ИНФОРМАЦИЯ ДЛЯ НОВИЧКОВ Находим разумный баланс

  • ИНФОРМАЦИЯ ДЛЯ НОВИЧКОВ Элементы секционирования в HTML5

  • Книга css3 3е издание Серия Бестселлеры OReilly


    Скачать 20.28 Mb.
    НазваниеКнига css3 3е издание Серия Бестселлеры OReilly
    АнкорTheBigBookofCSS33rdedition.pdf
    Дата08.08.2018
    Размер20.28 Mb.
    Формат файлаpdf
    Имя файлаTheBigBookofCSS33rdedition.pdf
    ТипКнига
    #22630
    страница42 из 62
    1   ...   38   39   40   41   42   43   44   45   ...   62
    Глава 12. Введение в разметку CSS
    Глава 13. Разметка страницы на основе плавающих элементов
    Глава 14. Адаптивный веб-дизайн
    Глава 15. Позиционирование элементов на веб-странице

    12
    Введение
    в разметку CSS
    CSS удобен при форматировании текста, навигационных панелей, изображений и других элементов веб-страницы, но его по-настоящему потрясающие способно- сти проявляются, когда нужно создать макет всей веб-страницы.
    В то время как HTML обычно отображает содержимое страницы на экране сверху вниз, размещая один блочный элемент за другим, CSS позволяет создавать расположенные бок о бок столбцы и помещать изображения или текст в любом месте на странице (и даже наслаивать поверх других элементов), поэтому веб- страницы имеют намного более интересный внешний вид.
    Разметка CSS — это достаточно обширная тема. Так, из следующих трех глав вы подробно узнаете о двух наиболее важных техниках CSS. А в этой главе я пред- лагаю краткий обзор принципов, на которых построена разметка, и немного по- лезных инструкций для решения возникающих в процессе работы проблем.
    Типы разметок веб-страницы
    Быть веб-дизайнером означает иметь дело с неизвестным. Какими браузерами поль- зуются ваши посетители? На чем они просматривают ваш сайт: на телефоне с опера- ционной системой Android или на iPad? Самая большая проблема, с которой сталки- ваются разработчики, состоит в создании привлекательных дизайнов, учитывающих различные размеры экрана. Мониторы различаются размерами и разрешением: от маленьких 15-дюймовых с разрешением 640
    × 480 пикселов до чудовищных 30-дюй- мовых экранов с разрешением примерно 5 000 000
    × 4 300 000 пикселов. Не говоря уже о небольших дисплеях мобильных телефонов и экранах планшетных компьютеров, имеющих размер от небольшого до среднего.
    Веб-разметка предполагает несколько основных подходов к решению упомя- нутой проблемы. Оформление практически каждой веб-страницы сводится к ис- пользованию одного из двух вариантов:
    с
    фиксированной либо с непостоянной шириной. Фиксированная ширина дает вам наибольший контроль над размет- кой, но может доставить неудобства некоторым посетителям. Людям с действи- тельно маленькими мониторами придется прокручивать страницу вправо, чтобы все увидеть, а те, у кого большие мониторы, будут видеть пустоту в части экрана, где могла полностью отобразиться ваша превосходная страница. Кроме того, владельцам смартфонов для получения нужного им содержимого приходится прибегать к сужению и расширению выводимой на экран информации. Исполь-

    Глава 12. Введение в разметку CSS
    415
    зование непостоянной ширины (которая увеличивается или уменьшается, чтобы соответствовать окнам браузера) делает управление дизайном страницы серьез- ным испытанием, но при этом эффективнее используется окно браузера. Одно из последних новшеств — адаптивный веб-дизайн — старается решить проблему сильно отличающихся по ширине экранов, но за счет усложнения.
    
    Фиксированная ширина. Многие дизайнеры предпочитают плотно распреде- лять страницу по ширине, как на странице на рис. 12.1, вверху. Независимо от ширины окна браузера, ширина содержимого страницы не изменяется. В неко- торых случаях страница «цепляется» за левый край окна браузера или, что бы- вает чаще, сосредотачивается посередине. С дизайном, основанным на фикси- рованной ширине, вам не нужно волноваться по поводу того, что случится с вашей страницей на очень широком (или маленьком) экране.
    Многие страницы с фиксированной шириной придерживаются ширины экра- на менее 1000 пикселов, позволяя окну, полосам прокрутки и другим частям браузера подходить по размерам для экранов с разрешением 1024
    × 768. Очень распространенной является ширина 960 пикселов. Фиксированная ширина используется во многих веб-сайтах, но положение дел изменяется благодаря широкому внедрению смартфонов и планшетных компьютеров, экран которых зачастую имеет меньшую ширину, чем среднестатистический дизайн веб-стра- ниц с фиксированной шириной.
    ПРИМЕЧАНИЕ
    Чтобы увидеть примеры дизайнов с фиксированной шириной, нацеленных на большие мониторы, зайдите на сайты www.alistapart.com, www.espn.com или www.nytimes.com.
    
    Непостоянная ширина. Иногда легче плыть по течению вместо того, чтобы бороться с ним. Свободный дизайн приспосабливается так, чтобы соответ- ствовать любой ширине браузера путем задания процентного значения ши- рины вместо абсолютного значения в пикселах. Ваша страница становится шире либо уже, когда посетитель изменяет размеры окна (см. рис. 12.1, посе-
    редине). Хоть этот тип дизайна наилучшим образом использует доступное пространство окна браузера, вам придется приложить больше усилий, чтобы убедиться в том, что страница хорошо выглядит при различных размерах окна.
    На очень больших мониторах такой тип дизайна может смотреться слишком размашисто, с длинными строками текста, не подходящими для их нормаль- ного прочтения.
    ПРИМЕЧАНИЕ
    Чтобы увидеть примеры дизайнов с непостоянной шириной, зайдите на сайт http://maps.google.com.
    
    Адаптивный веб-дизайн (Responsive Web Design, RWD). Эта новая технология, отстаиваемая веб-дизайнером Этаном Маркоттом (Ethan Marcotte), предлагает другой способ решения проблемы, возникшей из-за большого разнообразия размеров экранов, имеющихся в распоряжении веб-браузеров смартфонов, планшетных и настольных компьютеров. Вместо предоставления единого макета

    416
    Часть 3. Макет страницы для всех устройств адаптивный веб-дизайн проводит коррекцию ширины для различных веб-браузеров путем изменения их представлений. Например, адаптивная веб-страница может ужаться с широкого, состоящего из несколь- ких колонок макета для мониторов настольных компьютеров до макета, со- держащего всего одну колонку для смартфонов. Таким образом, адаптивный веб-дизайн сильно напоминает макеты с непостоянной шириной — конструк- ции, использующие процентные отношения с целью расширения или сужения в ответ на задаваемую ширину окна браузера. Но в новом веб-дизайне техно- логия пошла дальше путем использования более сложного кода CSS, так на- зываемых уточнений носителей данных (Media Queries) для отправки различных дизайнерских решений для браузеров, располагающих экранами разной ширины, что позволяет создавать существенно отличающийся по внешнему виду макеты в зависимости от устройств, на которых просматривается страница.
    ПРИМЕЧАНИЕ
    Свойства max-width и min-width предлагают компромисс между фиксированной и свободной шири- ной.
    Факт наличия у посетителей вашего сайта мониторов с разным разрешением можно просто проигнорировать, и задать для страницы единую, неизменяющу- юся ширину (см. рис. 12.1, вверху). Можно создать дизайн с непостоянной шири- ной, элементы которого перетекают, чтобы занять ширину того или иного окна
    (см. рис. 12.1, по середине), Адаптивный дизайн предусматривает настоящее пе- реформатирование в зависимости от ширины окна браузера. Например, как по- казано в нижней части рис. 12.1, по мере увеличения окна браузера сайт газеты
    Boston Globe переходит от использования одной колонки (слева), к двум (посе- редине), а затем и к трем колонкам (справа).
    В обучающих уроках в конце этой главы вы создадите страницы с фиксирован- ной и свободной шириной. Техника адаптивного веб-дизайна будет подробно рас- смотрена в гл. 14.
    Как работает CSS-разметка
    Как говорилось в гл. 1, на заре развития Интернета ограничения HTML вынудили дизайнеров придумывать новые способы оформления сайтов. Самым распростра- ненным инструментом был тег

    , который, как изначально предполагалось, должен был служить для отображения информации в виде электронной таблицы, составленной из строк и столбцов с данными. Разработчики использовали HTML- таблицы, чтобы создать своего рода основу для организации содержимого страни- цы (рис. 12.2). Однако, поскольку тег

    не был предназначен для разметки, дизайнерам часто приходилось управлять им непривычными способами (напри- мер, помещая таблицу внутри ячейки другой таблицы), чтобы получить нужный результат. Этот метод забирал много времени, добавлял кусок лишнего HTML- кода и усложнял дальнейшее изменение дизайна. Но это все, что было у дизайнеров до CSS.

    Глава 12. Введение в разметку CSS
    417
    Рис. 12.1. Справиться с неопределенностью ширины окон веб-браузеров и шрифтов браузеров можно несколькими способами
    В заслугу HTML-таблицам можно поставить следующее: они предоставляют хорошо организованную структуру с унифицированными отдельными ячейками.
    В CSS-дизайне имеются отдельные теги с содержимым, которое нужно разме- стить в одной из областей страницы. Путем группировки содержимого во многих отдельных контейнерах и позиционирования этих контейнеров можно создать сложные дизайнерские решения, состоящие из столбцов и строк. До появления
    HTML5 в вашем распоряжении имелся только один тег для достижения данной цели, это

    -тег.

    418
    Часть 3. Макет страницы
    Рис. 12.2. Корректное расположение HTML-элементов, необходимое для преобразования макета Photoshop в код HTML и CSS, включает в себя видение структуры страницы и упаковку связанных групп
    HTML-элементов в теги

    Глава 12. Введение в разметку CSS
    419
    Тег

    Разметка приводит к расположению содержимого в различных областях страницы.
    В CSS для организации содержимого обычно применяется тег

    . Как вы чита- ли в разделе «Написание HTML-кода для CSS» гл. 1, тег

    — это HTML- элемент, у которого нет никаких собственных свойств форматирования (помимо того факта, что браузеры рассматривают этот тег как блок с концом строки до и по- сле него). Вместо этого он используется для обозначения логического группиро- вания элементов, или распределения, на странице.
    В тег

    обычно заключается фрагмент HTML-кода, где все элементы объеди- нены общим смыслом. Такой элемент, как навигационная панель (см. рис. 12.2), обычно занимает вершину страницы, так что есть смысл задавать тег

    и вокруг него. Кроме того, придется определить тег

    для всех основных областей вашей страницы, таких как баннер, область с главным содержимым, боковая панель, ниж- ний колонтитул и т. д. Есть возможность указать тег

    вокруг одного или не- скольких дополнительных отделений. Одна из распространенных методик состоит в упаковке HTML-кода внутри тега

    в тег

    . Тогда вы сможете установить некоторые основные свойства страницы, применяя CSS к этой упаковке. Появится возможность установить полную ширину для содержимого страницы, левые и пра- вые края или расположить все содержимое посередине экрана и добавить фоновый цвет или изображение для главного столбца страницы.
    Как только будут определены все

    -теги, добавьте к каждому из них либо класс, либо идентификатор, чтобы было удобнее создавать для каждого

    -кон- тейнера отдельный стиль. Тег

    для области баннера страницы может иметь сле- дующий вид:

    . Можно обойтись только одними идентификато- рами, но один и тот же идентификатор можно использовать на странице только один, поэтому при наличии элемента, появляющегося несколько раз, следует применить класс. Если, например, есть несколько div
    -контейнеров, позиционирующих фотогра- фии и подписи под ними, можно заключить такие теги в div
    -контейнер и добавить следующий класс:

    . (Чтобы лучше понять, когда следует исполь- зовать div-контейнер, прочитайте врезку «Информация для новичков. HTML-теги
    и » в разделе «Селекторы классов: точное управление» гл. 3.) Кроме того, когда дело касается каскада (гл. 5), идентификаторы проявляют всю свою мощь и легко отменяют другие стили, зачастую заставляя вас создавать длинные селекторы вроде
    #home #banner #nav просто для того, чтобы отменить ранее созданные селекторы с использованием идентификаторов. Поэтому многие веб-дизайнеры из- бегают применения идентификаторов, отдавая предпочтение классам.
    Как только будут расставлены теги

    , добавьте к каждому из них либо класс, либо идентификатор (ID), и тогда вы сможете создавать стили CSS для размеще- ния блоков на странице, используя плавающие элементы (см. гл. 13).
    ИНФОРМАЦИЯ ДЛЯ НОВИЧКОВ
    Находим разумный баланс
    Хоть разделы div крайне необходимы CSS­разметкам, не бросайтесь активно применять их на вашей стра­
    нице. Распространенное заблуждение состоит в том, что вы должны указывать теги

    для всех элемен­

    420
    Часть 3. Макет страницы тов страницы. Скажем, ваша главная навигационная панель — неупорядоченный список ссылок (как, на­
    пример, та, что описана в разделе «Создание панелей навигации» гл. 9). Поскольку это важный элемент, вы, возможно, пожелаете указать

    вокруг него:

    Однако нет никаких причин добавлять тег
    ,
    ко­
    гда

      настолько же удобен. Пока тег
        содержит ссылки главной навигационной панели, вы можете просто добавить ваш класс к этому тегу:
          = "mainNav">.
          Кроме того, нет необходимости использовать

          , когда под рукой есть другой, более подходящий эле­
          мент HTML. Например, вы захотели процитировать кусок текста — создать блок, выровненный по право­
          му краю и содержащий важную цитату из содержи­
          мого страницы. В этом случае вы можете пропустить

          и просто использовать тег

          , по­
          зиционируя его с помощью свойства float
          , которое рассматривалось в разделе «Управление обтеканием содержимого плавающих элементов» гл. 7.
          Но это не значит, что нужно бояться использовать теги

          . Добавив их на парочку больше, вы не увеличи­
          те размер файла и не замедлите загрузку страницы.
          Если

          поможет вам решить проблему и ни один из других тегов не подходит, естественно, применяйте

          . Кроме того,

          — это единственный способ сгруппировать в единое целое несколько различных тегов HTML. На самом деле не так редко можно увидеть один тег

          , окруженный несколькими другими.
          Основное практическое правило при работе с HTML — стараться свести количество кода к минимуму, но при этом использовать его столько, сколько нужно. Если добавление пары лишних тегов

          имеет смысл для проектирования дизайна, то смело применяйте их. Или же, если вы вплотную занялись HTML5, попро­
          буйте воспользоваться элементами секционирования, рассматриваемыми в следующем разделе.
          ИНФОРМАЦИЯ ДЛЯ НОВИЧКОВ
          Элементы секционирования в HTML5
          До появления HTML5 для организации содержимого дизайнеры использовали в ос- новном тег div
          . В HTML5 были представлены многие другие теги, предназначенные для группировки содержимого конкретного типа. Например, тег
    1   ...   38   39   40   41   42   43   44   45   ...   62


    написать администратору сайта