Блочные элементы


Блочным называется элемент, который отображается на веб-странице в виде прямоугольника. Такой элемент занимает всю доступную ширину, высота элемента определяется его содержимым, и он всегда начинается с новой строки. К блочным элементам относятся теги <address><blockquote><div><fieldset><form><h1>,...,<h6><hr><ol><p><pre><table><ul> и некоторые устаревшие. Также блочным становится элемент, если в стиле для него свойство display задано как blocklist-itemtable и в некоторых случаях run-in.

Для блочных элементов характерны следующие особенности.

  • Блоки располагаются по вертикали друг под другом.
  • На прилегающих сторонах элементов действует эффект схлопывания отступов.
  • Запрещено вставлять блочный элемент внутрь строчного. Например, <a><h1>Заголовок</h1></a> не пройдёт валидацию, правильно вложить теги наоборот — <h1><a>Заголовок</a></h1>.
  • По ширине блочные элементы занимают всё допустимое пространство.
  • Если задана ширина контента (свойство width), то ширина блока складывается из значений width, полей, границ, отступов слева и справа.
  • Высота блочного элемента вычисляется браузером автоматически, исходя из содержимого блока.
  • Если задана высота контента (свойство height), то высота блока складывается из значения height, полей, границ, отступов сверху и снизу. При превышении указанной высоты контент отображается поверх блока.
  • На блочные элементы не действуют свойства, предназначенные для строчных элементов, вроде vertical-align.
  • Текст по умолчанию выравнивается по левому краю.

Не все блочные теги допустимо вкладывать один в другой, поэтому при создании структуры кода активную роль выполняет <div> как универсальный кирпичик вёрстки. Тег <div> допустимо вкладывать один в другой, другие блочные элементы также можно помещать внутрь <div>. В примере 3.13 показан фрагмент кода сайта CSS Zen Garden, где активно применяются эти теги для формирования требуемой конструкции.

Пример 3.13. Использование тега <div>

<div id="container">
 <div id="intro">
   <div id="pageHeader">
 <h1><span>css Zen Garden</span></h1>
      <h2><span>The Beauty of <acronym 
         title="Cascading Style Sheets">CSS</acronym> Design</span></h2>
    </div>
    <div id="quickSummary">
      <p class="p1"><span>A demonstration of what can be accomplished 
      visually through <acronym title="Cascading Style Sheets">CSS</acronym>
 - based design. Select any style sheet from the list to load it into 
 this page.</span></p>
    </div>
  </div>
</div>

Если в одном блочном элементе содержатся строчные элементы наряду с блочными, то вокруг строчных элементов генерируется анонимный блок. Для таких блоков применяется стиль по умолчанию, а также наследуемый стиль, заданный для его родителя. В примере 3.14 внутри <div> располагается два тега <p> и рядовой текст. Поскольку этот элемент анонимный, напрямую только к нему одному нельзя применить стили.

Пример 3.14. Анонимный блок


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>Анонимный блок</title>
 </head>
 <body>
 <div>
 <p>Первый абзац</p>
 Анонимный блок
 <p>Второй абзац</p>
 </div>
 </body>
</html>


Схематично блоки в данном примере показаны на рис. 3.23. Серым цветом выделены блочные теги <p>, а пунктиром — анонимный блок.

Блоки в документе

Рис. 3.23. Блоки в документе

Преобразование в блочный элемент

В некоторых случаях требуется наделить строчный элемент характеристиками блочного. Так, превращение ссылки в блок позволяет увеличить полезную площадь ссылки за счёт использования свойств width и height. В примере 3.15 показано создание меню, в котором ссылками является вся доступная область.

Пример 3.15. Меню


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>Меню</title>
 <style type="text/css">
 .menu {
 width: 220px; /* Ширина меню */
 padding: 5px; /* Отступы от рамки до пунктов меню */
 border: 1px solid #000; /* Рамка вокруг меню */
 } 
 .menu P { margin: 0 0 2px; }
 .menu A {
 padding: 2px; /* Отступ от рамки вокруг ссылки до текста */
 display: block; /* Ссылка как блочный элемент */
 border: 1px solid #fff; /* Маскируем рамку вокруг ссылки */
 text-decoration: none; /* Убираем подчеркивание у ссылок */
 }
 .menu A:hover {
 background: #faf3d2; /* Цвет фона под ссылкой */
 color: #800000; /* Новый цвет ссылки */
 border: 1px dashed #634f36 /* Рамка вокруг ссылки */
 }
 </style>
 </head>
 <body>
 <div class="menu">
 <p><a href="l.html">Метод простых итераций</a></p>
 <p><a href="2.html">Метод случайных чисел</a></p>
 <p><a href="3.html">Метод дихотомии</a></p>
 <p><a href="4.html">Метод золотого сечения</a></p>
 </div> 
 </body>
</html>


Вся строка выступает ссылкой, поэтому при наведении на неё курсора происходит изменение стиля (рис. 3.24).

Ссылка как блочный элемент

Рис. 3.24. Ссылка как блочный элемент

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


Радио

Вконтакте

Последнии комментарии


а еще запретить продажу програм фирмы 1с во всех ее проявлениях. будь то игра или программы учета!!!



Answer: Благодарим за информацию.


Не плохая идея но дорого будет стоить будет дорого наверное



Сюся, если еще сравнивать эту  соц. сеть с сетью "Друзи" то это же вообще пипец полный! Не говоря что не кто не переманит пользователей с ВК.

Наш опрос

Полезные для вас наши новости?


Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0