Создание блоков в html css. Как сделать блок в html и умело научиться размещать его на своей web-странице. И напоследок… качаем видео уроки

Цель урока: Знакомство с блочной версткой CSS. Получение навыков использования блочной верстки сайта


  • При работе со слоями или, иначе говоря, блоками и элементами div , основная нагрузка ложится на CSS, т.к. без свойств слои из себя практически ничего не представляют.
  • К сожалению до сих пор существует проблема с кроссбраузерностью при работе с блоками. Т.е. одни и те же свойства дают разный результат в разных браузерах. Для борьбы с такими проблемами существуют так называемые хаки. Хак - это набор приемов, когда отдельным браузерам подается код, который понимается только этим браузером, а остальными игнорируется.

Отличительные черты от табличной верстки

Допустим, необходимо создать шаблон страницы с «шапкой», «подвалом» и двумя колонками.
Отличия:

Фиксированный дизайн или
жесткая блочная верстка (две колонки)

  • Фиксированный макет подразумевает использование слоев заданной ширины, которая определяется разрешением монитора пользователя.
  • Так как наиболее популярным среди пользователей сети является разрешение монитора 1024×768, то желательно ориентироваться именно на него. Общая ширина блоков в таком случае составляет 900–1000 пикселей (небольшая часть пикселей требуется на полосы прокрутки и границы окна браузера).
  • Основной блок с контентом размещается по центру , тогда «свободные» поля по краям неплохо смотрятся даже при большом разрешении монитора.

