SlideShare a Scribd company logo
1 of 3
Блочная верстка
Несмотря на то, что термин «слой» достаточно устойчиво используется при разработке
сайта, расшифровке этого понятия в литературе по сайтостроению практически не
уделяется внимание. В дальнейшем я буду активно использовать термин «слой», поэтому
вначале необходимо определить, что же под ним подразумевается.
Первоначально слои ввела компания Netscape, включив в свой браузер поддержку
тега <layer>. Этот тег позволял прятать/показывать текущее содержимое, устанавливать
положение относительно окна браузера, накладывать один слой поверх других и
загружать данные в содержимое слоя из файла. Все эти параметры легко менялись с
помощью JavaScript и это расширяло возможности по созданию действительно
динамического контента на странице. Несмотря на столь впечатляющий набор
возможностей, тег <layer> не был включён в спецификацию HTML и остался лишь
расширением браузера Netscape.
Однако необходимость в указанных возможностях уже назрела, и в конце 1996 года
синтаксис для работы со слоями был разработан и одобрен в рабочем проекте
консорциума «CSS Positioning (CSS-P)». Основная нагрузка ложилась на стили, с их
помощью можно управлять видом любого элемента, в том числе менять значения
динамически через JavaScript. К сожалению, объектные модели браузеров для доступа к
элементам различались, поэтому приходилось писать достаточно сложный код, который
бы учитывал эти особенности.
В настоящее время разработчики популярных браузеров стали придерживаться
спецификаций HTML и CSS, что сильно облегчило жизнь создателям сайтов, поскольку
это снизило время на отладку сайта в разных браузерах. Тем не менее, различия в
подходах у браузеров существуют и при их возникновении разработчики придерживаются
следующих форм работы.
Если наблюдаются небольшие различия в отображении одного сайта в разных браузерах,
то на эти отличия закрывают глаза. Попросту говоря, никак не исправляют. Посетители в
любом случае не будут попиксельно сравнивать сайт в разных браузерах. Здесь следует
сделать оговорку, что сайт в любом случае должен отображаться корректно и без ошибок.
Если у сайта имеются существенные различия при его показе в одном и другом браузере,
то для их устранения применяют хаки.
Хак — это набор приемов, когда определённому браузеру «подсовывают» код, который
понимается только этим браузером, а остальными игнорируется.
Несмотря на то, что хаки работают, использовать их следует ограниченно или вообще
обходиться без них. Дело в том, что хаки снижают универсальность кода и для
модификации параметров одного элемента приходится вносить изменения одновременно
в разных местах.
Есть и другой, перспективный путь — придерживаться спецификации CSS. Несмотря на
то, что браузеры не в полной мере сами её поддерживают, они прогрессируют именно в
направлении полной поддержки различных спецификаций (HTML, CSS, DOM). Таким
образом, получается, что будущие версии браузеров будут унифицированы и один и тот
же сайт станут отображать корректно.
Снова вернемся к слоям. Понятно, что они непосредственно связаны со стилями. Раз так,
то не получается ли, что каждый элемент HTML-кода, к которому добавляются стили,
является слоем? В каком-то смысле так и есть. Однако это внесло бы изрядную путаницу,
если вместо «таблица» или «абзац» мы бы говорили «слой». Поэтому договоримся
относить этот термин только к тегам <div>.
В HTML4 и XHTML слой — это элемент веб-страницы, созданный с помощью тега <div>,
к которому применяется стилевое оформление.
Таким образом, выражение «блочная вёрстка» или вёрстка с помощью слоёв заключается
в конструктивном использовании тегов <div> и стилей. При этом придерживаются
следующих принципов.
Разделение содержимого и оформления
Код HTML должен содержать только теги разметки и теги логического форматирования, а
любое оформление выносится за пределы кода в стили. Такой подход позволяет
независимо управлять видом элементов страницы и её содержимым. Благодаря этому над
сайтом может работать несколько человек, при этом каждый выполняет свою функцию
самостоятельно от других. Дизайнер, верстальщик и программист работают над своими
задачами автономно, снижая время на разработку сайта.
Активное применение тега <div>
При блочной вёрстке существенное значение уделяется универсальному тегу <div>,
который выполняет множество функций. Фактически это основа, на которую
«навешиваются» стили, превращая её то в игрушку, то в зверушку. Совершенно не значит,
что применяется только один этот тег, нужно ведь и рисунки вставлять и оформлять текст.
Но при вёрстке с помощью слоёв тег <div> является кирпичиком вёрстки, её базовым
фундаментом.
Благодаря этому тегу HTML-код распадается на ряд чётких наглядных блоков, код при
этом получается более компактным, чем при табличной вёрстке, к тому же поисковые
системы его лучше индексируют.
Таблицы применяются только для представления табличных данных
При блочной вёрстке, конечно же, используются таблицы, но только в тех случаях, когда
они нужны, например, для наглядного отображения чисел и других табличных данных.
Вариант, когда от таблиц предлагается отказаться вообще, является нецелесообразным и,
более того, вредным.
Подведу итоги. В HTML4 и XHTML слой это базовый элемент вёрстки веб-страниц, при
которой активно применяются стили и придерживаются спецификаций HTML и CSS. При
таком подходе важная роль уделяется тегу <div>, с которым у большинства людей и
ассоциируются слои. В каком-то смысле это является верным, поэтому договоримся в
дальнейшем употреблять термин «слой» к тегу <div> для которого указан стилевой
идентификатор или класс. Таким образом, выражение «слой с именем content»
подразумевает, что используется тег <div id="content"> или <div class="content">.
В HTML5 добавлено несколько новых тегов разметки для обозначения разных типовых
блоков страницы. К примеру, <header> и <footer> используются для создания «шапки» и
«подвала», <nav> для навигации, <aside> для боковой панели. Включение в
спецификацию HTML подобных элементов призвано снизить доминирование тега <div> и
придать больше смысла разметке. Поэтому в вёрстке на HTML5 активно применяется
термин «элемент», под которым подразумевается соответствующий тег и элемент
который он создаёт.
Изложенные выше принципы блочной вёрстки при этом сохраняются за исключением
того момента, что <div> в некоторых случаях заменяется более осмысленными тегами.

