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

Верстка блоками div давно уже стала стандартом и имеет ряд преимуществ перед табличной версткой. Однако на деле начинающие разработчики путаются в поведении этих самых блоков.

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

Что считать блочным элементом?

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

Итак, от простого к сложному. Посмотрим, как отобразятся блоки div по умолчанию без стилей, влияющих на их положение. Для наглядности стили к элементам будем добавлять инлайново, через атрибут style.

Блок 1
Блок 2
Блок 3

Добавим значение ширины для каждого блока:

Блок 1
Блок 2
Блок 3

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

Теперь возникает вопрос, как расположить блоки div на одной строке , друг за другом?

Для этого существует свойство , которое определяет, с какой стороны блок будет принудительно выровнен. При этом с другого края, он может обтекаться другими элементами.

Свойство float имеет следующие значения:

  • left - блок выравнивается по левому краю, обтекание справа
  • right - блок выравнивается по правому краю, обтекание слева
  • none - обтекание не задано, блок ведет себя по умолчанию, как в предыдущих примерах.

Добавим float:left к нашим блокам, чтобы блоки выровнялись по левому краю:

Блок 1
Блок 2
Блок 3

В результате, блоки выстроились на одной строке. Хорошо, допустим, мы захотели добавить еще один div снизу, и сделаем это без указания свойства float:




Блок 1. Lorem ipsum dolor sit amet, consectetur adipisicing elit

Блок 2. Lorem ipsum dolor sit amet, consectetur adipisicing elit

Блок 3. Lorem ipsum dolor sit amet, consectetur adipisicing elit

Блок 4. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Блок 1. Lorem ipsum dolor sit amet, consectetur adipisicing elit

Блок 2. Lorem ipsum dolor sit amet, consectetur adipisicing elit

Блок 3. Lorem ipsum dolor sit amet, consectetur adipisicing elit

Блок 4. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

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

  • left - запрещает обтекание с левой стороны, все элементы будут показаны с новой строки (под элементом)
  • rigth - запрещает обтекание элемента с правой стороны
  • both - запрещает обтекание элемента с обоих сторон, рекомендуется использовать, когда явно надо показать элемент с новой строки или неизвестно с какой именно стороны возможно обтекание другими элементами

Добавим Блоку 4 свойство clear:left, которое запретит этому элементу обтекание других плавающих элементов с левой стороны.

Блок 1. Lorem ipsum dolor sit amet, consectetur adipisicing elit
Блок 2. Lorem ipsum dolor sit amet, consectetur adipisicing elit
Блок 3. Lorem ipsum dolor sit amet, consectetur adipisicing elit
Блок 4. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Блок 1. Lorem ipsum dolor sit amet, consectetur adipisicing elit

Блок 2. Lorem ipsum dolor sit amet, consectetur adipisicing elit

Блок 3. Lorem ipsum dolor sit amet, consectetur adipisicing elit

Блок 4. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Блок 4 разместился с новой строки, как нам надо.

В данном случае мы знаем как располагаются другие блоки, потому в примере сразу указали clear:left. Бывают ситуации, когда мы точно не знаем, с какой стороны встретится плавающий блок, поэтому в таких случаях стоит указывать clear:both, отменяющий обтекание с обеих сторон. Теперь мы разобрались как расположить блоки div на одной строке горизонтально.

Следует помнить, что блоки со значением float располагаются на одной строке, если позволяет ширина родительского элемента. Если блочные элементы не умещаются в ряд, они будут переноситься на новую строку. Если это критично, например, при верстке макетов, нужно это учитывать и у блоков с float обязательно задавать ширину - фиксированную (px) или резиновую (%, rem и т.д.). Дальше посмотрим на такие ситуации.

Как повлиять на блоки, если мы хотим разместить эти блоки по центру?

Классическим решением будет добавление блокам родителя и использование свойства margin: 0 auto;

Почему собственно родителю мы дали класс.wrapper ? «wrapper» в переводе означает «обертка». Это некая общепризнанная практика, определяющая название класса, когда элемент оборачивает другие блоки и тем самым позволяет управлять/влиять на них посредством изменения самого родителя.

Возьмем разметку из предыдущих примеров и усовершенствуем её.


