создание и продвижение сайта (вбиваю в ТОП-10, как гвозди)Настройка и сопровождение платной рекламы яндекс.директ

Глава 7. Размеры элемента

Блоки и строки

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

Все элементы (теги) можно разделить на 2 категории: блочные и строковые.

Чем они отличаются?

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

К блочным (block) элементам относятся:

div, dl, form, h1-h6, hr, noscript, ol, p, pre, table, ul…

К строчным (inline) элементам относятся:

a, p, cite, code, em, img, input, label, select, span, strong, sub, sup, textarea…

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

На примере:

<div><b>Это правильная строка в блоке</b></div>

<b><div>А это неправильная то ли строка, то ли блок.</div></b>

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

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

Пример:

<title>Блочные и строковые элементы</title>

<p style=background:red>Параграф

<p style=background:#00f>Параграф

<p style=background:#f00>Параграф

<hr>

<span style=background:red>Строка</span>

<span style=background:#00f>Строка</span>

<span style=background:#f00>Строка</span>

<hr>

<div style=background:red>Блок</div>

<div style=background:#00f>Блок</div>

<div style=background:#f00>Блок</div>

смотреть пример

Ширина и высота блочных элементов

Свойства CSS width и height устанавливают ширину и высоту блочных элементов. Ширина и высота элемента может быть задана следующими способами:

  • auto - размеры элемента определяется его содержанием (по умолчанию);
  • % - размеры элемента задаётся в процентах от высоты/ширины элемента родителя;
  • px - размеры элемента задаётся в пикселях или любых других единицах измерения принятых в CSS.

    Пример:

    <title>Размеры блока</title>

    <div style=background:#00f;height:88px;width:88px>Блок 1</div>

    <div style=background:#00f;height:88px;width:50%>Блок 2</div>

    <div style=background:#f00;height:auto;width:auto>Блок 3</div>

    смотреть пример

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

    Управление содержанием элемента

    Что делать с содержанием элемента, если оно превышает его размер?

    Если элементу присвоены точные значения высоты и ширины (height, width), а его содержание, например, длинный текст не вмещается в указанных пределах, то по умолчанию такой элемент растягивается до нужных размеров, что не всегда на руку веб-мастеру. На помощь приходит атрибут overflow, который указывает браузеру, что делать с элементом в таких случаях.

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

  • visible - элемент растягивается до необходимых размеров (по умолчанию);
  • hidden - содержание элемента обрезается, видна лишь та его часть, что помещается в элементе;
  • scroll - добавляются полосы прокрутки (всегда, даже если содержание помещается в пределах элемента);
  • auto - полосы прокрутки добавляются при необходимости.

    Пример:

    <title>Содержание элемента</title>

    <div style="overflow:auto; width:250px;height:150px;border:solid 2px #dddddd">

    <h3 align=center>Диктант</h3>

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

    </div>

    смотреть пример

    Минимальные и максимальные размеры элемента

    Так как размеры элемента по умолчанию регулируются исключительно вложенным в него содержанием, текстом, графикой и т.д., то элементы остаются резиновыми. Но хорошо не во всех случаях. Иногда требуется ограничить эту резиновость конкретными размерами. Например, указать ячейке таблицы, что независимо от твоего содержания, можешь быть по высоте не менее 50px, но и не более 88px (определить диапазон её высоты или ширины).

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

  • max-height - максимальная высота элемента;
  • max-width - максимальная ширина элемента;
  • min -height - минимальная высота элемента;
  • min-width - минимальная ширина элемента.

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

    Пример:

    <title>Минимальные и максимальные размеры элемента</title>

    <div style=min-height:50px;min-width:88px;max-height:88px;max-width:88px>

    Браузер IE игнорирует свойства css min-width, max-width, min-height и max-height.

    </div>

    смотреть пример

    Полезные советы:

    Не все браузеры одинаково интерпретируют как HTML-теги, так и свойства CSS. Особым "невежеством" по отношению как к пользователям так и к веб дизайнерам отличился IE6 и его более ранние версии. Впрочем, и в остальных браузерах далеко не всё проходит гладко. Отсюда необходимо сделать вывод, что прежде чем выкладывать ту или иную страницу в интернет, её необходимо протестировать в различных браузерах.

    << предыдущая глава | следующая глава >>

  • Отвечу на любые вопросы. С уважением, Дмитрий Владимирович.

    Ваше письмо×
    Free Web Hosting