sonyps4.ru

Как сделать текстовый блок в html. Блочная модель

Вёрстка страницы представляет собой процесс разработки структуры 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. Разметка подвала страницы

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

Верстка блоками 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) и потому переносятся на новую строку.

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

  1. Задать заново значения ширины для каждого блока с учетом полей. Уменьшив размеры блоков. Все снова аккуратно встанет в одну строку. Согласитесь, это неудобно? Каждый раз лезть в верстку и что-то править.
  2. Использовать свойство 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!

Пишем стили:

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; }

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

Что такое блоки HTML ?

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

...


параграфы –

Элементы –


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

С помощью CSS блочную структуру HTML можно расширить и вы в этом убедитесь, дочитав статью до конца.

Для создания верстки сайта я использую блок DIV , хотя другие веб-мастера используют и другие теги. А в блок DIV, как в контейнере, я размещаю необходимые мне элементы, такие как картинки, текст, заголовки, ссылки и т. д. Мне кажется, так удобней.
Для расширения возможностей блока для тега DIV добавляют атрибут class или id с именем селектора.

Ладно, все это теория, которая тяжело воспринимается без практики. Предлагаю сразу приступить к примерам и разъяснениям.

Блок создается двумя способами.
○ 1-ый способ:

в HTML (class )

здесь содержание блока

Blok1 { /* Здесь стили в CSS */ }

○ 2-ой способ:

в HTML (id )

здесь содержание блока

#blok1 { /* Здесь стили в CSS */ }

На практике я использую первый способ.

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

border:толщина рамки вид рамки цвет рамки ;

Пример :

border:5px dotted #cc0000 ;

Итак, создадим в HTML блок с классом «blok1».

Верь в лучшее, ожидай худшее.

Теперь в CSS зададим стиль блоку с классом «blok1»

