Как сделать вертикальную линию в css
5 лет назад
Человек-Молекула
Ответы
Для формирования вертикальной линии можно пойти разными путями. Давайте рассмотрим некоторые из них:
Вариант №1. Можно определить обычный div элемент и покрасить у него одну из сторон с помощью свойства border.
Вариант №2. Используем готовый тег который формирует горизонтальную линию - hr. Только изменим его с помощью стилей: сделаем ширину 1px и выставим необходимую длину линии.
Вариант №3. С помощью псевдоэлементов :before и :after. Этот вариант немного сложнее, но за то мы обойдемся без правки HTML-кода. Итак, если нам нужно разместить вертикальную или горизонтальную линию сверху или слевой стороны элемента, то нам нужно использовать псевдоэлемент :before. Если же линия должна быть справа или снизу, то мы должны использовать псевдоэлемент :after.
Теперь рассмотрим стили.
4 года назад
Вячеслав Межуревский
Чаще всего вертикальную линию рисуют рамкой с одной стороны блока:
Линия получается высотой с блок и растёт вместе с контентом.
Отдельный элемент-линия
Высоту задают явно: у пустого div высоты нет.
Разделитель между блоками во flex
Во flex-контейнере элементы по умолчанию растягиваются по высоте строки. Высоту линии задавать не нужно.
Линии между пунктами меню
Селектор a + a выбирает ссылки, перед которыми стоит другая ссылка. У первой линии слева не будет.
Псевдоэлемент
Если в разметку нельзя добавить элемент, линию рисуют через ::before:
Так же делают линию времени в списке событий.
Линия на всю высоту экрана
Линия по центру блока
Градиент из одного цвета шириной 1 пиксель встаёт по центру фона.
Почему hr не подходит
<hr> — горизонтальная линия, и она означает смену темы в тексте. Если повернуть её через transform: rotate(90deg), она сохранит прежнее место в разметке и размеры по горизонтали. Для вертикальной линии используйте один из способов выше.
Рамки, flexbox и псевдоэлементы разбирают в бесплатном курсе «Основы HTML и CSS».
3 дня назад
Никита Вихров