Блок 1. Lorem ipsum dolor sit amet, consectetur adipisicing elit
Блок 2. Lorem ipsum dolor sit amet, consectetur adipisicing elit
Блок 3. Lorem ipsum dolor sit amet, consectetur adipisicing elit
Блок 4. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Блок 1. Lorem ipsum dolor sit amet, consectetur adipisicing elit

Блок 2. Lorem ipsum dolor sit amet, consectetur adipisicing elit

Блок 3. Lorem ipsum dolor sit amet, consectetur adipisicing elit

Блок 4. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Здесь вроде всё просто.

А если нам не нравится, что текст вплотную прилипает к краю родительского блока и хотим добавить поля без внесения изменений в разметку, только с помощью css. Добавим элементам свойство padding:

Блок 1. Lorem

Блок 2. Lorem ipsum

Блок 3. Lorem ipsum

Блок 4. Lorem

И видим, что наша верстка рассыпалась! Блок 3 куда то уехал. Почему так вышло? Ответ прост. Добавив поля элементам мы увеличили их ширину. Теперь значения таковы:

Блок 1: 10 + 200 + 10 = 220px

Блок 2: 10 + 150 + 10 = 170px

Блок 3: 10 + 100 + 10 = 120px

Блок 4: 10 + 450 + 10 = 470px

220 + 170 + 120 = 510px

Общая ширина трех блоков 510, они не умещаются в ширину родителя (450) и потому переносятся на новую строку.