More Related Content

Viewers also liked

таблицы
таблицытаблицы
таблицыsivorka
 
010 презентация less и адаптивный дизайн
010 презентация   less и адаптивный дизайн010 презентация   less и адаптивный дизайн
010 презентация less и адаптивный дизайнsivorka
 
Vvedenie html5
Vvedenie html5Vvedenie html5
Vvedenie html5sivorka
 
гиперссылка
гиперссылкагиперссылка
гиперссылкаsivorka
 
презентация трансформации и анимация
презентация   трансформации и анимацияпрезентация   трансформации и анимация
презентация трансформации и анимацияsivorka
 
005 css (presentation)
005 css (presentation)005 css (presentation)
005 css (presentation)sivorka
 
позиционирование элементов
позиционирование элементовпозиционирование элементов
позиционирование элементовsivorka
 
графика
графикаграфика
графикаsivorka
 
презентация введение Css3
презентация   введение Css3презентация   введение Css3
презентация введение Css3sivorka
 
001 introduction(presentation) (1)
001 introduction(presentation) (1)001 introduction(presentation) (1)
001 introduction(presentation) (1)sivorka
 

Viewers also liked (10)

таблицы
таблицытаблицы
таблицы
 
010 презентация less и адаптивный дизайн
010 презентация   less и адаптивный дизайн010 презентация   less и адаптивный дизайн
010 презентация less и адаптивный дизайн
 
Vvedenie html5
Vvedenie html5Vvedenie html5
Vvedenie html5
 
гиперссылка
гиперссылкагиперссылка
гиперссылка
 
презентация трансформации и анимация
презентация   трансформации и анимацияпрезентация   трансформации и анимация
презентация трансформации и анимация
 
