Свойство CSS border-bottom-style
Узнайте, как свойство CSS border-bottom-style задаёт стиль линии нижней границы элемента, с примерами для каждого ключевого значения.
Свойство CSS border-bottom-style задаёт стиль линии нижней границы элемента — будь то сплошная линия, пунктир, трёхмерная канавка и так далее. Оно управляет только нижней стороной, не затрагивая остальные три.
Используйте это свойство, когда нужно оформить одну сторону отдельно — например, подчёркивание-разделитель под заголовком или пунктирная нижняя линия на карточке. Когда требуется одинаковый стиль для всех четырёх сторон, краткая запись border-style будет лаконичнее.
Свойство border-bottom-style само по себе не даёт видимого эффекта, если не заданы цвет и ширина границы. Используйте его в паре с border-bottom-width и border-bottom-color, либо задайте всё сразу с помощью краткой записи border-bottom. Исключение — значение none (по умолчанию): оно полностью убирает границу вне зависимости от ширины и цвета.
Спецификация CSS не определяет, как соединяются границы разных стилей на углах, поэтому смежные стороны с разными стилями могут стыковаться по-разному в разных браузерах.
| Начальное значение | none |
|---|---|
| Применяется к | Всем элементам. |
| Наследуется | Нет. |
| Анимируется | Нет. |
| Версия | CSS1 |
| DOM Синтаксис | object.style.borderBottomStyle = "dotted"; |
Синтаксис
border-bottom-style: none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset | initial | inherit;Значения
| Значение | Описание |
|---|---|
none | Граница не отображается. Значение по умолчанию. |
hidden | Визуально то же, что none для обычных элементов, но подавляет соседние границы при разрешении конфликтов границ таблицы. |
dotted | Ряд круглых точек. |
dashed | Ряд коротких штрихов. |
solid | Единая непрерывная линия. |
double | Две параллельные сплошные линии. Суммарная толщина плюс зазор равны значению border-bottom-width. |
groove | Трёхмерный эффект, при котором граница выглядит врезанной в страницу. Противоположность ridge. |
ridge | Трёхмерный эффект, при котором граница выглядит выступающей над страницей. Противоположность groove. |
inset | Трёхмерный эффект, при котором весь элемент выглядит вдавленным в страницу. Противоположность outset. |
outset | Трёхмерный эффект, при котором весь элемент выглядит выступающим из страницы. Противоположность inset. |
initial | Устанавливает свойство в значение по умолчанию (none). |
inherit | Наследует значение от родительского элемента. |
Примеры
Сплошная и пунктирная границы
Наиболее часто используемые значения — solid и dashed. Здесь заголовок получает сплошную нижнюю границу, а div — пунктирную.
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<style>
h2 {
border-bottom-style: solid;
}
div {
border-bottom-style: dashed;
}
</style>
</head>
<body>
<h2>A heading with a solid bottom border</h2>
<div>A div element with a dashed bottom border.</div>
</body>
</html>Двойная, пунктирная и рельефная границы
В этом примере сочетаются несколько значений. Обратите внимание: groove и другие трёхмерные стили требуют более широкой границы (здесь 8px) для видимости — тонкие границы сводят трёхмерную тень к минимуму.
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<style>
h2 {
border-bottom-style: double;
}
p {
border-style: solid;
border-bottom-style: dashed;
}
div {
border-bottom-style: groove;
border-bottom-width: 8px;
}
</style>
</head>
<body>
<h2>A heading with a double bottom border</h2>
<p>A paragraph with a dashed bottom border (overrides the solid shorthand on the bottom side).</p>
<div>A div element with a groove bottom border.</div>
</body>
</html>Значение hidden
hidden выглядит идентично none для обычного элемента, но по-другому работает при разрешении конфликтов границ таблицы: граница с hidden всегда побеждает и подавляет границу соседней ячейки.
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<style>
h1 {
color: red;
text-align: center;
border: 5px solid black;
border-bottom-style: hidden;
}
</style>
</head>
<body>
<h1>Border on three sides — bottom is hidden</h1>
</body>
</html>Значение inset
inset — трёхмерный стиль, при котором блок выглядит вдавленным в страницу. Тень формируется на основе цвета границы, поэтому эффект наиболее заметен при большей ширине.
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<style>
h1 {
color: red;
text-align: center;
border: 5px solid;
border-bottom-style: inset;
}
</style>
</head>
<body>
<h1>Inset bottom border example</h1>
</body>
</html>Значение outset
outset — противоположность inset: блок выглядит выступающим из страницы. Вместе inset, outset, groove и ridge образуют четыре трёхмерных стиля границы, и все четыре используют цвет границы для создания эффекта тени.
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<style>
h1 {
text-align: center;
border: 5px solid;
border-bottom-style: outset;
}
</style>
</head>
<body>
<h1>Outset bottom border example</h1>
</body>
</html>Когда использовать каждое значение
solid— стандартный выбор для большинства элементов интерфейса (карточки, поля ввода, разделители).dashedиdotted— подходят для второстепенных разделителей, областей перетаскивания или всего, что требует более лёгкого визуального веса по сравнению со сплошной линией.double— иногда используется для декоративных заголовков; для отображения обеих линий и зазора необходима ширина не менее3px.groove/ridge— классические трёхмерные эффекты; редко применяются в современном плоском UI, но по-прежнему актуальны.inset/outset— могут имитировать эффект нажатия кнопки; для более тонкого управления рассмотритеbox-shadow.hidden— прежде всего инструмент для табличной разметки; избегайте его на нетабличных элементах, гдеnoneпонятнее.
Распространённые ошибки
- Стиль границы сам по себе ничего не отображает, если
border-bottom-widthравен0илиborder-bottom-colorимеет значениеtransparent. Всегда проверяйте, что все три подсвойства границы заданы. - Переопределение краткой записи
border-bottomпослеborder-bottom-styleсбрасывает стиль обратно наnone. Порядок объявлений имеет значение. - Значение
doubleтребует ширины не менее3pxдля отображения двух отдельных линий. - Четыре трёхмерных значения (
groove,ridge,inset,outset) в некоторых браузерах выглядят одинаково сridge/groove, когда цвет границы равенcurrentColorна тёмном фоне — всегда проверяйте с явно заданным цветом.
Связанные свойства
border-bottom— краткая запись для ширины, стиля и цвета нижней границы.border-bottom-width— задаёт толщину нижней границы.border-bottom-color— задаёт цвет нижней границы.border-style— задаёт стиль линии для всех четырёх сторон одновременно.border-top-style— аналогичное свойство для верхней стороны.border-left-style— аналогичное свойство для левой стороны.border-right-style— аналогичное свойство для правой стороны.