Рис.1. Пример фиксированного дизайна

  • Общая ширина может выбираться дизайнером, что называется «на глаз», или после сбора каких-либо дополнительных сведений.
  • Пример: создать фиксированный дизайн сайта на основе представленного выше изображения


    Выполнение:
    • «Разбиваем» все основные элементы страницы на блоки следующим образом:
      • блок 1 — слой первый (id="shapka"),
      • блок 2 и 3 заключаются в единый блок (id="container"),
      • блок 2 — слой с меню (id="menu"),
      • блок 3 — слой с контентом (id="content"),
      • блок 4 — слой с id="bottom" .

    Схематично изобразим расположение блоков:

    <body > <div id = "shapka" > 1</ div > <div id = "container" > <div id = "menu" > 2</ div > <div id = "content" > 3</ div > </ div > <div id = "bottom" > 4</ div > </ body >

    1
    3
    4

    1. Задаем свойства «шапки» (блок 1)

    • Выбираем общую ширину слоев «на глаз» — 750 пикселей.
    • margin-right: auto; margin-left: auto;

    • либо задать высоту при помощи отступа
    • например:

      padding-top : 15px ; padding-bottom : 15px ;

      padding-top: 15px; padding-bottom: 15px;

      Весь код для шапки:

      #shapka{ text-align: left; /* Выравнивание внутреннего контента по левому краю */ width: 750px; /* Ширина блока и общая ширина*/ background: #900000; /* Цвет фона */ height: 50px; /* Высота блока */ margin-right: auto; /* Авто-отступ справа */ margin-left: auto; /* Авто-отступ слева */ padding: 10px; }

      2. Создаем свойства контейнера

      • Задаем ширину контейнера: она должна быть 750px + 20px (общая ширина макета + внутренние отступы в общей ширине макета). Т.е. в контейнере нет внутренних отступов, поэтому увеличим его ширину на 10 пикселей слева и 10 пикселей справа
      • Если макет должен прилегать к левой части экрана, то браузер выполнит это автоматически. В нашем случае отцентрируем блок контейнера
      • #container { width: 770px; /* Ширина слоя или (ширина макета+20) */ margin-right: auto; /* Авто-отступ справа */ margin-left: auto; /* Авто-отступ слева */ }

      3. Создаем свойства для блока 2 — меню

      • Слой номер 2 шириной в 200 пикселей (width)
      • Для этого же слоя (меню) устанавливаем обтекание соседним блоком, т.е. свойство float: left
      • Задаем внутренние поля, чтобы текст не «приклеился» к краю слоя (свойство padding)
      • Задаем цвет текста и заднего фона (background , color)
      • #menu { width: 200px; /* Ширина слоя */ float: left; color: white; /* Цвет текста */ background: #008080; /* Цвет фона */ padding: 10px; /* Внутренние поля вокруг содержимого */ }

      4. Создаем свойства для блока 3 — контент

      • Задаем ширину слоя из расчета 770px — 200px = 570px, Но! так как мы установили внутренние отступы в обоих блоках 2 и 3, то мы должны вычесть еще 40 пикселей: 20 — внутренние отступы блока с меню и 20 — внутренние отступы блока с контентом. Получим ширину слоя 770px — 200px — 40px = 530px
      • Задаем обтекание float: left , исключая баг браузера Internet Explorer: если не установить свойство, то между слоями будет зазор. Кроме того, если не установить это свойство, то блок окажется за блоком меню, и только лишь его контент (текст) будет обтекать блок меню справа.
      • Задаем цвет заднего фона (background) и внутренние поля (padding)
      • #content { /* Правая колонка*/ width: 550px; /* Ширина слоя */ float: left; /* Обтекание с соседним слоем */ padding: 10px; /* Внутренние поля вокруг содержимого */ background: #e0e0e0; /* Цвет заднего фона */ }

      5. Создаем свойства для блока 4 — «подвал»

      • Ширину слоя устанавливаем в 750 пикселей
      • Для этого блока надо убрать обтекание, т.е. установить свойство clear
      • Устанавливаем внутренние поля padding
      • Задаем цвет для фона (background) и текста (color)
      • Центрируем блок (margin-right и margin-left)
      • #bottom{ width:750px; /* Ширина слоя */ clear:left; /* возвращаем блочность и располагаем слой слева */ padding: 10px; /* Внутренние поля вокруг содержимого */ background:#444; /* фон */ color:#fff; /* цвет текста */ margin-right: auto; /* Авто-отступ справа */ margin-left: auto; /* Авто-отступ слева */ }

      Итоговый код: всё вместе

      <style type = "text/css" >

      1
      3
      4

      Результат:

      Рис.2. Жесткая блочная верстка из двух колонок

      Фиксированный дизайн для трех колонок

      При фиксированном дизайне для макета из трех колонок можно выделить два основных подхода построения модульной сетки:

    1. Использование свойства для расположения колонок рядом.
    2. Использование набора тех CSS свойств, которые предназначены для позиционирования слоев.

    Рассмотрим первый случай.

    Использование свойства float для макета в три колонки

    На рис. 3 — результат использования свойства для трехколонного макета. На самом деле используется 6 слоев — отдельно для заголовков колонок и отдельно для самих колонок.

    Рис. 3. Фиксированный дизайн в три колонки

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


    Выполнение:
    • Определим для заголовков три слоя (#header...) и для колонок три слоя (#col...).
    • Так как колонки и их заголовки расположены на двух разных строках, то объеденим их в контейнеры (class="container").
    • Получим схематичное изображение расположения блоков:

    Получим следующую html-структуру:

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 <body > <div class = "container" > <div id = "header1" > Евгений Евтушенко</ div > <div id = "header2" > Валерий Брюсов</ div > <div id = "header3" > Эдуард Асадов</ div > </ div > <div class = "container" > <div id = "col1" > Мне снится старый друг,<br / > который стал врагом,<br / > но снится не врагом,<br / > а тем же самым другом.<br / > Со мною нет его,<br / > но он теперь кругом,<br / > и голова идет<br / > от сновидений кругом. </ div > <div id = "col2" > Великое вблизи неуловимо,<br / > Лишь издали торжественно оно,<br / > <br / > </ div > <div id = "col3" > <br / > <br / > <br / > </ div > </ div > </ body >

    Евгений Евтушенко
    Валерий Брюсов
    Эдуард Асадов
    Мне снится старый друг,
    который стал врагом,
    но снится не врагом,
    а тем же самым другом.
    Со мною нет его,
    но он теперь кругом,
    и голова идет
    от сновидений кругом.
    Великое вблизи неуловимо,
    Лишь издали торжественно оно,
    Мы все проходим пред великим мимо
    И видим лишь случайное звено.
    В любых делах при максимуме сложностей
    Подход к проблеме все-таки один:
    Желанье - это множество возможностей,
    А нежеланье - множество причин.

    2. Добавление стилей для заголовков (селектор header...) и колонок (селектор col...)

    • Ширину колонок и заголовков сделаем у всех одинаковой. Поскольку колонок 3, а средняя ширина страницы должна быть примерно 700-900 пикселей, то установим ширину колонок в 250 пикселей.
    • #header1, #header2, #header3, #col1, #col2, #col3 { width: 250px; /* Ширина колонок */ }

    • Добавим внутренние поля (отступы от содержимого текста) — padding и внешние отступы, чтобы обеспечить зазор между колонками. Поскольку свойства задаются сразу для все колонок одновременно, а сам весь макет не центрируется, а выравнивается по левому краю, то установим отступ только с одной стороны — левой — у всех колонок одновременно (margin-left).
    • #header1, #header2, #header3, #col1, #col2, #col3 { width: 250px; /* Ширина колонок */ padding: 5px; /* Поля вокруг текста */ margin-left: 5px; /* Отступ слева */ }

    • Добавим также внешний отступ сверху, обеспечив зазор по вертикали между заголовками и колонками, а также отступ заголовков от верха страницы (margin-top).
    • #header1, #header2, #header3, #col1, #col2, #col3 { ... float: left; }

    • Добавляем границу для блоков (border) и и задаем параметры шрифта (font-family , font-weight , font-size , color).
    • #header1, #header2, #header3, #col1, #col2, #col3 { ... border: 1px solid black; /* Рамка вокруг слоя */ font-family: Verdana, Arial, sans-serif; /* Не серифный или рубленый шрифт */ font-weight: bold; font-size: 80%; /* Размер шрифта */ color: white; /* Цвет текста заголовка */ }

      Получим код:

      #header1 , #header2 , #header3 , #col1 , #col2 , #col3 { width : 250px ; /* Ширина колонок */ padding : 5px ; /* Поля вокруг текста */ /* Отступ сверху */ float : left ; /* Состыковка колонок по горизонтали */ /* Рамка вокруг слоя */ /* Не серифный или рубленый шрифт */ font-weight : bold ; /* Жирное начертание текста заголовка */ font-size : 80% ; /* Размер шрифта */ color : white ; /* Цвет текста заголовка */ }

      #header1, #header2, #header3, #col1, #col2, #col3 { width: 250px; /* Ширина колонок */ padding: 5px; /* Поля вокруг текста */ margin-left: 5px; /* Отступ слева */ margin-top: 2px; /* Отступ сверху */ float: left; /* Состыковка колонок по горизонтали */ border: 1px solid black; /* Рамка вокруг слоя */ font-family: Verdana, Arial, sans-serif; /* Не серифный или рубленый шрифт */ font-weight: bold; /* Жирное начертание текста заголовка */ font-size: 80%; /* Размер шрифта */ color: white; /* Цвет текста заголовка */ }

    • Установим задний фон отдельно для каждого селектора.
    • #header1 { background : #B38541 ; } #header2 { background : #008159 ; } #header3 { background : #006077 ; } #col1 { background : #EBE0C5 ; } #col2 { background : #BBE1C4 ; } #col3 { background : #ADD0D9 ; }

      #header1 { background: #B38541; } #header2 { background: #008159; } #header3 { background: #006077; } #col1 { background: #EBE0C5; } #col2 { background: #BBE1C4; } #col3 { background: #ADD0D9; }

    Смотрим промежуточный результат:

    Рис. 4. Промежуточный результат

    3. Задание стиля для контейнеров

    • Теперь необходимо объединить в отдельные слои-контейнеры заголовки и колонки и задать им соответствующий стиль — отмену обтекания (clear)
    • .container { clear : both ; /* Отменяет действие обтекания float */ }

      Container { clear: both; /* Отменяет действие обтекания float */ }

    • Теперь осталось доработать шрифт текста в колонках, изменив его размер, начертание и цвет.

    #col1, #col2, #col3 { font-family: "Times New Roman", Times, serif; /* Шрифт серифный или с засечками */ font-size: 100%; /* Размер шрифта */ font-weight: normal; /* Нормальное начертание */ color: black; /* Цвет текста */ }

    Итоговый код: всё вместе

    <style type = "text/css" >

    Евгений Евтушенко
    Валерий Брюсов
    Эдуард Асадов
    Мне снится старый друг,
    который стал врагом,
    но снится не врагом,
    а тем же самым другом.
    Со мною нет его,
    но он теперь кругом,
    и голова идет
    от сновидений кругом.
    Великое вблизи неуловимо,
    Лишь издали торжественно оно,
    Мы все проходим пред великим мимо
    И видим лишь случайное звено.
    В любых делах при максимуме сложностей
    Подход к проблеме все-таки один:
    Желанье - это множество возможностей,
    А нежеланье - множество причин.

    Результат:

    Рис. 5. Результат

    Использование позиционирования слоев для макета в три колонки

    Возьмем в качестве примера макет, состоящий из трех колонок разграниченных разделительной линией (рис. 6).

    Рис. 6. Позиционирование слоев для макета в три колонки с разделителем


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


    Выполнение:

    1. Создание структуры html-кода

    • Для данного макета достаточно создать три слоя div для каждой колонки.

    Поэтому структура будет простой:

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 <body > <div id = "col1" > Иван Бунин</ br ></ br > </ br > </ br > </ br > </ div > <div id = "col2" > </ br > Золотится отблеском окно. </ br > </ br > Белым снегом всё запушено. </ div > <div id = "col3" > И всё утро яркие и чистые</ br > </ br > </ br > Хризантемы на моём окне.</ br ></ br > 1903 </ div > </ body >

    Иван Бунин

    На окне, серебряном от инея,
    За ночь хризантемы расцвели.
    В верхних стёклах - небо ярко-синее
    И застреха в снеговой пыли.
    Всходит солнце, бодрое от холода,
    Золотится отблеском окно.
    Утро тихо, радостно и молодо.
    Белым снегом всё запушено.
    И всё утро яркие и чистые
    Буду видеть краски в вышине,
    И до полдня будут серебристые
    Хризантемы на моём окне.

    1903

    2. Добавление стилей для колонок

    • Установим одинаковую ширину колонок (width) и внутренние поля по вертикали и горизонтали (padding).
    • #col1, #col2, #col3 { width: 250px; /* Ширина колонок */ padding: 0 6px; }

    • Для удаления блочности слоев, т.е. для того, чтобы расположить их рядом по горизонтали, необходимо задать свойство css float .
    • #col1 , #col2 , #col3 { width : 250px ; /* Ширина колонок */ padding : 0 6px ; /* Поля по вертикали и горизонтали */ float : left ; /* Обтекание слоев */ }

      #col1, #col2, #col3 { width: 250px; /* Ширина колонок */ padding: 0 6px; /* Поля по вертикали и горизонтали */ float: left; /* Обтекание слоев */ }

    • Так как разделительная граница должна присутствовать только с внутренних сторон слоев, то рамку необходимо добавить только у двух слоев с одной стороны (border).
    #col1 , #col2 { border-right : 1px solid #000 ; /* Поля по вертикали и горизонтали */ float : left ; /* Обтекание слоев */ } #col1 , #col2 { border-right : 1px solid #000 ; /* Параметры линии справа от текста */ }

    #col1, #col2, #col3 { width: 250px; /* Ширина колонок */ padding: 0 6px; /* Поля по вертикали и горизонтали */ float: left; /* Обтекание слоев */ } #col1, #col2 { border-right: 1px solid #000; /* Параметры линии справа от текста */ }

    </ style > </ head > <body > <div id = "col1" > Иван Бунин</ br ></ br > На окне, серебряном от инея,</ br > За ночь хризантемы расцвели.</ br > В верхних стёклах - небо ярко-синее</ br > И застреха в снеговой пыли. </ div > <div id = "col2" > Всходит солнце, бодрое от холода, </ br > Золотится отблеском окно. </ br > Утро тихо, радостно и молодо. </ br > Белым снегом всё запушено. </ div > <div id = "col3" > И всё утро яркие и чистые</ br > Буду видеть краски в вышине, </ br > И до полдня будут серебристые </ br > Хризантемы на моём окне.</ br ></ br > 1903 </ div > </ body >

    Иван Бунин

    На окне, серебряном от инея,
    За ночь хризантемы расцвели.
    В верхних стёклах - небо ярко-синее
    И застреха в снеговой пыли.
    Всходит солнце, бодрое от холода,
    Золотится отблеском окно.
    Утро тихо, радостно и молодо.
    Белым снегом всё запушено.
    И всё утро яркие и чистые
    Буду видеть краски в вышине,
    И до полдня будут серебристые
    Хризантемы на моём окне.

    1903

    Дизайн в три колонки готов!

    61.1K

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

    Верстка сайта – ремесло для посвященных

    Есть в верстке сайта что-то таинственное. Но это до тех пор, пока не познакомишься с этим ремеслом поближе. Начинаем наше посвящение:


    Следующим этапом разработки сайта после создания его макета является верстка. Задача верстальщика перенести с помощью html кода и таблиц css скелет будущего сайта в виртуальный мир. Проще говоря, перенести размеры и пропорции ресурса в форму, понятную для браузера.

    В процессе верстки кодом html происходит разбивка «скелета » сайта на части. А с помощью css (каскадных таблиц стилей ) задаются размеры его «костей », цвет и расположение.

    Различают несколько видов верстки:

    I. Табличная – ранее была основным способом верстки. В табличной верстке для задания структуры сайта используется тег

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


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

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

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

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

    II. Блочная – в данный момент является основным способом верстки. В отличие от табличной блочная верстка обладает рядом преимуществ:

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

    Основным недостатком блочной верстки является некая «двусмысленность » понимания ее кода различными браузерами. Поэтому часто html страницы приходится «доводить » путем использования специальных хаков.

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

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

    Основным элементом, применяемым в блочной верстке, является тег

    . Участок кода, отделенный этим тегом, называется слоем. Все стилевые решения вынесены за границы кода html в каскадные таблицы стилей. Доступ к ним осуществляется через идентификаторы или классы css :

    Как происходит блочная верстка?

    Перед началом верстки готовый psd макет сайта в графическом редакторе разрезают на блоки (слои ). В отдельную папку помещают вырезанные фоновые картинки, которые будут прикрепляться отдельно к каждому слою:


    Для примера возьмем вот такой макет сайта, созданный в Photoshop . Сначала в текстовом редакторе с помощью div задаем структуру будущего ресурса и присваиваем каждому слою свой селектор id . Получается такая структура:

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

    Более подробно ознакомиться со всеми свойствами css можно из технической документации к языку.

    Полный код примера index.html :

    Пример блочной верстки

    Контент

    Содержимое файла style.css :

    body { background: #f3f2f3; color: #000000; font-family: Trebuchet MS, Arial, Times New Roman; font-size: 12px; } #container { background:#99CC99; margin: 30px auto; width: 900px; height: 600px; } #header { background: #66CCCC; height: 100px; width: 900px; } #navigation { background: #FF9999; width: 900px; height: 20px; } #menu { background: #99CC99; float: left; width: 200px; height: 400px; } #content { background: #d2d0d2; float: right; width: 700px; height: 400px; } #clear { clear:both; } #footer { background: #0066FF; height: 80px; width: 900px; }

    Вот так наш пример блочной верстки сайта выглядит в окне браузера.

    Здравствуйте, друзья!

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

    Наверняка Вы уже слышали понятие «блочная верстка» . Но человеку неосведомленному это понятие ни о чем не говорит. Поэтому: кто знает — молодец! А кто не знает — читаем внимательнее.

    Блочная верстка — это верстка -кода web-страницы при помощи тегов универсальных контейнеров

    .

    Об этом я немного писал в статье « ». Здесь же мы поговорим более детально и конкретно.

    1. Почему блочная верстка?

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

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

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

    Не будем ворошить старое. Давайте перейдем к блочной верстке.

    Блочная верстка позволяет строить структуру страницы при помощи отдельных блоков (контейнеров

    ). Они как кирпичики, из которых состоит остов сайта.

    Преимущества блочной верстки перед табличной:

    • Каждый блок описывается одним тегом;
    • Удобно отслеживается структура вложенности контейнеров;
    • Контейнеры
      можно позиционировать не только внутри родительских, но и другими способами (например абсолютное позиционирование) — об этом поговорим позже;
    • Значительно увеличивается скорость загрузки страниц сайта. По некоторым оценкам, скорость увеличивается где-то в три — четыре раза по сравнению с табличной;
    • Блочная верстка имеет значительно меньший объем кода по сравнению с табличной. А значит, нагрузка на сервер также уменьшается;
    • сайты с блочной версткой достаточно корректно отображаются во всех браузерах, при любом разрешении экрана;
    • легко интегрируется в любые CMS, не вызывая проблем.

    2. Основа блочной верстки — контейнер

    При блочной верстке все элементы страницы состоят из блоков (логично, не правда ли?).

    Блок

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

    Если нам нужно расположить несколько блоков горизонтально, то в их свойствах задаётся параметр “обтекание ” (float). Но об этом чуть позже.

    Основными свойствами любого блока являются: отступы, граница и поля.

    Желаю Вам успехов в освоении навыков веб-мастера!

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

    Как создать структуру страницы с помощью блоков (блочная вёрстка)

    1. Как разбить макет страницы на секции

    Чтобы создать макет страницы, необходимо выделить основные разделы (секции) документа. Подробнее о секционных элементах вы можете прочитать в статье .

    Стандартная веб-страница содержит следующие секции:


    Рис. 1. Основные секции страницы

    Мы не будем использовать элемент

    , так как он поддерживается не всеми браузерами.

    Элементы

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


    Рис. 2. Основные секции страницы с тегом-контейнером

    и задать для него максимальную ширину, внутренние отступы, которые будут отделять контент от краёв экрана устройств с небольшим разрешением, а также внешние отступы, позволяющие выровнять контейнер по середине родительского блока:

    Container { width: 100%; max-width: 1024px; /*максимальная ширина может иметь другое значение*/ padding: 0 15px; margin: 0 auto; }

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

    2. Разметка шапки сайта и позиционирование её элементов

    Приступим к разметке первой секции, так называемой шапки веб-страницы. Элемент

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

    LOGO

    Рис. 3. Шапка сайта с добавленными логотипом и ссылками

    Logo { float: left; } nav { float: right; } nav ul { margin: 0; padding: 0; list-style: none; } nav li { display: inline-block; /*один из способов разместить элементы в строку*/ }

    Существует несколько способов разместить блочные элементы в строку. Все они приведены в уроке .


    Рис. 4. Эффект схлопывания блока-контейнера

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

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

    Container:after { content: ""; display: table; clear: both; }

    Также добавим ему вертикальные отступы, отделяющие элементы внутри него от краёв шапки. В результате стили будут иметь следующие вид:

    Container { width: 100%; max-width: 1024px; padding: 15px; margin: 0 auto; }
    Рис. 5. Очистка потока

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


    Рис. 6. Логотип-картинка

    В нашем примере высота логотипа равна 38px , поэтому чтобы выровнять ссылки меню по высоте по середине шапки, нужно задать для них соответствующую высоту строки:

    Nav a { text-decoration: none; line-height: 38px; } Рис. 7. Выравнивание ссылок меню шапки

    3. Создание сетки для основной части страницы

    Основная часть страницы чаще всего представляет собой сетку из блоков разной ширины. Позиционирование таких блоков осуществляется также с помощью свойства float . Каждую строку блоков обернём дополнительным блоком с классом.row:


    Рис. 7. Сетка основной части страницы.col-1-2 { width: 50%; float: left; } .col-1-3 { width: 33.3333333333%; float: left; } .col-1-4 { width: 25%; float: left; } .col-2-3 { width: 66.6666666667%; float: left; }

    Для элемента с классом.row также применим очистку потока:

    Container:after, .row:after { content: ""; display: table; clear: both; }

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

    Row { margin-bottom: 15px; }

    Высота блоков сетки определяется высотой их содержимого, поэтому она может быть разная:


    Рис. 8. Разная высота элементов сетки

    Высоту блоков можно зафиксировать, указав её явно, например, .row div {height: 100px} . Но в этом случае нужно быть уверенным, что при добавлении адаптивности макету содержимое блоков не будет выходить за край блока.

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

    Lorem ipsum dolor sit amet.
    Duis lobortis tempor tortor vel iaculis. Fusce volutpat commodo lacus, eget vestibulum lorem semper at.
    .row-one { background: lightblue; } .col-2-3 { width: 66.6666666667%; float: left; background: seashell; }
    Рис. 9. Фоновая подложка

    Если основная секция страницы содержит только два блока, то дополнительный ряд-обёртку можно не добавлять:

    4. Разметка подвала страницы

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

    В этой статье разберём, как сделать страницу из отдельных блоков для сообщений, анонсов, картинок, а затем посмотрим, как такую разбивку сделать в WordPress.

    Что-то типа такого:

    Рис. 1 Четыре блока с закруглёнными углами и тенью.

    Можно вот так:

    Или даже так:

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


    Итак смотрим код варианта показанного на Рис. 1.





    Документ без названия






    Добрый день!


    src ="http://сайт/wp-content/uploads/2013/03/i-5.jpg "
    align ="left " width ="50 " height ="80 " />

    Всем привет! Желаю творческих успехов



    class ="blok2 " >Блок 2

    Блок 3

    Блок 4



    Что здесь можно подкорректировать?

    Во первых — это конечно width и height (ширина и высота) блоков.

    Во вторых, можно изменить цвет блоков background , изменить радиус углов border-radius , и можно придать блокам тень box-shadow .

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

    Чтобы сделать вариант Рис. 2, нужно просто весь селектор блоков повторить ещё раз, и добавить дивы в тело тега body.





    Документ без названия



    Как разбить страницу на отдельные блоки




    Добрый день!


    alignright size-full wp-image-533 "
    src =""
    align ="left " width ="50 " height ="80 " />

    Всем привет! Желаю творческих успехов!



    Блок 2

    Блок 3

    Блок 4

    Блок 5

    Блок 6

    Блок 7

    Блок 8



    Точно таким образом можно нашлёпать таких блоков хоть сотню. Менять можно число блоков в строке и их размер.

    Вариант Рис. 3 делается немного по другому. Блоки не собираются в один селектор, а прописываются друг за другом.





    Документ без названия





    Добрый день!


    alignright size-full wp-image-533 "
    src ="https://сайт/wp-content/uploads/2013/03/i-5.jpg "
    align ="left " width ="50 " height ="80 " />

    Всем привет! желаю творческих успехов!



    Блок 2

    Блок 3

    Блок 4



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

    Можно убрать из группового селектора все свойства border-radius и box-shadow, а вместо них прописать рамку:

    border :2px solid #E0251B ;

    Тогда страница приобретёт такой вид:

    Вариант Рис. 4:





    Документ без названия










    Как видите, размещать блоки можно и по оси Z. И такой метод предоставляет большие возможности для дизайна.

    Представьте, что вместо блоков У Вас изображения. Убрав у них тень, можно одно изображение накладывать на другое (блоки у меня ведь накладываются друг на друга), и таким образом создать оригинальную картинку.

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

    На этом блоге установлена стандартная, идущая в WordPress по умолчанию, тема — TwentyTen.

    А сделаем мы примерно вот так: (Это не картинка. Это html + css)

    Количество блоков в строке, а так-же их размер — на Ваше усмотрение.

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


    Блок 1

    Блок 2

    Блок 3



    Блок 4

    Блок 5

    Блок 6


    После того как все размеры, отступы, и оформление подогнаны, нужно перенести все стили в файл style.css шаблона.

    Для этого в имеющихся блочных элементах (в нашем случае это div и p , вместо атрибута style , с значениями, прописываем class , с произвольным названием.

    class ="okno "

    Потом идём в файл style.css шаблона, и вписываем этот класс.

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

    В тексте остаётся только такой html код:


    Блок 1


    Блок 2


    Блок 3




    Блок 4


    Блок 5


    Блок 6


    А в файле style.css — такой:

    Okno {
    display: inline;
    width: 600px;
    }

    Okno1 {
    float: left;
    font-family: Verdana;
    padding: 10px;
    font-size: 14px;
    margin: 3px 3px 3px 5px;
    width: 170px;
    height: 200px;
    border-radius: 5px;
    box-shadow: rgba(0,0,0,5.2) 0px 1px 3px;
    }

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

    Но это уже зависит от особенностей темы.

    Желаю творческих успехов.


    Классный руководитель:
    — Ну, как вы трудились дома?
    — Дома я трудился над тарелкой с пирожками, а потом над компотом.