WEB-технологии.Верстка с помощью слоев. правила адаптивной верстки. Фиксированный дизайн. Основы

Уже давно основным правилом верстки сайтов является использование слоев, а не таблиц. Однако новичкам в верстке, не обладающим достаточными познаниями в области применения CSS довольно трудно начать верстать слоями шаблоны, которые они раньше верстали таблицами. Я тоже недавно столкнулся с данной проблемой – при верстке шаблона для Joomla! Необходимо было расположить два слоя div рядом. Поискав в интернете статьи на эту тему, нашел лишь статьи, в которых предлагались такие варианты:
Левому слою задается свойство float со значением left, а правому – margin-left равный ширине левого слоя плюс отступы… попробовал – действительно получается, однако такая техника работает только в случае, если высота правой колонки больше левой, т.е. прилагаемые авторами картинки выглядят приблизительно так:

А что делать если левая колонка (div) выше левой? Опять приводится простое решение: div справа ставится в float:right, справа margin-left соответственно, т.е. все наоборот.
Но что же делать, когда высота колонок на сайте не известна, т.е. на одной странице выше левая, на другой правая… ах да, к чему я это все описываю? Самая большая сложность для меня заключалась не в том, как расположить несколько слоев div рядом, а как сделать так, чтобы слои с заданным свойством float не наезжали на слои, расположенные ниже. Т.е. если расположить рядом два слоя, у которых заданы свойства float со значениями left и right соответственно, то картина будет следующая:

Т.е. задав слоям div свойство float, мы делаем их «плавающими» и они начинают налезать на другие слои. Решение данной проблемы кроется в еще одном свойстве CSS – clear, которое позволяет запретить обтекание слоя вообще, либо только с определенной стороны. Итак, задав нижнему слою свойство clear: both мы решаем проблему наползания слоев div, расположенных в строку на нижний слой. Вот пример кода, изображенного на картинке:

Вот пример кода расположения слоев в строку:


”Шапка” страницы

Левая колонка

Правая колонка

»Дно» страницы