Как поправить? Можно сделать следующее:

  • Задать заново значения ширины для каждого блока с учетом полей. Уменьшив размеры блоков. Все снова аккуратно встанет в одну строку. Согласитесь, это неудобно? Каждый раз лезть в верстку и что-то править.
  • Использовать свойство box-sizing: border-box. Чтобы расчет брался из общей ширины блока. Советую узнать, что такое блоковая модель сss.
  • Используем второй вариант, получается так:


    Блок 1. Lorem
    Блок 2. Lorem ipsum
    Блок 3. Lorem ipsum
    Блок 4. Lorem

    Блок 1. Lorem

    Блок 2. Lorem ipsum

    Блок 3. Lorem ipsum

    Блок 4. Lorem

    Теперь соберём всю полученную информацию воедино и попробуем создать простенький типовой трёхколоночный макет с резиновой версткой, который будет растягиваться максимально до 900px, после чего весь макет будет позиционироваться по центру.

    Создаем разметку макета:

    Document Шапка сайта Lorem ipsum dolor sit amet, consectetur adipisicing elit. Odit rem fugit itaque, est impedit aperiam a autem repellat vitae porro ex expedita, cumque nulla, velit. Soluta velit eos, quia. Fugiat voluptates nisi aliquid eum sapiente sunt nobis, adipisci assumenda earum! Lorem ipsum dolor sit amet, consectetur adipisicing elit. In itaque dolor vitae praesentium consectetur molestias consequatur voluptatem rem dolore nihil officiis voluptates aperiam asperiores, saepe iure repudiandae expedita natus eaque magnam tempore delectus. Подвал

    Пишем стили:

    Body { max-width: 900px; /* ограничение максимальной ширины */ margin: 0 auto; } /* для всех блоков внутри body изменяем алгоритм расчета ширины блоков и добавляем все блокам поля 10px */ body div { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 10px; } .header { background: #CCA69E; padding: 10px; } .left-sidebar { width: 20%; background: #8ED9B6; float: left; } .content { float: left; width: 60%; } .right-sidebar { width: 20%; background: #FF9282; float: left; } .footer { background: #000; clear: both; /* запрещаем обтекание с обоих сторон, блок выводится с новой строки */ color: #ccc; }

    Если что-то непонятно — спрашивайте в комментариях.

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


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

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

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

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

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


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

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

    1 2 3 4

    1 2 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; /* Авто-отступ слева */ }

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

      /* для блока 1 - шапка */ #shapka { text-align : left ; /* Выравнивание внутреннего контента по левому краю */ width : 750px ; /* Ширина блока и общая ширина*/ background : #900000 ; /* Цвет фона */ height : 50px ; /* Высота блока */ margin-right : auto ; /* Авто-отступ справа */ margin-left : auto ; /* Авто-отступ слева */ padding : 10px ; /* Внутренние поля вокруг содержимого */ } /* для контейнера */ #container { width : 770px ; /* Ширина слоя или ширина макета+20px */ margin-right : auto ; /* Авто-отступ справа */ margin-left : auto ; /* Авто-отступ слева */ } /* для блока 2 - меню */ #menu { width : 200px ; /* Ширина слоя */ float : left ; /* Обтекание с соседним слоем */ color : white ; /* Цвет текста */ background : #008080 ; /* Цвет фона */ padding : 10px ; /* Внутренние поля вокруг содержимого */ } /* для блока 3 - контент */ #content { /* Правая колонка*/ width : 530px ; /* Ширина слоя */ float : left ; /* Обтекание с соседним слоем */ padding : 10px ; /* Внутренние поля вокруг содержимого */ background : #e0e0e0 ; /* Цвет заднего фона */ } /* для блока 4 - подвал */ #bottom { width : 750px ; /* Ширина слоя */ clear : left ; /* возвращаем блочность и располагаем слой слева */ padding : 10px ; /* Внутренние поля вокруг содержимого */ background : #444 ; color : #fff ; margin-right : auto ; /* Авто-отступ справа */ margin-left : auto ; /* Авто-отступ слева */ }

      /* для блока 1 - шапка */ #shapka{ text-align: left; /* Выравнивание внутреннего контента по левому краю */ width: 750px; /* Ширина блока и общая ширина*/ background: #900000; /* Цвет фона */ height: 50px; /* Высота блока */ margin-right: auto; /* Авто-отступ справа */ margin-left: auto; /* Авто-отступ слева */ padding: 10px; /* Внутренние поля вокруг содержимого */ } /* для контейнера */ #container { width: 770px; /* Ширина слоя или ширина макета+20px */ margin-right: auto; /* Авто-отступ справа */ margin-left: auto; /* Авто-отступ слева */ } /* для блока 2 - меню */ #menu { width: 200px; /* Ширина слоя */ float: left; /* Обтекание с соседним слоем */ color: white; /* Цвет текста */ background: #008080; /* Цвет фона */ padding: 10px; /* Внутренние поля вокруг содержимого */ } /* для блока 3 - контент */ #content { /* Правая колонка*/ width: 530px; /* Ширина слоя */ float: left; /* Обтекание с соседним слоем */ padding: 10px; /* Внутренние поля вокруг содержимого */ background: #e0e0e0; /* Цвет заднего фона */ } /* для блока 4 - подвал */ #bottom{ width:750px; /* Ширина слоя */ clear:left; /* возвращаем блочность и располагаем слой слева */ padding: 10px; /* Внутренние поля вокруг содержимого */ background:#444; color:#fff; margin-right: auto; /* Авто-отступ справа */ margin-left: auto; /* Авто-отступ слева */ }

      1 2 3 4

      1 2 3 4

      Результат:

      Рис.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 Евгений Евтушенко Валерий Брюсов Эдуард Асадов Мне снится старый друг, который стал врагом, но снится не врагом, а тем же самым другом. Со мною нет его, но он теперь кругом, и голова идет от сновидений кругом. Великое вблизи неуловимо, Лишь издали торжественно оно,

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

    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; /* Цвет текста */ }

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

    /* для колонок и их заголовков */ #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 ; /* Цвет текста заголовка */ } /* для колонок */ #col1 , #col2 , #col3 { font-family : "Times New Roman" , Times, serif ; /* Шрифт с засечками */ font-size : 100% ; /* Размер шрифта */ font-weight : normal ; /* Нормальное начертание */ color : black ; /* Цвет текста */ } /* Цвет фона каждого слоя */ #header1 { background : #B38541 ; } #header2 { background : #008159 ; } #header3 { background : #006077 ; } #col1 { background : #EBE0C5 ; } #col2 { background : #BBE1C4 ; } #col3 { background : #ADD0D9 ; } .container { clear : both ; /* Отменяет действие float */ }

    /* для колонок и их заголовков */ #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; /* Цвет текста заголовка */ } /* для колонок */ #col1, #col2, #col3 { font-family: "Times New Roman", Times, serif; /* Шрифт с засечками */ font-size: 100%; /* Размер шрифта */ font-weight: normal; /* Нормальное начертание */ color: black; /* Цвет текста */ } /* Цвет фона каждого слоя */ #header1 { background: #B38541; } #header2 { background: #008159; } #header3 { background: #006077; } #col1 { background: #EBE0C5; } #col2 { background: #BBE1C4; } #col3 { background: #ADD0D9; } .container { clear: both; /* Отменяет действие float */ }

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

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

    Результат:

    Рис. 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 Иван Бунин Золотится отблеском окно. Белым снегом всё запушено. И всё утро яркие и чистые Хризантемы на моём окне. 1903

    Иван Бунин

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

    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; /* Параметры линии справа от текста */ }

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

    Иван Бунин

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

    1903

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

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

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

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

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

    Или даже так:

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


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





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

    #glaw {
    margin :auto ;
    width :880px ;
    }
    .blok1, .blok2, .blok3, .blok4 {
    float :left ;
    margin :3px 3px 3px 5px ;
    width :200px ;
    height :200px ;
    padding : 5px ;
    text-align : center ;
    border-radius : 4px ;

    }






    Добрый день!
    src ="http://сайт/wp-content/uploads/2013/03/i-5.jpg "
    align ="left " width ="50 " height ="80 " />

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



    Блок 2
    Блок 3
    Блок 4


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

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

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

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

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





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

    #glaw {
    display :inline ;
    width :880px ;
    }

    float :left ;
    margin :3px 3px 3px 5px ;
    background : #F0FCE8 ;
    width :200px ;
    height :200px ;
    padding : 5px ;
    text-align : center ;
    border-radius : 4px ;
    box-shadow : rgba(0,0,0,1.2) 0px 1px 3px ;
    }
    .blok5, .blok6, .blok7, .blok8 {
    float :left ;
    margin :3px 3px 3px 3px ;
    background : #F0FCE8 ;
    width :200px ;
    height :200px ;
    padding : 5px ;
    text-align : center ;
    border-radius : 4px;
    box-shadow : rgba(0,0,0,1.2) 0px 1px 3px ;
    }



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


    Добрый день!
    alignright size-full wp-image-533 "
    src =""
    align ="left " width ="50 " height ="80 " />

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



    Блок 2
    Блок 3
    Блок 4
    Блок 5
    Блок 6
    Блок 7
    Блок 8


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

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





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

    #glaw {
    display :inline ;
    width :880px ;
    }
    .blok1, .blok2, .blok3, .blok4 {
    border-radius : 4px;
    box-shadow : rgba(0,0,0,1.2) 0px 1px 3px ;
    }
    .blok1 {
    margin :6px 3px 3px 3px ;
    background : #F0FCE8 ;
    width :400px ;
    height :150px ;
    padding : 5px ;
    text-align : center ;
    }
    .blok2 {
    margin :6px 3px 3px 3px ;
    background : #F0FCE8 ;
    width :400px ;
    height :150px ;
    padding : 5px ;
    text-align : center ;
    }
    .blok3 {
    margin :6px 3px 3px 3px ;
    background : #F0FCE8 ;
    width :400px ;
    height :150px ;
    padding : 5px ;
    text-align : center ;
    }
    .blok4 {
    float :left ;
    margin-top :-495px ;
    margin-left :420px ;
    background : #F0FCE8 ;
    width :250px ;
    height :480px ;
    padding : 5px ;
    text-align : center ;
    }





    Добрый день!
    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:





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

    #wrapper {
    background :#cd7f32 ;
    width : 900px ;
    height : 600px ;
    margin : auto ;
    position : relative ;
    }
    div {
    background : #f5f5dc ;
    width : 200px ;
    height : 150px ;
    padding : 20px ;
    }
    .one, .two, .three, .four {
    position : absolute ;
    border-radius : 5px ;
    box-shadow : rgba(0,0,0,1.2) 0px 1px 3px ;
    }
    .one {
    top : 50px ;
    left : 60px ;
    z-index : 10 ;
    }
    .two {
    top : 50px ;
    left : 180px ;
    z-index : 100 ;
    }
    .three {
    top : 100px ;
    left : 380px ;
    z-index : 150 ;
    }
    .four {
    top : 150px ;
    left : 580px ;
    z-index : 300 ;
    }










    Как видите, размещать блоки можно и по оси 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;
    }

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

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

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


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

    Уважаемый читатель, этой статьей я открываю цикл статей, посвященных вёрстке.
    В первой части будет описано, как это сделать с помощью стандартных средств на чистом HTML и CSS. В последующих частях рассмотрим как сделать тоже самое, но с помощью современных фреймворков и CMS.

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

    Итак, давайте приступим. В качестве нашего подопытного мы возьмем бесплатный psd шаблон Corporate Blue от студии Pcklaboratory.

    Структура файлов Первым шагом давайте создадим простую структуру файлов для наших файлов.
    • Создаем папку с названием нашего проекта, например Whitesquare.
    • В ней создаем пустой файл index.html.
    • В папке проекта создаем папку css с пустым файлом styles.css.
    • В папке проекта создаем пустую папку images.

    Предварительный осмотр После создания структуры файлов открываем psd файл в Photoshop. Важно внимательно осмотреть шаблон и оценить его. Нам нужно понять следующие вещи:
    • Как будут нарезаться изображения?
    • Какими будут основные стили?
    • Какой макет у нас получится?

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

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

    Сохраним логотипы следующим образом:
    /images/logo.png
    /images/footer-logo.png

    В качестве пустых картинок из макета будем использовать однопиксельное серое изображение, которое будем растягивать по необходимости
    /images/ sample.png

    Повторяющиеся фоновые изображения необходимо вырезать минимальным кусочком достаточным для образования полного изображения повторением по вертикали и горизонтали.
    /images/bg.png
    /images/h1-bg.png

    Иконки социальных сетей с одинаковыми размерами удобно сохранить в один файл и использовать как спрайты для более быстрой загрузки. Для этого можно склеить картинки вручную в Photoshop, а можно сначала нарезать по одной, а затем склеить с помощью специально сервиса, например http://ru.spritegen.website-performance.org . В итоге получится два файла:
    /images/social.png
    /images/social-small.png

    Общее правило при именовании изображений заключается в том, что мелкие и простые картинки, такие, как иконки, логотипы и т.д. сохраняются в формате png, а фотографии в формате jpg.

    Основные стили И только теперь можно начинать писать код. Но начнем мы это делать не с привычного HTML, а с переноса правил в CSS.

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

    Основной цвет фона примерно соответствует цвету #f8f8f8. Он будет показан в случае, если фоновая картинка не загрузится. Наверху страницы находится серая дизайнерская полоска. Применим ее через свойство border для body.

    Основным шрифтом является тот шрифт, которым написан текст в области контента. Чтобы узнать его стили нужно выделить его в Photoshop’е и посмотреть свойства шрифта. В данном случае это Tahoma 12px с цветом #8f8f8f. Так же в этом макете параграфы имеют увеличенные отступы.

    Прописываем все эти стили в styles.css:

    Body { color: #8f8f8f; font: 12px Tahoma, sans-serif; background-color: #f8f8f8; border-top: 5px solid #7e7e7e; margin: 0; } input { background-color: #f3f3f3; border: 1px solid #e7e7e7; height: 30px; color: #b2b2b2; padding: 0 10px; vertical-align: top; } button { color: #fff; background-color: #29c5e6; border: none; height: 32px; font-family: "Oswald", sans-serif; } p { margin: 20px 0; }

    В дальнейшем мы все стили будем писать в этот же файл, поэтому будем называть его просто «стили».

    Каркас HTML И вот, наконец, мы можем попрактиковаться в написании HTML кода. Запишем в index.html следующее:

    Whitesquare

    Здесь мы указываем, что используем разметку HTML5, кодировку utf-8, страница называется Whitesquare. Также подключаем наш файл стилей и внешний файл со стилями шрифтов.
    В последнем блоке в секции head мы подключаем специальный скрипт, который позволяет поддерживать Html5 теги в браузерах Internet Explorer меньше 9 версии. Мета-тег X-UA-Compatible сообщает, что в случае использования браузера Internet Explorer, он должен отразить сайт самым современным способом.

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

    Макет В данном случае, мы видим, что сайт состоит из двух колонок: основного контента и сайдбара. Над ними находится шапка (header), в которой располагаются три горизонтальных блока: логотип с поиском, меню и название страницы. В самом низу под колонками располагается серый горизонтальный блок футера (footer).

    Опишем это в теге body:

    Wrapper используется для объединения блоков и их выравнивания по центру страницы.

    Затем укажем стили блоков:

    Логотип

    Вставляем логотип в тег header:

    Дополнительных стилей не требуется.

    Поиск

    Вставляем форму поиска в тег header:

    … GO

    И стили выравнивания по правому краю для нее:

    Form { float: right; }

    Меню

    Для отображения меню необходимо создать список со ссылками внутри тега nav:

    CSS стили для него будут следующие:

    Nav a { text-decoration: none; } nav ul { margin: 0; padding: 0; } nav li { list-style-position: inside; font: 14px "Oswald", sans-serif; padding: 10px; } .top-menu li { display: inline-block; padding: 10px 30px; margin: 0; } .top-menu li.active { background: #29c5e6; color: #fff; } .top-menu a { color: #b2b2b2; }

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

    Заголовок страницы

    Заголовок страницы помещается в div с идентификатором heading

    ABOUT US

    Заголовок имеет следующие стили:

    #heading { background: transparent url(../images/h1-bg.png); margin: 30px 0; padding-left: 20px; } h1 { display: inline-block; color: #7e7e7e; font: 40px/40px "Oswald", sans-serif; background: url(../images/bg.png); margin: 0; padding: 0 10px; }

    Рисуем серую полоску фоном на div’e, и в нее вкладываем инлайновый h1 с нужным шрифтом и фоном цвета страницы, чтобы создалось впечатление прозрачного фона для h1.

    Колонки Для того, чтобы создать колонки страницы нужно прописать следующие стили:

    Aside { float: left; width: 250px; } section { margin-left: 280px; padding-bottom: 50px; }

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

    Подменю

    Подменю создаем аналогично главному меню. Для этого в теге aside прописываем следующее:

    И применяем к подменю следующие стили:

    Aside-menu li { font-weight: 300; list-style-type: square; border-top: 1px solid #e7e7e7; } .aside-menu li:first-child { border: none; } .aside-menu li.active { color: #29c5e6; } .aside-menu a { color: #8f8f8f; }

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

    Контент сайдбара В контенте сайдбара помимо подменю в макете располагается также изображение с расположением офисов.

    В html это выглядит так:

    OUR OFFICES

    В стилях укажем шрифты, цвета и отступы:

    Aside > h2 { background: #29c5e6; font: 14px "Oswald", sans-serif; color: #fff; padding: 10px; margin: 30px 0 0 0; } aside > p { background: #f3f3f3; border: 1px solid #e7e7e7; padding: 10px; margin: 0; }

    Данные стили применяются только к заголовкам и параграфам, лежащим непосредственно внутри сайдбара, но не глубже.

    Цитата Вёрстку контента начнём с добавления цитаты.

    Добавим код цитаты в раздел section

    “QUISQUE IN ENIM VELIT, AT DIGNISSIM EST. NULLA UL CORPER, DOLOR AC PELLENTESQUE PLACERAT, JUSTO TELLUS GRAVIDA ERAT, VEL PORTTITOR LIBERO ERAT.”

    John Doe, Lorem Ipsum

    И применим для него стили:

    Blockquote { margin: 0; background: #29c5e6; padding: 10px 20px; font-family: "Oswald", sans-serif; font-weight: 300; } blockquote p { color: #fff; font-style: italic; font-size: 33px; margin: 0; } blockquote cite { display: block; font-size: 20px; font-style: normal; color: #1d8ea6; margin: 0; text-align: right; }

    Здесь нет ничего нового, так же - шрифты, фоны и отступы.

    Контент

    Lorem ipsum dolor sit amet…

    Donec vel nisl nibh…

    Donec vel nisl nibh…

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

    Которому зададим следующие стили:

    Figure { display: inline-block; margin: 0; font-family: "Oswald", sans-serif; font-weight: 300; } figure img { display: block; border: 1px solid #fff; outline: 1px solid #c9c9c9; } figure figcaption { font-size: 16px; font-weight: 300; margin-top: 5px; } figure figcaption span { display: block; font-size: 14px; color: #29c5e6; } section > figure + figure { margin-left: 28px; }

    Здесь мы убрали стандартные отсупы у figure, отобразили его как инлайновый блок и применили нужный шрифт. Изображение отображаем как блочный элемент с белой рамкой. Вторую серую рамку можно сделать через css-свойство outline. Самое интересное находится в последнем правиле, которое задает левый отступ у всех figure кроме первого внутри тега section.

    Блок «Our team»

    При верстке этого блока добавим сначала заголовок:

    OUR TEAM

    Со стилем:

    Section > h2 { background: #29c5e6; font: 30px "Oswald", sans-serif; font-weight: 300; color: #fff; padding: 0 10px; margin: 30px 0 0 0; }

    А затем два блока-строки с карточками сотрудников

    John Doeceo Saundra Pittsleyteam leader … Ericka Nobrigaart director Cody Roussellesenior ui designer …

    Таким образом, карточка (figure) состоит из фотографии (img), подписи (figcaption) с именем сотрудника и его должностью (div). Карточки будут иметь следующие стили:

    Figure figcaption { font-size: 16px; font-weight: 300; margin-top: 5px; } figure div { font-size: 14px; color: #29c5e6; } .team-row figure { margin-top: 20px; } .team-row figure + figure { margin-left: 43px; }

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

    Футер Футер состоит из четырёх больших блоков: ленты Твиттера, карты сайта, социальных ссылок и логотипа с копирайтом.

    Для начала создадим контейнер футера с этим блоками:

    И применим к нему оформление:

    Footer { background: #7e7e7e; color: #dbdbdb; font-size: 11px; } #footer { max-width: 960px; margin: auto; padding: 10px 0; height: 90px; }

    Контейнер с id=”footer” находится внутри тега footer, это даёт нам возможность через тег footer задать серую область по всей ширине экрана, а через внутренний div отцентрировать с максимальной шириной 960 пикселей. Также этот div задает обоим блокам высоту 90 пикселей.

    Лента Твиттера Верстаем содержимое ленты Твиттера:

    TWITTER FEED 23 oct

    In ultricies pellentesque massa a porta. Aliquam ipsum enim, hendrerit ut porta nec, ullamcorper et nulla. In eget mi dui, sit amet scelerisque nunc. Aenean aug

    Footer h3 { font: 14px "Oswald", sans-serif; color: #fff; border-bottom: 1px solid #919191; margin: 0 0 10px 0; } #twitter time a { color: #b4aeae; } footer p { margin: 5px 0; } #twitter { float: left; width: 300px; } #twitter p { padding-right: 15px; }

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

    Карта сайта Карта сайта представляет собой два блока со ссылками:

    SITEMAP Home About Services Partners Support Contact

    Footer a { color: #dbdbdb; } #sitemap { width: 150px; float: left; margin-left: 20px; padding-right: 15px; } #sitemap div { display: inline-block; } #sitemap div + div { margin-left: 40px; } #sitemap a { display: block; text-decoration: none; font-size: 12px; margin-bottom: 5px; } #sitemap a:hover { text-decoration: underline; }

    Социальные ссылки

    Вставляем набор ссылок в контейнер

    SOCIAL NETWORKS

    И стилизуем их:

    #social { float: left; margin-left: 20px; width: 130px; } .social-icon { width: 30px; height: 30px; background: url(../images/social.png) no-repeat; display: inline-block; margin-right: 10px; } .social-icon-small { width: 16px; height: 16px; background: url(../images/social-small.png) no-repeat; display: inline-block; margin: 5px 6px 0 0; } .twitter { background-position: 0 0; } .facebook { background-position: -30px 0; } .google-plus { background-position: -60px 0; } .vimeo { background-position: 0 0; } .youtube { background-position: -16px 0; } .flickr { background-position: -32px 0; } .instagram { background-position: -48px 0; } .rss { background-position: -64px 0; }

    Здесь мы применили технику спрайтов – когда один файл с изображением применяется для разных картинок. Все ссылки разделились на большие иконки (.social-icon) и маленькие (.social-icon-small). Мы задали этим классом отображение в виде инлайнового блока с фиксированными размерами и одинаковым фоном. А затем с помощью css сдвинули этот фон так, чтобы на каждой ссылке отобразилось соответствующее изображение.

    Копирайт

    Блок с копирайтом и логотипом – это картинка со ссылкой и параграф с текстом под ним.

    Copyright 2012 Whitesquare. A pcklab creation

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

    #footer-logo { float: right; margin-top: 20px; font-size: 10px; text-align: right; }

    На этом наши работы закончены. Готовый проект можно скачать

    Авторский цикл статей, посвященный основам блочной верстки сайтов . Это первое, с чего стоит начать изучение темы создания сайта . Уроки будут полезны тем, кто хочет изучить основы HTML и CSS не только в теории, но на практике.

    По ходу изучения темы мы создадим сайт, обычный сайт, без особых наворотов, но вполне симпатичный.

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

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

    Что такое блочная верстка сайта и с чем ее едят?

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

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

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

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

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

    Поля (padding) - отделяют содержимое блока от его рамки, чтобы текст, например, не был «впритык» к стенкам блока.

    Отступы (margin) - это пустое пространство между различными блоками, позволяющее на заданном расстоянии расположить два блока относительно друг друга.

    Блоки, как и таблицы, всегда располагаются на странице вертикально. То есть, если в коде страницы записаны подряд два блока, то отобразятся они в браузере один под другим. Если нам нужно расположить несколько блоков горизонтально в одну линию, то в их свойствах задаётся такой параметр как «обтекание » (float). Но об этом чуть позже.

    Блочная верстка сайта. Тэги

    Тэг - это особая конструкция языка HTML. Различают открывающий и закрывающий тэги. Не путайте их с хэштэгами из соцсетей, или метками (тегами) на сайтах, это разные вещи!

    В самом простом случае тэг - это как деталь детского конструктора, которая имеет своё строгое предназначение: планка - значит планка, колесо - значит колесо и ничто иное. К примеру тэг абзаца:

    Текст абзаца.

    всегда обозначается буквой p и никак иначе. Это его имя.

    Тэги всегда заключены в угловые скобки. Как видно из примера, есть открывающий и закрывающий тэг. У закрывающего тэга перед именем добавлен «слэш» - косая черта, наклоненная вправо / .

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

    Тэг div

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

    Тэг div используют для задания функциональных областей на странице . Например, таких как: «шапка» (header), блок навигации, блок основного содержимого, «футер» (footer) или подвал по-нашему.

    У тэга div , как и у любого другого, имеются свои собственные атрибуты.

    Атрибут - описательная характеристика тэга. То есть, что он может делать и каким образом. Например, возьмём тэг изображения:

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

    Расшифровать такую запись несложно. Тэг указывает, что в данном месте страницы нужно прилепить изображение risunok.jpg из папки images . Ширина рисунка 200 пикселей, высота 50 пикселей. И до кучи добавлен альтернативный текст, который поясняет, что изображено на рисунке.

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

    Если же их нет смысла подписывать (например маркер списка или стрелка какая-нибудь), то у атрибута alt оставляют пустое место между кавычками.

    Атрибуты тэга div

    Атрибутов у тега div всего два:

    id - атрибут, позволяющий придать тегу уникальное значение, то есть такое, которое на странице используется только один раз . Например, header или footer .

    Таким образом мы сможем задать далее в листе стилей для тэга div с атрибутом id и значением header (шапка) одни настройки, а для подвала footer совсем другие. И браузер верно распознает, что вот этот кусок текста относится к «шапке» и будет набран, например, крупным и красным шрифтом, а вот этот к «подвалу» и будет набран мелким и серым шрифтом. И никакой путаницы!

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

    На первый раз, думаю, достаточно. Если что-то непонятно по блочной верстке сайтов, спрашивайте в комментариях.

    Продолжение следует. Оставайтесь на связи!