
Для создания горизонтальной линии в HTML чаще всего используется тег <hr>. По умолчанию он отображается на всю ширину контейнера, но в разных браузерах может иметь собственные отступы и толщину. Чтобы контролировать внешний вид, достаточно задать атрибуты или применить CSS-свойства.
Если требуется полностью растянуть линию, важно учитывать родительский блок. Например, внутри элемента с фиксированной шириной линия упрётся в его границы. Поэтому для эффекта «от края до края» страницу стоит строить без ограничивающих контейнеров или использовать ширину 100% относительно доступного пространства.
Альтернативный способ – применение блочного элемента с заданной высотой и фоном. Такой подход удобен, когда нужна не просто линия, а декоративный разделитель с конкретным цветом, толщиной или текстурой. В отличие от <hr>, он позволяет создавать более сложные варианты без дополнительных графических файлов.
Использование тега <hr> для горизонтальной линии

- По умолчанию линия занимает всю доступную ширину родительского элемента.
- Можно управлять толщиной через атрибут
size, например:<hr size="3">. - Атрибут
widthзадаёт длину линии:<hr width="80%">ограничит её до 80% контейнера. - Атрибут
alignпозволяет смещать линию влево, вправо или центрировать:<hr width="50%" align="left">. - Современные практики рекомендуют задавать оформление линий с помощью CSS, но базовые атрибуты сохраняют поддержку в большинстве браузеров.
Простейший пример вставки линии:
<hr>
Добавление стиля width:100% для линии

Чтобы линия занимала всю доступную ширину контейнера, к элементу или блочному элементу с границей необходимо добавить свойство width:100%. Это гарантирует растяжение по горизонтали независимо от размеров экрана.
Пример с использованием тега <hr>:
<hr style="width:100%; border:1px solid #000;">
Пример для блока <div> с верхней границей:
<div style="width:100%; border-top:2px solid #555;"></div>
Сравнение вариантов:
| Элемент | Код | Особенности |
|---|---|---|
| <hr> | <hr style=»width:100%; border:1px solid #000;»> | Простое решение, автоматически переносится при изменении ширины окна |
| <div> | <div style=»width:100%; border-top:2px solid #555;»></div> | Позволяет контролировать толщину и позицию линии |
Использование width:100% исключает ограничение ширины линии и делает её адаптивной в любых макетах.
Создание линии через border у блока
Для горизонтальной линии можно использовать блочный элемент, например <div>, с заданной шириной 100% и границей по нужной стороне. Чаще всего применяют border-bottom или border-top.
Пример:
<div style="width:100%; border-bottom:2px solid #000;"></div>
Толщина линии регулируется числом в свойстве border, цвет задаётся через hex, rgb или ключевые слова. Тип линии можно выбрать: solid, dashed, dotted, double.
Чтобы увеличить отступы, используется margin или padding у элемента. Для адаптивных макетов ширину рекомендуется оставлять в процентах, чтобы линия растягивалась вместе с контейнером.
Применение псевдоэлементов ::before и ::after
Псевдоэлементы позволяют добавить декоративные линии без лишних тегов. Для этого создают элемент-контейнер, например <div>, а саму линию формируют с помощью ::before или ::after.
Пример: задать display: block, content: «», position: absolute, ширину 100%, высоту 2px и фон. Контейнеру при этом необходимо position: relative. Таким образом линия растягивается на всю ширину блока.
Для верхней линии используют ::before с top: 0, для нижней – ::after с bottom: 0. Это удобно при оформлении заголовков или секций, когда нужно отделить их горизонтальными разделителями.
Использование псевдоэлементов сокращает количество HTML-узлов и упрощает поддержку кода: линия существует только в CSS и может быть быстро изменена или удалена без редактирования структуры страницы.
Линия с помощью flex-контейнера
Для создания горизонтальной линии можно использовать flex-контейнер, в котором элемент-наполнитель растягивается на всю доступную ширину.
Пример:
<div style="display:flex;">
<div style="flex:1; height:2px; background:#000;"></div>
</div>
Свойство flex:1 заставляет элемент занимать всё свободное пространство. Высота регулирует толщину линии, а цвет задаётся через background. Такой подход удобен, если требуется вписать линию в структуру интерфейса и управлять её положением через flex-настройки.
Использование градиента в качестве линии

