Свойство
border
Рисует рамку вокруг элемента — задаёт её толщину, стиль линии и цвет одной записью для всех четырёх сторон.
Пример
<div class="card">Карточка с рамкой</div>.card {
padding: 1rem;
border: 2px solid teal;
border-radius: 6px;
}Результат
Синтаксис
border: <line-width> || <line-style> || <color>;- Начальное значение
- medium none currentColor
- Применяется к
- всем элементам
- Наследуется
- нет
- Анимируется
- как у отдельных свойств — толщина и цвет плавно, стиль дискретно
- Вычисляемое значение
- как у отдельных свойств border-width, border-style и border-color
Три части — толщина, стиль и цвет — пишутся в любом порядке, любую можно пропустить. Без стиля рамки не будет: у border-style начальное значение none.
border: 1px solid; /* цвет — currentColor */
border: dashed red; /* толщина — medium, обычно 3px */
border: 4px double #333;Отдельные стороны: border-top, border-right, border-bottom, border-left или логические border-block и border-inline.
Значения
- Толщина
- Длина (
1px,0.2em) или словаthin,medium,thick. - Стиль
noneиhidden— рамки нет;solid— сплошная линия;dashed— пунктир;dotted— точки;double— двойная линия;groove,ridge,inset,outset— «объёмные» рамки.- Цвет
- Любой цвет CSS. Если не указан —
currentColor, то есть цвет текста.
Как понять
Рамка лежит между внутренним (padding) и внешним (margin) отступами и по умолчанию добавляется к размеру элемента: блок width: 200px с рамкой 2px займёт 204 пикселя. С box-sizing: border-box рамка помещается внутрь заданной ширины.
border задаёт одинаковую рамку для всех сторон и сбрасывает то, что не указано. Поэтому сначала пишут общую рамку, а потом уточняют стороны: border: 1px solid; border-bottom-width: 3px;.
Примеры
Разные стили линий
<div class="demo solid">solid</div>
<div class="demo dashed">dashed</div>
<div class="demo dotted">dotted</div>
<div class="demo double">double</div>.demo {
margin-bottom: 0.5rem;
padding: 0.5rem;
border: 4px solid seagreen;
}
.dashed {
border-style: dashed;
}
.dotted {
border-style: dotted;
}
.double {
border-style: double;
}Результат
Линия только снизу
Разделитель у пунктов списка — рамка с одной стороны:
<ul class="list">
<li>Первый пункт</li>
<li>Второй пункт</li>
<li>Третий пункт</li>
</ul>.list {
padding: 0;
list-style: none;
}
.list li {
padding: 0.5rem 0;
border-bottom: 1px solid silver;
}
.list li:last-child {
border-bottom: none;
}Результат
Подсказки
- Без стиля рамки нет:
border: 2px redничего не нарисует — допишитеsolid. - Рамка, которая появляется при наведении, сдвигает соседние элементы. Держите прозрачную рамку заранее (
border: 2px solid transparent) и меняйте только цвет — или используйтеoutline, который не влияет на раскладку. - Скругление углов задаёт отдельное свойство
border-radius, а картинку вместо рамки —border-image. - Для фокуса клавиатуры используйте
outline, а неborder: он не меняет размеры и лучше виден в режиме высокой контрастности.
Поддержка браузерами
| Возможность | Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | Samsung Internet | Opera |
|---|---|---|---|---|---|---|---|---|
| border | 1 | 12 | 1 | 1 | 18 | 1 | 1.0 | 3.5 |
| Значение currentColor | 1 | 12 | 1.5 | 4 | 18 | 3.2 | 1.0 | 9.5 |
| dashed | 1 | 12 | 1 | 1 | 18 | 1 | 1.0 | 15 |
| dotted | 1 | 12 | 1 | 1 | 18 | 1 | 1.0 | 15 |
| double | 1 | 12 | 1 | 1 | 18 | 1 | 1.0 | 15 |
| groove | 1 | 12 | 1 | 1 | 18 | 1 | 1.0 | 15 |
| hidden | 1 | 12 | 1 | 1 | 18 | 1 | 1.0 | 15 |
| inset | 1 | 12 | 1 | 1 | 18 | 1 | 1.0 | 15 |
| medium | 1 | 12 | 1 | 1 | 18 | 1 | 1.0 | 15 |
| none | 1 | 12 | 1 | 1 | 18 | 1 | 1.0 | 15 |
| outset | 1 | 12 | 1 | 1 | 18 | 1 | 1.0 | 15 |
| ridge | 1 | 12 | 1 | 1 | 18 | 1 | 1.0 | 15 |
| solid | 1 | 12 | 1 | 1 | 18 | 1 | 1.0 | 15 |
| thick | 1 | 12 | 1 | 1 | 18 | 1 | 1.0 | 15 |
| thin | 1 | 12 | 1 | 1 | 18 | 1 | 1.0 | 15 |
| transparent | 1 | 12 | 1 | 1 | 18 | 1 | 1.0 | 15 |
Яндекс Браузер работает на Chromium и поддерживает то же, что Chrome той же версии. Данные: MDN browser-compat-data 8.1.2, обновлено 17 сентября 2026 г.
Спецификация
См. также
- padding Задаёт внутренние отступы — поля между содержимым элемента и его рамкой
- margin Задаёт внешние отступы — пустое пространство вокруг рамки элемента, которое отодвигает соседей.
- box-sizing Определяет, что измеряют width и height — только содержимое или весь блок вместе с полями и рамкой.
- color Задаёт цвет текста элемента