На этой странице:
|
|
||||||||||||||
Здесь и далее свойства будут описываться при помощи такой таблицы.
Варианты значений перечисляются при помощи знака |,
который можно читать как “или”. Слова в угловых скобках
определяют тип значения, любые другие слова представляют собой
ключевые слова, которые должны применяться буквально, без кавычек.
Таким образом, значением односторонних внешних отступов может быть:
20px или 1em);
10%);
auto, означающее, что браузер будет вычислять
значение автоматически;
inherit, означающее, что значение
берётся такое же, как у родительского элемента.
Для внешних отступов допустимы отрицательные значения (элемент при этом может выходить за рамки родителя или перекрывать другие элементы).
Стандартным значением по умолчанию считается 0, но оно
работает не для всех элементов (гарантированно для DIV
и SPAN). Браузеры создают внешние отступы по
умолчанию для многих элементов, начиная с BODY
(небольшие поля на странице). С помощью внешних отступов создаются и
промежутки между абзацами P (они, как
правило, равны высоте текущей строки).
Если внешний отступ вычисляется в процентах, то они задаются относительно блока-контейнера. Контейнер — это первый предок элемента в иерархическом дереве элементов, который является блоком. Поясним определение контейнера на примере.
Строчный элемент |
В качестве примера рассмотрим код:
Контейнером элемента |
Рассмотрим пример построение внешнего отступа.
Файл style.css
BODY {margin-left:120px;}
В примере для |
Файл index.htm
|
Внешние отступы по вертикали между блочными элементами (если не заданы рамки или внутренние отступы) не суммируются, а схлопываются — промежуток получается равным наибольшему из двух значений.
Благодаря схлопыванию внешних вертикальных отступов расстояние между абзацами не удваивается. |
Допустим, мы задали для абзацев внешние вертикальные отступы при помощи правил:
P
{
margin-top:1em;
margin-bottom:1em;
}
Промежуток между соседними абзацами, благодаря схлопыванию, будет
равен |
Внешние отступы, применённые к строчным элементам, имеют особенности: они работают только по горизонтали.
Файл style.css
EM
{
margin-top:500px;
margin-right:50px;
margin-bottom:500px;
margin-left:50px;
}
|
Файл index.htm
|
Отмеченная особенность относится только к строчным незамещаемым элементам, то есть к таким, содержание которых включено в HTML-код документа (например, текст). Внешние отступы строчных замещаемых элементов (таких как картинки) работают как внешние отступы блочных элементов (то есть работают и по горизонтали, и по вертикали).
|
|
||||||||||||
В качестве примера рассмотрим пару реально полезных определений, которые позволяют реализовать на странице принцип дизайна под названием приближение.
Расстояния между абзацами, абзацем и заголовком задаются браузером по умолчанию одинаковыми (высота одной строки). Это нарушает принцип приближения: заголовок должен быть ближе к своему абзацу и дальше от чужого.
Файл style.css
/* Приближаем заголовок
к своему абзацу */
H1, H2, H3, H4, H5, H6
{
margin-bottom:0.2em;
}
P {margin:0.2em 0 1em;}
Нижний внешний отступ для заголовка уменьшен до |
Файл index.htm
|