Блоки в CSS
Все элементы в языке разметки гипертекста делятся на блочные и строчные. Блочные создают блок, визуально самостоятельную структурную единицу. Примеры блочных элементов: div, p, h1-h6. Строчные элементы не создают визуальной самостоятельной структурной единицы. Они выводятся одной линейной строкой. Примеры строчных элементов: i, em, b и аналоги. Подробнее строчные элементы рассмотрены в статье стили текста.
В CSS блоки представляют собой самостоятельную структурную единицу прямоугольной формы. Также, каждый элемент в дереве элементов - самостоятельный блок. Отсюда следует, что в CSS существуют блоки, структурно отделённые от остальных и блоки строчные, находящиеся внутри отдельных блоков. Схему блока можно рассмотреть ниже.
Рассмотрим рисунок. В центре блока размещается его содержимое - контент. Для контента можно задавать ширину (width) и высоту (height). Внутри блока может существовать пустое пространство - отступы (padding). Блок имеет свою границу (border), а за пределами этой границы может быть свободное пространство - поля (margin). Соответственно, для любого блока можно задать поля, границы и отступы.
Границы блоков
У блока четыре стороны и для каждой из этих сторон можно задать границу. Для этого используются следующие свойства:
- border-top - верхняя граница;
- border-bottom - нижняя граница;
- border-right - правая граница;
- border-left - левая граница.
Каждая граница может иметь свой цвет, толщину и тип линии. Чтобы задать все эти вещи, для нужной границы через дефис необходимо приписать цвет (color), толщину (width) и тип линии (style). Например:
border-top-color
border-top-width
border-bottom-width
border-right-style
Также для всех границ сразу можно задать эти свойства. Делается это при помощи сокращённой записи свойства border:
- border-color;
- border-width;
- border-style
Выше указаны сокращённые виды записи для задания цвета, толщины и стиля (типа линий) всех четырёх границ сразу.
Значение свойства width задаётся при помощи одного из трёх ключевых слов:
- thin - тонкая граница;
- medium - средняя граница;
- thick - толстая граница.
Толщину линий можно задавать также в любых единицах измерения главное, чтобы значение было положительное!
Задать цвет линии можно тоже тремя способами, с которыми мы познакомились в главе цвет и фон в CSS.
Тип линии задаётся при помощи ключевых слов, всего их девять:
- none - граница отсутствует, отсутствует соответственно толщина и цвет тоже, поэтому эти свойства можно не задавать. Используется по умолчанию;
- dotted - линия границы состоит из точек;
- solid - сплошная линия границы;
- dashed - граница в виде пунктирной линии;
- double - граница отображается в виде двойной сплошной линии. Толщина двойной сплошной линии задаётся при помощи свойства width, то есть сумма линий + расстояние между ними = border-width;
- groove - граница в виде вдавленной линий, которая имитирует объём;
- ridge - граница в виде выпуклой линии, имитирующей объём;
- inset - при использовании этой границы, блок кажется визуально вдавленным;
- outset - блок кажется выпуклым.
Внешний вид блоков, с различными границами вы можете посмотреть здесь.
В том случае, если требуется задать единый стиль для всех границ, правильнее будет воспользоваться сокращенной записью свойства border, в которой через пробел указываются: толщина, тип линии и цвет, причём именно в таком порядке:
border: 1px solid red;
Поля
Поля - это свободное пространство между блоками. Задавая ширину полей, мы задаём расстояние между блоками. Задаются поля для каждой границы при помощи четырёх свойств:
- margin-top - ширина верхнего поля;
- margin-right - ширина правого поля;
- margin-bottom - ширина нижнего поля;
- margin-left - ширина левого поля.
Также размер всех полей блока можно задать при помощи одного свойства margin. В этом случае значения всех четырёх полей указываются через пробел, причём в том порядке, который задан выше. Сначала ширина верхнего поля, потом правого, далее нижнего и под конец - левого:
div {
margin:5px 10px 8px 9px;
}
Если все поля равны, то после слова margin пишется одно значение:
div {
margin:5px;
}
В том случае, если поля попарно равны, свойство margin будет иметь 2 значения:
div {
margin:5px 10px;
}
Причем, первое значение указывается для верхнего и нижнего полей, а второе - для правого и левого. Также можно задать 3 значения для свойства margin, например:
div {
margin:5px 10px 15px;
}
В этом случае первое значение применяется к верхнему полю, второе к левому и правому, а третье - к нижнему.
Поля могут задаваться в единицах длины или процентах. Процентное соотношение считается относительно родительского элемента по отношению к блоку.
Отступы
Отступы позволяют отделить содержимое блока от его границ. Относительно каждой стороны можно задать размер отступа, а так как стороны четыре, то и задавать отступ можно:
- padding-top - для верхнего поля;
- padding-right - для правого поля;
- padding-bottom - для нижнего поля;
- padding-left - для левого поля.
Для задания отступов можно использовать сокращённую запись, которая полностью аналогична записи свойства margin. Размеры отступов можно задавать в единицах длины или процентах. Проценты вычисляются относительно размеров блока.
2012 год.