005 css (presentation)
005 css (presentation)005 css (presentation)
005 css (presentation)
 
позиционирование элементов
позиционирование элементовпозиционирование элементов
позиционирование элементов
 
графика
графикаграфика
графика
 
презентация введение Css3
презентация   введение Css3презентация   введение Css3
презентация введение Css3
 
001 introduction(presentation) (1)
001 introduction(presentation) (1)001 introduction(presentation) (1)
001 introduction(presentation) (1)
 

Similar to блочная верстка

WUD2013: Юрий Ветров — Унификация, vol. 1. Фреймворк Mail.Ru для мобильного веба
WUD2013: Юрий Ветров — Унификация, vol. 1. Фреймворк Mail.Ru для мобильного вебаWUD2013: Юрий Ветров — Унификация, vol. 1. Фреймворк Mail.Ru для мобильного веба
WUD2013: Юрий Ветров — Унификация, vol. 1. Фреймворк Mail.Ru для мобильного вебаYury Vetrov
 
Css3 для веб дизайнеров
Css3 для веб дизайнеровCss3 для веб дизайнеров
Css3 для веб дизайнеровVgrafike.ru
 
Презентация на тему "WEB-программирование"
Презентация на тему "WEB-программирование"Презентация на тему "WEB-программирование"
Презентация на тему "WEB-программирование"Gotti Vartanyan
 
Мировые информационные ресурсы. Лекция 4
Мировые информационные ресурсы. Лекция 4Мировые информационные ресурсы. Лекция 4
Мировые информационные ресурсы. Лекция 4Dmitriy Krukov
 
Презентация «Drupal и SEO» с московской DrupalConf 2011
Презентация «Drupal и SEO» с московской DrupalConf 2011Презентация «Drupal и SEO» с московской DrupalConf 2011
Презентация «Drupal и SEO» с московской DrupalConf 2011Alexey Kostin
 
Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И...
 Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И... Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И...
Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И...Тарасов Константин
 
Dreamwever cs3
Dreamwever cs3Dreamwever cs3
Dreamwever cs3JIuc
 
Виталий Харисов "История создания БЭМ. Кратко, сбивчиво и неполно"
Виталий Харисов "История создания БЭМ. Кратко, сбивчиво и неполно"Виталий Харисов "История создания БЭМ. Кратко, сбивчиво и неполно"
Виталий Харисов "История создания БЭМ. Кратко, сбивчиво и неполно"Yandex
 
Практикум Web программирование
Практикум Web программированиеПрактикум Web программирование
Практикум Web программированиеRauan Ibraikhan
 
Создание веб-сайта. Курс молодого бойца
Создание веб-сайта. Курс молодого бойцаСоздание веб-сайта. Курс молодого бойца
Создание веб-сайта. Курс молодого бойцаAnton Cherepov
 
Поисковая оптимизация сайта на Drupal 7
Поисковая оптимизация сайта на Drupal 7Поисковая оптимизация сайта на Drupal 7
Поисковая оптимизация сайта на Drupal 7Alexey Kostin
 
Css part1
Css part1Css part1
Css part1ISsoft
 
J query tutorial-for-beginners-1.0.1
J query tutorial-for-beginners-1.0.1J query tutorial-for-beginners-1.0.1
J query tutorial-for-beginners-1.0.1labzzzz
 

Similar to блочная верстка (20)

DHTML
DHTMLDHTML
DHTML
 
WUD2013: Юрий Ветров — Унификация, vol. 1. Фреймворк Mail.Ru для мобильного веба
WUD2013: Юрий Ветров — Унификация, vol. 1. Фреймворк Mail.Ru для мобильного вебаWUD2013: Юрий Ветров — Унификация, vol. 1. Фреймворк Mail.Ru для мобильного веба
WUD2013: Юрий Ветров — Унификация, vol. 1. Фреймворк Mail.Ru для мобильного веба
 
Css3 для веб дизайнеров
Css3 для веб дизайнеровCss3 для веб дизайнеров
Css3 для веб дизайнеров
 