Данный способ верстки документа основан на использовании блочных элементов HTML структуры. Эти элементы выполняют функцию контейнеров и изображаются в форме прямоугольника: заголовки(

); параграф(

); элемент предварительного форматирования (

); и универсальный блочный элемент (
). Кроме того, к блочным, можно отнести еще вот эти элементы —
,
,
,
    ,
      .

      Но основной блочный элемент, применяемый для формирования структуры веб-страницы при верстке с использованием слоев – это

      , прямое назначение которого заключается в выделении основных разделов документа и разбиение его на основные функциональные части. Этот блочный элемент HTML структуры документа является универсальным контейнером и может содержать информацию, представленную в любом виде – текст, графика, форма или другие компоненты. Чего нельзя сказать об остальных блочных элементах, которые рекомендованы к применению в конкретных случаях и должны содержать соответствующий тип информации. Поэтому благодаря своей универсальности и удобству его форматирования именно
      зачастую применяется для создания слоев документа.

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

      • width , height –задающие размеры отображения элемента в теле документа;
      • margin-left , -top , -right и -bottom – отступ между внешней границей форматируемого элемента и смежной границей соседнего элемента;
      • padding-left , -top , -right и -bottom внутренний отступ, аналогичен margin , но определяет зазор между содержимым документа и его внутренней границей;
      • top , left – указывают координаты позиционирования верхнего левого угла элемента;
      • position – это свойство позволяет указать способ позиционирования элемента (absolute : относительно главного элемента предка, а в случае его отсутствия – относительно ; relative : относительно позиции элемента, которую он должен занимать согласно порядку формирования кода документа (оригинальной позиции); fixed : позволяет зафиксировать положение элемента относительно тела документа и других его элементов);
      • z-index – определяет позицию элемента относительно третьей оси координат (Z ) и позволяет визуально перемещать его на передний, задний либо промежуточный план;
      • float – свойство, позволяющее устанавливать расположение элемента относительно общего потока документа (сторону обтекания блочного элемента информационным содержанием страницы)

      Помимо позиционных CSS свойств, в процессе верстки слоями активно применяются свойства визуального оформления блочных элементов (слоев), позволяющие задать толщину, цвет, стиль границы (border ); цвет и/или текстуру фонового наполнения (background , background-color ) и многие другие не менее важные свойства.

      Чем же так хорош способ верстки слоями? Приведем некоторые его неоспоримые преимущества перед другими методами:

      • Код становится удобочитаемым, что позволяет без затруднений проводить его отладку, оптимизацию, а также облегчает процесс обслуживания сайта и его редизайн.
      • При грамотном подходе соблюдаются семантические требования, согласно которым обеспечивается разделение оформления (CSS таблицы) и содержательной части (HTML код) документа
      • В результате получаются проекты, полностью отвечающие требованиям современных веб-стандартов, что является абсолютной гарантией безупречной работы ваших сайтов во всех браузерах.
      • Значительно уменьшается объем веб-ресурсов, что существенно снижает время, требуемое для их загрузки, и как следствие — повышает производительность.

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

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

      До недавнего времени в качестве основных инструментов верстки выступали фреймы и таблицы. Фреймы, ввиду их некоторого несоответствия принципам веб-дизайна и навигации, были объявлены злом и подвергнуты остракизму. Любое использование фреймов, за редким исключением (например, в чатах), вызывало возгласы о том, что веб-мастер недостаточно профессионален и не понимает всех тонкостей создания сайтов. Что оставалось делать в этой ситуации верстальщикам? Только переходить к таблицам. Поэтому верстка с использованием таблиц на долгое время стала определенным стандартом.

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

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

      Большинство современных дизайн студий верстает с помощью слоев, например студия net-c которая предлагает весь спектр услуг по
      Преимущества и недостатки слоев

      Свойства слоя удобно задавать и настраивать через стили. Возможности стилей гораздо шире, чем традиционного html и расширяют спектр оформительских изысков. Использование стилевых таблиц позволяет несложными методами получить компактный и эффективный код. Справедливости ради, отметим, что данное утверждение можно отнести и к любым другим элементам веб-страницы, а не только к стилям.
      Слой можно перемещать, прятать и показывать без перезагрузки всей страницы. С помощью всего нескольких инструкций можно создавать разные эффекты, вроде выпадающих меню, всплывающих подсказок, движущихся элементов и другое. Добавление подобных трюков хотя и увеличивает объем кода, но не требует повторной загрузки и обновления документа и происходит без лишних задержек со стороны браузера. Кроме того, выразительность и привлекательность сайта во многом повышается благодаря использованию подобных приемов со слоями.
      Слои можно накладывать друг на друга, что упрощает размещение элементов на веб-странице и предоставляет больше возможностей при верстке.
      Слои можно размещать в окне браузера с точностью до пиксела. Положение слоя задается двумя координатами, которые задают положение левого верхнего или правого угла относительно окна браузера. Смещать слой можно и относительно родительского элемента.
      Слои по сравнению с таблицами отображаются быстрее. Более высокая скорость достигается за счет компактного кода и того, что отображение содержимого слоя происходит по мере его загрузки.
      Если сравнивать между собой скорость загрузки веб-страниц, созданных с применением таблиц и слоев, то у табличной верстки имеются определенные недостатки.

      Содержимое таблицы загружается медленнее, чем информация в слоев

      Браузеры преднамеренно расценивают таблицу как один объект, из-за чего содержимое таблицы не отображается до тех пор, пока оно целиком не будет загружено на локальный компьютер. Это имеет смысл, если принять во внимание предназначение таблиц. Первоначально они были задуманы для хранения табличных данных, а их лучше всего показывать сразу целиком, а не беспорядочно по мере загрузки. При использовании таблицы в качестве каркаса для размещения элементов веб-страницы, ее исходное преимущество обращается в недостаток, поскольку приводит к задержке вывода контента. Следует учитывать, также, и растущий объем веб-страниц при активном использовании таблиц, особенно в случае их вложенности друг в друга. Все это приводит к тому, что табличная верстка вызывает ненужные задержки вывода информации в браузере.

      Работа с таблицами менее гибкая, чем со стилями

      При использовании таблиц широко известным приемом стало применение распорок - прозрачных изображений размером один на один пиксель. Само изображение не отображается на веб-странице, но его можно масштабировать в любых пределах. Получается невидимая палочка определенной ширины или высоты, которая не дает ячейкам таблицы сблизиться меньше, чем на заданное расстояние. Распорки особенно были актуальны для браузера Netscape, который не показывал фон ячейки, если в ней ничего не размещалось. Чтобы избавиться от указанной особенности и помещали в ячейку маленький прозрачный рисунок в формате GIF.

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

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

      Усложненная верстка при большом количестве таблиц

      Данная проблема возникает при множественной вложенности таблиц, что характерно для достижения определенных эффектов на веб-странице. Рост количества таблиц повышает шанс возникновения ошибок при верстке, увеличивает размер документов и снижает скорость загрузки файлов. Применение визуальных редакторов, вроде Macromedia Dreamweaver или Microsoft FrontPage, для создания и правки документов облегчает работу с таблицами, но из-за обилия их параметров и в этом случае разработчики не застрахованы от появления ошибок и лишней работы, связанной с индивидуальным редактированием каждой таблицы.

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

      Влад Мержевич

      К сожалению, табличная верстка наложила довольно сильный отпечаток на манеру верстки веб-страниц. И теперь, когда верстка с помощью слоев прочно входит в моду и завоевывает множество поклонников, предыдущие стереотипы пытаются проявиться с новой силой. Так что рассказ об особенностях верстки слоями придется начинать не со слоев, а с таблиц и того багажа, что они с собой принесли.

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

      Что же в итоге получается? А то, что из конструктора, предназначенного для создания танка, пытаются сделать самолет. Думаете, это невозможно? Нет ничего невозможного, когда под рукой есть напильник и прорва времени. Но с другой стороны, может проще взять нужный конструктор...

      Давайте для примера рассмотрим типичную и простую схему компоновки страницы (рис. 1).

      Рис. 1. Страница, созданная с помощью таблиц

      В самом верху располагается «шапка» документа, где пишется заголовок сайта. Далее идут две колонки одинаковой высоты, колонки при этом для наглядности выделяются разным цветом. В самом низу располагается «подвал» страницы, куда помещают контактную информацию и другие служебные данные. При этом высота всего макета занимает всю доступную высоту окна браузера, т.е. «подвал» располагается у нижнего края веб-страницы. Правда это происходит только в том случае, если текста в колонках не так много. Когда объем текста превышает высоту веб-страницы, она отображается с вертикальной полосой прокрутки.

      Несмотря на указанные условия, код, сформированный с помощью таблиц, отличается своей компактностью (пример 1). Для сокращения кода стили не применялись.

      Пример 1. Использование таблиц

      Сайт

      Заголовок сайта

      Левая колонка Правая колонка
      Подвал страницы

      Высота таблицы определяется атрибутом height тега

      . Хотя этот атрибут отсутствует в спецификации HTML, браузеры при отсутствии его понимают, что и приводит к желаемому результату. Значение 100% говорит, что таблица занимает всю доступную высоту веб-страницы.

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

      1. За основу берется табличная верстка и с помощью слоев она воплощается максимально близко к оригиналу.
      2. Используются особенности слоев, сайт верстается с их учетом.

      Сторонники первого метода работы забывают, что имеют дело с совершенно противоположными инструментами, в итоге рождаются оригинальные схемы обхода тех или иных ограничений. Код в подобных случаях разбухает в разы, усложняется работа с ним, а браузеры, как правило, по-разному отображают документ. Приходится обращаться к хакам либо обманывать браузеры другими способами так, чтобы сайт в итоге работал корректно.

      Теперь переходим к особенностям слоев, чтобы понять, в чем же суть этого типа верстки.

      Слои не таблицы

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

      Высота слоев ограничена высотой контента

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

      Рис. 2. Страница, созданная с помощью слоев

      Высота разных колонок на данном рисунке различается, поскольку формируется за счет их содержимого.

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

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

      Уже упоминалось, что слои в большинстве случаев являются независимыми друг от друга, за счет чего они как отдельные блоки могут добавляться или удаляться в макете веб-страницы. За такое поведение верстка с помощью слоев получила название «блочная верстка». Слои допустимо вкладывать один в другой для формирования желаемого декоративного элемента. Поэтому под именем «блок» подразумевается не столько отдельный слой, сколько их совокупность.

      Расположение колонок

      По умолчанию содержимое контейнеров

      на веб-странице располагаются по вертикали, вначале идет один слой, ниже располагается следующий и т.д. При создании колонок требуется располагать слои рядом по горизонтали, для чего применяется несколько методов. Одним из распространенных является использование стилевого свойства float . Хотя он предназначен для создания обтекания вокруг элемента, с тем же успехом float устанавливает и колонки. Но здесь следует учесть одну особенность. При уменьшении окна браузера до некоторой критической ширины, колонки перестают располагаться горизонтально и перестраиваются друг под другом по вертикали. С этим фактом либо остается смириться, либо использовать другие методы формирования колонок через слои.

      Резюме

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

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

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

      3 правила адаптивной верстки

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

      Метод табличной верстки устарел. Основными причинами отхода от такого способа считается огромное количества кода, которое возникает вследствие описания каждой ячейки отдельными тегами. Также стоить заметить, что каждая ячейка обладает стенками, которые необходимо также описать. Код обычной веб-страницы, которая верставется табличным способом, больше в 4-5 раз кода страницы, которая создается блочным методом.

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

      Блочная верстка или верстка с помощью слоев.

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

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

      Под понятием блок(слой) в общем случае имеют в виду элементарную прямоугольную область(тег div ), к которому применяется стилевое оформление. Для указания атрибутов этой области существует ряд качеств, среди которых выделяют рамку (border), поля (контуры) (margin) и отступы (padding). Наполнением блока может служить любая информация – изображение, текстовый фрагмент или что-либо другое.

      Фиксированный макет

      Фиксированный макет - ширина Веб- страницы выставлена в неизменное значение, не зависящее от разрешения экрана пользователя. Разработчику сайта ширина окна браузера пользователя неизвестна, поскольку она может меняться в самых широких пределах. Ширина зависит от разрешения монитора, длины его диагонали, размера окна. Необходимо определить, на какое минимальное разрешение экрана монитора рассчитан сайт(Стат. используемых разрешений монитора , liveinternet.ru - разрешения мониторов). Определившись с ответом на этот вопрос, мы получаем конечное число пикселей – особенно важным параметром является количество пикселей, характеризующих ширину. От этого конечного числа нужно вычесть 20 пикселей (ширину вертикальной полосы прокрутки, которая присутствует в браузерах по умолчанию) – и мы получим ширину макета сайта в пикселях. То есть если расчетное разрешение по ширине равно 1024 – то ширина макета должна быть 1004(рекомендуется 1000, 980-960) пикселя (не больше), или же если 1280 – то 1260, и так далее.

      При разрешении экрана монитора 800×600 наиболее распространенной является ширина в 760 пикселей. Для 1024х780 пикселей 960 – 980 пикселей.

      Для создания фиксированного макета , следует продумать некоторые предварительные моменты:

        Какова будет общая ширина всех элементов?

        Где будет размещаться макет? При фиксированном дизайне блок с материалом размещается обычно у левого края или по центру экрана. Последний вариант предпочтительнее, тогда не так заметны широкие поля вокруг при больших разрешениях монитора.

      Ширина элемента в браузере складывается из значений ширины самого блока (width), отступов (margin), полей (padding) и границ (border). width, padding и margin .

      «Резиновый» макет

      «Резиновый» макет . При этом виде верстки единицей измерения выступают проценты. Общая рабочая ширина окна браузера - 100%, и колонки макета в сумме не должны ее превышать.

      Позиционирование элемента относительно окна браузера и других элементов

      Существуют два способа позиционирования элементов относительно друг друга, это применение стилевого свойства float или можно воспользоваться свойством Основы работы с CSS position .

      Ширина элемента в браузере складывается из значений width блока , width border , padding и margin .

      Padding - это отступ между контентом и границей, а margin - это отступ между границей и «внешним миром».

      Рисунок взят из Учебник css. Основы css .

        margin - устанавливает величину отступа от каждого края элемента внешний отступ (снаружи от границ блока до остальных элементов страницы). Свойства margin-right и margin-left со значением auto задают выравнивание слоя по центру веб-страницы, например в CSS файле это можно написать так (верх и низ – 0, а по обоим бокам – auto) #container { margin: 0 auto; }

        Величины задаются начиная с top

        Margin: margin-top margin-right margin-bottom margin-left margin:10px 20px 20px 30px;

      Margin в отличии от padding может быть отрицательным.

        padding - устанавливает значение полей вокруг содержимого элемента внутренний отступ (внутри от границ блока до контента). Поочередно установить поля от верхнего, правого, нижнего и левого края: padding: 0px 2px 0px 0px;

      Если группировать значения, тогда отступы будут меняться так: margin: 5px 6px; На 5 пикселей вверх и вниз. На 6 пикселей вправо и влево.

      float

      По умолчанию содержимое контейнеров div на странице располагаются по вертикали, вначале идет один слой, ниже располагается следующий и т.д. При создании колонок требуется располагать слои рядом по горизонтали, для чего применяется несколько методов. Одним из распространенных является использование стилевого свойства float. Хотя он предназначен для создания обтекания вокруг элемента, с тем же успехом float устанавливает и колонки.

      По умолчанию ширина блока вычисляется автоматически и занимает все доступное пространство. Здесь следует оговорить, что под этим подразумевается. Например, если тег

      в коде документа присутствует один, то он занимает всю свободную ширину окна браузера и ширина блока будет равна 100%. Стоит поместить один тег

      внутрь другого, как ширина внутреннего тега начинает исчисляться относительно его родителя, т.е. внешнего контейнера.

      При задании любому элементу свойства float left или right - элемент становится блочным(display: block) и его размер определяется его контентом.

        Расположение слоев по горизонтали.

      По умолчанию слои выстраиваются по вертикали один под другим, но при помощи CSS свойства float их можно заставить располагаться рядом по горизонтали. При этом требуется установить ширину слоев и задать для них float. Поскольку для второго слоя также применяется обтекание, то добавленный ниже текст помещается справа от слоя. Избежать этого поможет свойство clear, оно отменяет действие float.

      Clear { clear: both; /* Отменяем обтекание. float*/ }

      Создание колонок при помощи float имеет ряд особенностей. Первая, как уже упоминалась, состоит в том, что после плавающих элементов требуется добавлять элемент со свойством clear, который выключает обтекание. Это необходимо в том случае, если предполагается использовать нижележащие слои. Вторая особенность связана с представлением плавающих слоев. Если окно браузера уменьшить до определенного предела, то слои перемещаются по вертикали.

      Float - список возможных значений: left,right,none.

      Clear - список возможных значений:

        left – не допускает обтекание «floated» объекта слева

        right – запрещает обтекание элемента справа

        both – запрещает обтекание объекта с обеих сторон, т.е. и слева, и справа

        none – разрешено обтекание

      Если элемент перемещается влево (float:left), он выравнивается по левой стороне содержащего элемента, а весь последующий контент выравнивается по правой стороне (до тех пор пока не достигнет нижней границы элемента).

      Если элемент перемещается вправо, он выравнивается по правой стороне, а весь последующий контент будет выровнен по левой стороне (до тех пор пока не достигнет нижней границы элемента).

      В случае, если ширина последующего контента зафиксирована, он не будет переноситься ниже выровненного float-ом div -а. Вместо этого он применит свою ширину.

      position

      Свойство position без упоминания координат (значений left, top, right или bottom) не меняет положение текущего слоя, но оказывает влияние на расположение близлежащих или вложенных слоев.

      В нормальном потоке значения свойств равны float:none; position: static;

        static - элементы отображаются как обычно (нормальный поток. Для static свойство z-index не работает.

        relative - элемент всё ещё занимает место (как при static), но теперь свойства top и left можно использовать для сдвига относительно его обычного расположения. Координаты отсчитываются от исходного положения слоя.

        absolute - при абсолютном если у родителя значение position установлено как static или родителя нет, то отсчет координат ведется от края окна браузера. Если у родителя значение position задано как fixed, relative или absolute, то отсчет координат ведется от края родительского элемента. Элемент становится блочным. Размер элемент определяется его контентом. margin не работает. Float принимает значение none. Элемент перестает взаимодействовать с любыми элементами, кроме ближайшего предка с прокруткой (элемент ).

        fixed - элемент привязывается к указанным свойствам left, top, right и bottom и не меняет своего положения при прокрутке Веб- страницы.

      overflow

      overflow, overflow-x, overflow-y управляет отображением содержания блочного элемента, если оно целиком не помещается и выходит за область заданных размеров то включается прокрутка (scroll).

      Ширина и высота слоя

        Ширина слоя

      По умолчанию ширина слоя задается как auto, это позволяет вписывать слой в окно браузера, не принимая в расчет значения установленных полей. Если изменить ширину на 100%, то при добавлении значения отступов, полей или границ неминуемо появится горизонтальная полоса прокрутки.

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

        Высота слоя

      С высотой блочных элементов дело обстоит аналогично ширине. Браузер за высоту слоя принимает значение свойства height и добавляет к нему еще значение margin, padding и border. Если высота слоя не установлена явно, то она вычисляется автоматически исходя из объема содержимого.

        Цвет фона

      Цвет фона элемента проще всего устанавливать через универсальное свойство background. Фоном при этом заливается область, которая определяется значениями width, height и padding. Таким образом, margin не принимает участия в формировании цветной области.

        Резюме

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

      Спецификация CSS определяет, что высота и ширина элемента определяется не только значениями height и width, но к ним еще плюсуется значение полей, отступов и границ. Браузеры в этом плане делятся на две части: одни поддерживают в этом вопросе спецификацию, другие же ее игнорируют и поступают по-своему. Это создает трудности разработчикам, которые желают делать универсальные веб-страницы. Можно только посоветовать ограниченно использовать свойства width и height, поскольку по умолчанию браузер применяет аргумент auto, который заставляет настраивать размеры элемента автоматически.

      Создание врезок

      Врезкой называется блок с рисунками и текстом, который встраивается в основной текст. Врезка обычно располагается по левому или правому краю текстового блока, а основной текст обтекает ее с других сторон. Чтобы врезка выделялась в тексте, у нее обычно устанавливают фоновый цвет и добавляют рамку. При создании врезок следует обязательно указывать ее ширину с помощью width. Иначе размер слоя окажется гораздо шире, чем это требуется.

      Header(Шапка сайта)

      Тег

      задает «шапку» сайта(заголовок сайта). Заголовок чаще всего состоит из логотипа сайта и слогана.

      Footer(Подвал)

      Footer (нижний колонтитул) или подвал страницы. В Использование HTML 5 для обозначения подвала страницы введен новый тег footer. Элемент footer выступает в роли подвала (колонтитула) для ближайшего предка (в случае, если таковой есть и он является секционным блоком: article, aside, nav, section) или корневого элемента. Footer обычно содержит информацию о секции: кто автор, ссылки на связанные документы, авторские права и тому подобное. Footer не обязательно может быть в конце секции, где обычно мы его размещаем. Когда подвал содержит целые разделы, все они воспринимаются как дополнительная информация, приложения к основному содержимому.

      </ footer>

      verstka.txt · Последние изменения: 2018/07/11 06:09 (внешнее изменение)



       Top