Blok1 { border:5px dotted #cc0000; }

Пример :

Блок в css

Результат :

Как видите, блок стал видим для глаза – мы выделили его точечной рамкой.

Чтобы задать расстояние от блока, в CSS используют MARGIN .

Пример :

margin:50px ;

Это значит, что расстояние от блока со всех сторон будет 50px.

Чтобы задать расстояние от блока к каждой стороне с разными значениями, используют:

top – верхняя сторона

right – правая сторона

bottom – нижняя сторона

left – левая сторона

Пример :
margin-top :50px;
margin-right :20px;
margin-bottom :80px;
margin-left :150px;

Упрощенный способ :

margin :50px 20px 80px 150px ;

Схема :

margin

Чтобы задать расстояние внутри блока, в CSS используют PADDING .

Пример :

padding :50px ;

Это значит, что внутри блока со всех сторон будет отступ от границы 50px.

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

top – верхняя сторона

right – правая сторона

bottom – нижняя сторона

left – левая сторона

Пример :

padding-top :50px;
padding-right :20px;
padding-bottom :80px;
padding-left :150px;

Упрощенный способ :

padding :50px 20px 80px 150px ;

Схема :

padding : верхний правый нижний левый ;

Давайте теперь все соберем вместе и посмотрим, что в итоге у нас получится:

Блок в css

Верь в лучшее, ожидай худшее. (Блок№1)
Верь в лучшее, ожидай худшее. (Блок№2)

Результат :

Высота и ширина блоков автоматически (по умолчанию) выставляется по размеру картинки или текста. Но высоту и ширину блока в CSS можно регулировать при помощи свойств height и width .

HEIGHT - высота блока (задается в px или %);

WIDTH - ширина блока (задается в px или %).

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

Blok1 { height: 150px; /* высота блока */ width: 500px; /* ширина блока */ border:2px dotted #cc0000; }

Теперь блок с классом «blok 1» будет с фиксированной шириной в 500 px и высотой 150 px .

Пример :

Блок в css

Верь в лучшее, ожидай худшее.

Результат :

Если вы хотите сделать резиновый блок , так, чтобы он растягивался по длине монитора, тогда вместо px , нужно указать %. Только помните: весь монитор – это 100%.

Blok1 { width: 90%; /* ширина блока */ border:2px dotted #cc0000; }

Теперь блок с классом «blok 1» будет резиновая ширина в 90% от размера монитора.

Пример :

Блок в css

Верь в лучшее, ожидай худшее.

Результат :

Как сделать фон в CSS я писал . Фон блока делается аналогично.

background: #00FF00;

Пример :

Блок в css

Верь в лучшее, ожидай худшее.

Результат :

Чтобы создать тень блока, воспользуйтесь таким правилом

Схема :

1 – сдвиг тени по горизонтали. Минусовое значение – это влево. Плюсовое значение – это вправо.

2- сдвиг тени по вертикали. Минусовое значение – это вверх. Плюсовое значение – это вниз.

3 – распыление тени. Значение «0» - это самая четкая тень. Значение «100» - сильно распыленная тень.

4 – размер тени. Минусовое значение – это тень в меньшую сторону. Плюсовое значение – это тень на увеличение.

5 – цвет тени.

Пример :

Blok1 { box-shadow: -2px 23px 42px -26px #000000; }

Результат :

Если добавить inset , тогда тень станетвнутренней

Пример :

Blok1 { box-shadow: -2px -34px 77px -42px #000000 inset; }

Результат :

Пример :

Блок в css

Верь в лучшее, ожидай худшее.

Вкратце про тень блока я рассказал. Думаю, теме «Тень блоков» нужно будет посвятить целую статью с оригинальными примерами и с готовым кодом.

Чтобы выровнять блок по центру, я всегда использую свойство margin .

Margin: 0 auto;

Пример :

Блок в css

Верь в лучшее, ожидай худшее.

Результат :

Вот вы и научились создавать блоки.
В следующем уроке поговорим о позиционировании блоков в CSS.

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

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

Особенности блочных элементов

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

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

Главным в блоке выступает контент .

Вокруг него расположены поля, которые называются padding . Поля отвечают за расстояние между контентом объекта и его внутренним краем границ.

После идут сами границы, которые именуются английским словом border .

И, наконец, последней рамкой вокруг всего перечисленного выступает margin –отступы от внешнего края border-а до границ страницы или других элементов. Стоит отметить, что задавать эти свойства не обязательно.

В качестве примера запрограммируем 2 и заполним созданные элементы текстом.

Заголовок

В этом блочном элементе разместим текст первого объекта.
А вот в этом блочном элементе разместим текст второго объекта.

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

Внесем-ка ярких красок в обыденную жизнь html

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

Для этого в контейнере head после тега необходимо добавить строку: </i><br></p><blockquote> <p><link rel="stylesheet" href="style.css"></p> </blockquote> <p>Сам по себе элемент <link> располагается только внутри тега <head> и устанавливает связь с внешними файлами, отвечающими за стили.</p> <p>Настало время задать цветное оформление и расположение блокам.</p> <p>Первый блок я решил оформить в красных цветах с жирными границами и сделать его полупрозрачным.</p> <p>Второй же блок – полностью видимый, желтого цвета с тонкими границами и с закругленными углами. Замечу, что блоки не являются фиксированными и текст в них выравнивается по ширине, а не располагается по центру. За все видоизменения отвечает ниже представленный css-код.</p> <table><tr><td class="line_numbers"> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 </td><td class="code"> .element1 { opacity: 0.7; background: #edab92; float: left; width: 310px; border: 4px solid red; padding: 6px; padding-right: 15px; } .element2 { width: 310px; float: left; background: #fc0; border: solid 1px grey; position: relative; padding: 6px; left: -65px; top: 55px; border-radius: 10px; } </td> </tr></table><p>Element1 { opacity: 0.7; background: #edab92; float: left; width: 310px; border: 4px solid red; padding: 6px; padding-right: 15px; } .element2 { width: 310px; float: left; background: #fc0; border: solid 1px grey; position: relative; padding: 6px; left: -65px; top: 55px; border-radius: 10px; }</p> <blockquote> <p>Для того чтобы вы смогли лицезреть данный пример во всей красе во вкладке , создайте простой текстовый файл и внесите в него выше написанный текст. После сохраните документ с названием «style.css», обязательно проверьте, совпадает ли название документа со значением атрибута тега <link> href="style.css".</p> </blockquote> <p>Думаю, вы догадались, что в случае несовпадения, внешний документ с описанием стилей не будет найден, вследствие чего изменения не вступят в силу.</p> <p>Теперь давайте разберем строки css-кода. Для наглядности я структурировал все в таблицу с двумя колонками.</p> <table style="height: 466px;" width="755"><tbody><tr><td width="224"><b><u>Свойство </u> </b> </td> <td width="555"><b><u>Значение </u> </b> </td> </tr><tr><td width="224">opacity </td> <td width="555">Отвечает за прозрачность объекта. При opacity равному 0 элементы становятся полностью прозрачными, при 1 – полностью видимыми. </td> </tr><tr><td width="224">width </td> <td width="555">Отвечает за ширину блочных элементов. </td> </tr><tr><td width="224">background </td> <td width="555">Задает характеристические параметры фона, который в свою очередь может задаваться как цветом, так и картинкой. </td> </tr><tr><td width="224">border </td> <td width="555">Позволяет установить толщину, цвет и стиль границ вокруг объекта. </td> </tr><tr><td width="224">float </td> <td width="555">Задает выравнивание элемента. Остальные объекты по умолчанию обтекают данный. Можно задать значения: left, right, none (не задает обтекание элементов) или inherit (повторяет значение родительского объекта). </td> </tr><tr><td width="224">border-radius </td> <td width="555">Способствует округлению углов блока. Можно указывать как одинаковый радиус для всех углов, так и уникальный для каждого. </td> </tr><tr><td width="224">top </td> <td width="555">Определяет расстояния между верхними границами родительского элемента и дочернего. </td> </tr><tr><td width="224">left </td> <td width="555">Определяет расстояния между левыми границами родительского и дочернего элементов. </td> </tr></tbody></table><p>Обратите внимание на строку в коде примера <b>position: relative </b> в element2. Так как этому атрибуту, определяющему позиционирование объекта, задано значение relative, то расположение самого объекта будет меняться не от координат верхнего края браузера, а от координат верхней границы первого блока element1.</p> <p>Вот почему при задании <b>top = 55px </b> и <b>left = -65px </b> второй блочный элемент сдвинулся вниз на 55 пикселей и вправо на 65 пикселей от границ первого блока.</p> <p>Кстати, особо внимательные могли заметить, что left = -65px и right = 65px – это одно и то же.</p> <h2>А что же HTML 5</h2> <p><img src='https://i0.wp.com/romanchueshov.ru/wp-content/uploads/2016/06/HTML5.jpg' align="center" width="100%" loading=lazy></p> <p>Напоследок хотел бы добавить, что в современной платформе html 5 есть нововведенные блочные теги <b><nav> </b>, <b><article> </b>, <b><footer> </b>, <b><header> </b> и другие, которые заменяют привычный div. Их суть применения для человека не отличается ничем, однако они облегчают работу машин.</p> 10.11.14 58.7K <p>Сайты тоже имеют свой скелет. Но о его особенностях спрашивать врачей бесполезно. Да и ветеринары тоже не в курсе строения сайта. Об этом ведомо лишь верстальщикам. Именно от них зависит строение скелета будущего ресурса. А главным способом создания костей его скелета является блочная верстка.</p> <h2>Верстка сайта – ремесло для посвященных</h2> <p>Есть в верстке сайта что-то таинственное. Но это до тех пор, пока не познакомишься с этим ремеслом поближе. Начинаем наше посвящение:<br></p><br> Следующим этапом разработки сайта после создания его макета является верстка. Задача верстальщика перенести с помощью html кода и таблиц css скелет будущего сайта в виртуальный мир. Проще говоря, перенести размеры и пропорции ресурса в форму, понятную для браузера. <p>В процессе верстки кодом html происходит разбивка «скелета » сайта на части. А с помощью css (<span>каскадных таблиц стилей </span>) задаются размеры его «костей », цвет и расположение.</p> <p>Различают несколько видов верстки:</p> <p>I. Табличная – ранее была основным способом верстки. В табличной верстке для задания структуры сайта используется тег <table> и его дочерние теги. Верстка с помощью таблиц позволяет наиболее пропорционально расположить все элементы дизайна относительно друг друга. Но в тоже время такой код получается слишком объемным:<br></p><p><img src='https://i2.wp.com/internet-technologies.ru/wp-content/uploads/articles/201411/verstka-s-pomoshju-tablic-100321.gif' width="100%" loading=lazy></p><br> Также к основным недостаткам табличного кода относится его долгая загрузка и плохая индексация содержимого поисковыми системами. <p>Содержимое страницы, сверстанной на основе таблиц, не будет отображено до тех пор, пока не загрузятся все данные. Блочная верстка позволяет отображать каждый загруженный элемент отдельно.</p> <p>Плохая индексация табличных страниц объясняется большими промежутками между блоками текста, расположенного в разных ячейках таблицы.</p> <p>Теперь табличная верста редко используется в качестве основного метода создания сайтов. Сейчас ее применяют лишь для структурирования табличных данных и расположения графических изображений.</p> <p>II. Блочная – в данный момент является основным способом верстки. В отличие от табличной блочная верстка обладает рядом преимуществ:</p> <ul><li>Отделение стиля элементов от кода html ;</li> <li>Возможность наложения одного слоя на другой – такая возможность во многом облегчает позиционирование элементов.</li> <li>Лучшая индексация поисковиками;</li> <li>Высокая скорость загрузки страницы, состоящей от взаимно независимых элементов;</li> <li>Легкость создания визуальных эффектов (<span>выпадающих меню, списков, всплывающих подсказок </span>).</li> </ul><p>Основным недостатком блочной верстки является некая «<span>двусмысленность </span>» понимания ее кода различными браузерами. Поэтому часто html страницы приходится «доводить » путем использования специальных хаков.</p> <p>С появлением блочной верстки родилось такое понятие, как «кроссбраузерность». Из-за различия отображения одного и того же элемента в разных браузерах верстальщикам приходится вставлять в основной html целые куски кода (хаки).</p> <p>Действие хака является узкоспециализированным и решает проблему некорректного отображения лишь в одном браузере.</p> <p>Основным элементом, применяемым в блочной верстке, является тег <div>. Участок кода, отделенный этим тегом, называется слоем. Все стилевые решения вынесены за границы кода html в каскадные таблицы стилей. Доступ к ним осуществляется через идентификаторы или классы css :<br></p><p><img src='https://i2.wp.com/internet-technologies.ru/wp-content/uploads/articles/201411/stilevie-reshenija-100323.gif' width="100%" loading=lazy></p> <h3>Как происходит блочная верстка?</h3> <p>Перед началом верстки готовый psd макет сайта в графическом редакторе разрезают на блоки (слои ). В отдельную папку помещают вырезанные фоновые картинки, которые будут прикрепляться отдельно к каждому слою:<br></p><p><img src='https://i1.wp.com/internet-technologies.ru/wp-content/uploads/articles/201411/kak-proishodit-blochnaja--100324.gif' height="556" width="500" loading=lazy></p><br> Для примера возьмем вот такой макет сайта, созданный в Photoshop . Сначала в текстовом редакторе с помощью div задаем структуру будущего ресурса и присваиваем каждому слою свой селектор id . Получается такая структура:<br><p><img src='https://i2.wp.com/internet-technologies.ru/wp-content/uploads/articles/201411/maket-saita-100324.gif' height="527" width="500" loading=lazy></p><br> Затем к готовой структуре сайта на html строкой <link rel=»stylesheet» type=»text/css» href=»style.css» /> прикрепляем файл css . После чего добавляем в него стилевое описание каждого слоя, позиционирование относительно других элементов и его размеры. <p>Более подробно ознакомиться со всеми свойствами css можно из технической документации к языку.</p> <p>Полный код примера index.html :</p> <p><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Пример блочной верстки

Контент

Содержимое файла 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; }

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



Загрузка...