Презентация на тему "WEB-программирование"
Презентация на тему "WEB-программирование"Презентация на тему "WEB-программирование"
Презентация на тему "WEB-программирование"
 
Мировые информационные ресурсы. Лекция 4
Мировые информационные ресурсы. Лекция 4Мировые информационные ресурсы. Лекция 4
Мировые информационные ресурсы. Лекция 4
 
Flex 4 Gumbo
Flex 4 GumboFlex 4 Gumbo
Flex 4 Gumbo
 
Презентация «Drupal и SEO» с московской DrupalConf 2011
Презентация «Drupal и SEO» с московской DrupalConf 2011Презентация «Drupal и SEO» с московской DrupalConf 2011
Презентация «Drupal и SEO» с московской DrupalConf 2011
 
Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И...
 Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И... Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И...
Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И...
 
Dreamwever cs3
Dreamwever cs3Dreamwever cs3
Dreamwever cs3
 
WEB
WEBWEB
WEB
 
Html лаб 2
Html лаб 2Html лаб 2
Html лаб 2
 
Vvedenie html 1
Vvedenie html 1Vvedenie html 1
Vvedenie html 1
 
J query tutorial-for-beginners-1.0.0
J query tutorial-for-beginners-1.0.0J query tutorial-for-beginners-1.0.0
J query tutorial-for-beginners-1.0.0
 
Виталий Харисов "История создания БЭМ. Кратко, сбивчиво и неполно"
Виталий Харисов "История создания БЭМ. Кратко, сбивчиво и неполно"Виталий Харисов "История создания БЭМ. Кратко, сбивчиво и неполно"
Виталий Харисов "История создания БЭМ. Кратко, сбивчиво и неполно"
 
Практикум Web программирование
Практикум Web программированиеПрактикум Web программирование
Практикум Web программирование
 
Создание веб-сайта. Курс молодого бойца
Создание веб-сайта. Курс молодого бойцаСоздание веб-сайта. Курс молодого бойца
Создание веб-сайта. Курс молодого бойца
 
Поисковая оптимизация сайта на Drupal 7
Поисковая оптимизация сайта на Drupal 7Поисковая оптимизация сайта на Drupal 7
Поисковая оптимизация сайта на Drupal 7
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Css part1
Css part1Css part1
Css part1
 
J query tutorial-for-beginners-1.0.1
J query tutorial-for-beginners-1.0.1J query tutorial-for-beginners-1.0.1
J query tutorial-for-beginners-1.0.1
 

More from sivorka

презентация введение Html5
презентация   введение Html5презентация   введение Html5
презентация введение Html5sivorka
 
001 ef(presentation)
001 ef(presentation)001 ef(presentation)
001 ef(presentation)sivorka
 
презентация предcтавления и компоновки
презентация   предcтавления и компоновкипрезентация   предcтавления и компоновки
презентация предcтавления и компоновкиsivorka
 
презентация маршрутизация и области
презентация   маршрутизация и областипрезентация   маршрутизация и области
презентация маршрутизация и областиsivorka
 
локализация и маршрутизация презентация
локализация и маршрутизация   презентациялокализация и маршрутизация   презентация
локализация и маршрутизация презентацияsivorka
 
презентация безопасность в Mvc
презентация   безопасность в Mvcпрезентация   безопасность в Mvc
презентация безопасность в Mvcsivorka
 
основы Ajax презентация
основы Ajax   презентацияосновы Ajax   презентация
основы Ajax презентацияsivorka
 
привязка данных презентация
привязка данных   презентацияпривязка данных   презентация
привязка данных презентацияsivorka
 
навигация и валидаторы презентация
навигация и валидаторы   презентациянавигация и валидаторы   презентация
навигация и валидаторы презентацияsivorka
 
презентация привязка модели и валидация данных
презентация   привязка модели и валидация данныхпрезентация   привязка модели и валидация данных
презентация привязка модели и валидация данныхsivorka
 