Градиентная линия позволяет создавать плавные переходы цветов вместо однотонного разделителя. Для реализации используют CSS-свойство background и фиксированную высоту элемента.
Пример горизонтальной градиентной линии:
<div style="height:4px; background: linear-gradient(to right, #ff0000, #0000ff);"></div>
Рекомендации по настройке:
- Высота линии обычно варьируется от 2 до 6 пикселей для визуальной аккуратности.
- Свойство
linear-gradientпринимает направление:to right– слева направо,to bottom– сверху вниз. - Можно комбинировать более двух цветов:
linear-gradient(to right, #ff0000, #00ff00, #0000ff). - Для плавного эффекта без резких переходов используйте одинаковое расстояние цветовых стопов:
#ff0000 0%, #00ff00 50%, #0000ff 100%. - Чтобы градиент выглядел как тонкая линия на всей ширине, установите
width:100%иdisplay:block.
Вертикальная градиентная линия реализуется аналогично, меняется только направление:
<div style="width:4px; height:100px; background: linear-gradient(to bottom, #ff0000, #0000ff);"></div>
Дополнительные советы:
- Для адаптивного дизайна используйте процентные значения для ширины и высоты.
- Добавление
border-radiusсоздаёт плавные закруглённые края:border-radius:2px;. - Для тонкой декоративной линии можно комбинировать градиенты и прозрачность:
rgba(255,0,0,0) 0%, rgba(255,0,0,1) 50%, rgba(255,0,0,0) 100%.
Использование градиентных линий позволяет выделять секции страницы без добавления лишних изображений и сохраняет гибкость верстки.
Создание адаптивной линии с min-width и max-width
Для создания линии, которая автоматически подстраивается под ширину контейнера, используйте CSS-свойства min-width и max-width. Это позволяет линии сохранять читаемый размер на маленьких экранах и не превышать разумные пределы на широких.
Пример базовой реализации:
HTML:
<div class=»adaptive-line»></div>
CSS:
.adaptive-line {
height: 3px;
background-color: #333;
width: 100%;
min-width: 150px;
max-width: 800px;
margin: 0 auto;
}
Здесь width: 100% растягивает линию на всю ширину контейнера. min-width гарантирует минимальную длину для сохранения видимости, max-width ограничивает растяжение на широких экранах. margin: 0 auto центрирует линию при достижении максимальной ширины.
Для адаптивности в рамках flex-контейнеров используйте flex: 1 1 auto; совместно с min-width и max-width, чтобы линия корректно реагировала на изменения размеров соседних элементов.
Если требуется линия с динамическим цветом или толщиной, применяйте CSS-переменные и медиазапросы, например:
@media (max-width: 480px) { .adaptive-line { height: 2px; } }
Это обеспечивает читаемость и аккуратное отображение на устройствах с различной шириной экрана. Такой подход сочетает адаптивность и контроль размеров без JavaScript.
Стилизация линии через CSS-классы

Для создания линии во всю ширину экрана используют тег <hr> с подключенным CSS-классом. Например, класс .full-width-line позволяет задавать точные параметры толщины, цвета и стиля линии.
Пример CSS-класса:
.full-width-line {
border: none;
height: 3px;
background-color: #4CAF50;
margin: 20px 0;
 >border-radius: 2px;
}
Этот класс убирает стандартные границы, устанавливает высоту линии 3 пикселя, цвет зеленый (#4CAF50) и скругленные края радиусом 2 пикселя. Отступы сверху и снизу задаются через margin для равномерного пространства вокруг линии.
Для создания пунктирной или штриховой линии используют свойство border-top:
.dashed-line {
border: none;
 >border-top: 2px dashed #FF5722;
 >width: 100%;
 >margin: 15px 0;
}
В этом примере линия полностью растягивается на ширину контейнера, имеет толщину 2 пикселя, цвет #FF5722 и стиль dashed. Такой подход позволяет быстро менять визуализацию через отдельные CSS-классы без правки HTML.
Для градиентной линии используют background вместо border:
.gradient-line {
height: 4px;
 >background: linear-gradient(to right, #2196F3, #21CBF3);
 >border: none;
 >margin: 20px 0;
}
Градиентная линия создаёт плавный переход между двумя оттенками синего, что добавляет динамику в оформление страницы без использования дополнительных элементов.
Вопрос-ответ:
Можно ли сделать линию, которая будет адаптироваться под размер экрана?
Да, достаточно использовать процентную ширину, например width: 100%. Такая линия будет автоматически изменять свою длину при изменении ширины окна браузера. Если нужно более точное управление, можно использовать медиа-запросы для разных размеров экранов, чтобы подстраивать отступы или толщину линии.
Как сделать горизонтальную линию, которая будет тянуться на всю ширину страницы в HTML?
Чтобы линия занимала всю ширину страницы, можно использовать тег <hr>, который по умолчанию отображается как горизонтальная линия. Для точного контроля внешнего вида рекомендуется подключить CSS. Например, можно задать стиль: hr { width: 100%; border: none; height: 2px; background-color: black; }. Здесь width: 100% заставляет линию растягиваться на всю доступную ширину, height регулирует толщину линии, а background-color задаёт цвет. Этот способ работает в большинстве браузеров и подходит для простого разделения контента на странице. Можно дополнительно добавить отступы с помощью margin, чтобы линия не примыкала слишком близко к тексту.