05 cерверные элементы управления презентация
05 cерверные элементы управления   презентация05 cерверные элементы управления   презентация
05 cерверные элементы управления презентацияsivorka
 
001 hosting
001 hosting001 hosting
001 hostingsivorka
 
000 introduction
000 introduction000 introduction
000 introductionsivorka
 

More from sivorka (13)

презентация введение Html5
презентация   введение Html5презентация   введение Html5
презентация введение Html5
 
001 ef(presentation)
001 ef(presentation)001 ef(presentation)
001 ef(presentation)
 
презентация предcтавления и компоновки
презентация   предcтавления и компоновкипрезентация   предcтавления и компоновки
презентация предcтавления и компоновки
 
презентация маршрутизация и области
презентация   маршрутизация и областипрезентация   маршрутизация и области
презентация маршрутизация и области
 
локализация и маршрутизация презентация
локализация и маршрутизация   презентациялокализация и маршрутизация   презентация
локализация и маршрутизация презентация
 
презентация безопасность в Mvc
презентация   безопасность в Mvcпрезентация   безопасность в Mvc
презентация безопасность в Mvc
 
основы Ajax презентация
основы Ajax   презентацияосновы Ajax   презентация
основы Ajax презентация
 
привязка данных презентация
привязка данных   презентацияпривязка данных   презентация
привязка данных презентация
 
навигация и валидаторы презентация
навигация и валидаторы   презентациянавигация и валидаторы   презентация
навигация и валидаторы презентация
 
презентация привязка модели и валидация данных
презентация   привязка модели и валидация данныхпрезентация   привязка модели и валидация данных
презентация привязка модели и валидация данных
 
05 cерверные элементы управления презентация
05 cерверные элементы управления   презентация05 cерверные элементы управления   презентация
05 cерверные элементы управления презентация
 
001 hosting
001 hosting001 hosting
001 hosting
 
000 introduction
000 introduction000 introduction
000 introduction
 

блочная верстка

  • 1. Блочная верстка Несмотря на то, что термин «слой» достаточно устойчиво используется при разработке сайта, расшифровке этого понятия в литературе по сайтостроению практически не уделяется внимание. В дальнейшем я буду активно использовать термин «слой», поэтому вначале необходимо определить, что же под ним подразумевается. Первоначально слои ввела компания Netscape, включив в свой браузер поддержку тега <layer>. Этот тег позволял прятать/показывать текущее содержимое, устанавливать положение относительно окна браузера, накладывать один слой поверх других и загружать данные в содержимое слоя из файла. Все эти параметры легко менялись с помощью JavaScript и это расширяло возможности по созданию действительно динамического контента на странице. Несмотря на столь впечатляющий набор возможностей, тег <layer> не был включён в спецификацию HTML и остался лишь расширением браузера Netscape. Однако необходимость в указанных возможностях уже назрела, и в конце 1996 года синтаксис для работы со слоями был разработан и одобрен в рабочем проекте консорциума «CSS Positioning (CSS-P)». Основная нагрузка ложилась на стили, с их помощью можно управлять видом любого элемента, в том числе менять значения динамически через JavaScript. К сожалению, объектные модели браузеров для доступа к элементам различались, поэтому приходилось писать достаточно сложный код, который бы учитывал эти особенности. В настоящее время разработчики популярных браузеров стали придерживаться спецификаций HTML и CSS, что сильно облегчило жизнь создателям сайтов, поскольку это снизило время на отладку сайта в разных браузерах. Тем не менее, различия в подходах у браузеров существуют и при их возникновении разработчики придерживаются следующих форм работы. Если наблюдаются небольшие различия в отображении одного сайта в разных браузерах, то на эти отличия закрывают глаза. Попросту говоря, никак не исправляют. Посетители в любом случае не будут попиксельно сравнивать сайт в разных браузерах. Здесь следует сделать оговорку, что сайт в любом случае должен отображаться корректно и без ошибок. Если у сайта имеются существенные различия при его показе в одном и другом браузере, то для их устранения применяют хаки. Хак — это набор приемов, когда определённому браузеру «подсовывают» код, который понимается только этим браузером, а остальными игнорируется. Несмотря на то, что хаки работают, использовать их следует ограниченно или вообще обходиться без них. Дело в том, что хаки снижают универсальность кода и для модификации параметров одного элемента приходится вносить изменения одновременно в разных местах. Есть и другой, перспективный путь — придерживаться спецификации CSS. Несмотря на то, что браузеры не в полной мере сами её поддерживают, они прогрессируют именно в направлении полной поддержки различных спецификаций (HTML, CSS, DOM). Таким образом, получается, что будущие версии браузеров будут унифицированы и один и тот же сайт станут отображать корректно.
  • 2. Снова вернемся к слоям. Понятно, что они непосредственно связаны со стилями. Раз так, то не получается ли, что каждый элемент HTML-кода, к которому добавляются стили, является слоем? В каком-то смысле так и есть. Однако это внесло бы изрядную путаницу, если вместо «таблица» или «абзац» мы бы говорили «слой». Поэтому договоримся относить этот термин только к тегам <div>. В HTML4 и XHTML слой — это элемент веб-страницы, созданный с помощью тега <div>, к которому применяется стилевое оформление. Таким образом, выражение «блочная вёрстка» или вёрстка с помощью слоёв заключается в конструктивном использовании тегов <div> и стилей. При этом придерживаются следующих принципов. Разделение содержимого и оформления Код HTML должен содержать только теги разметки и теги логического форматирования, а любое оформление выносится за пределы кода в стили. Такой подход позволяет независимо управлять видом элементов страницы и её содержимым. Благодаря этому над сайтом может работать несколько человек, при этом каждый выполняет свою функцию самостоятельно от других. Дизайнер, верстальщик и программист работают над своими задачами автономно, снижая время на разработку сайта. Активное применение тега <div> При блочной вёрстке существенное значение уделяется универсальному тегу <div>, который выполняет множество функций. Фактически это основа, на которую «навешиваются» стили, превращая её то в игрушку, то в зверушку. Совершенно не значит, что применяется только один этот тег, нужно ведь и рисунки вставлять и оформлять текст. Но при вёрстке с помощью слоёв тег <div> является кирпичиком вёрстки, её базовым фундаментом. Благодаря этому тегу HTML-код распадается на ряд чётких наглядных блоков, код при этом получается более компактным, чем при табличной вёрстке, к тому же поисковые системы его лучше индексируют. Таблицы применяются только для представления табличных данных При блочной вёрстке, конечно же, используются таблицы, но только в тех случаях, когда они нужны, например, для наглядного отображения чисел и других табличных данных. Вариант, когда от таблиц предлагается отказаться вообще, является нецелесообразным и, более того, вредным. Подведу итоги. В HTML4 и XHTML слой это базовый элемент вёрстки веб-страниц, при которой активно применяются стили и придерживаются спецификаций HTML и CSS. При таком подходе важная роль уделяется тегу <div>, с которым у большинства людей и ассоциируются слои. В каком-то смысле это является верным, поэтому договоримся в дальнейшем употреблять термин «слой» к тегу <div> для которого указан стилевой идентификатор или класс. Таким образом, выражение «слой с именем content» подразумевает, что используется тег <div id="content"> или <div class="content">. В HTML5 добавлено несколько новых тегов разметки для обозначения разных типовых блоков страницы. К примеру, <header> и <footer> используются для создания «шапки» и «подвала», <nav> для навигации, <aside> для боковой панели. Включение в спецификацию HTML подобных элементов призвано снизить доминирование тега <div> и
  • 3. придать больше смысла разметке. Поэтому в вёрстке на HTML5 активно применяется термин «элемент», под которым подразумевается соответствующий тег и элемент который он создаёт. Изложенные выше принципы блочной вёрстки при этом сохраняются за исключением того момента, что <div> в некоторых случаях заменяется более осмысленными тегами.