/
Вопросы и ответы
/
CSS
/

Как сделать линию в html css

Как сделать линию в html css

5 лет назад

Человек-Молекула

Ответы

0

Для формирования линии можно пойти разными путями. Давайте рассмотрим некоторые из них:

Вариант №1. Можно определить обычный div элемент и покрасить у него одну из сторон с помощью свойства border.

1
<div class="create-line"></div>

Вариант №2. Используем готовый тег который формирует горизонтальную линию - hr.

Вариант №3. С помощью псевдоэлементов :before или :after. Этот вариант немного сложнее, но за то мы обойдемся без правки HTML-кода. Итак, если нам нужно разместить вертикальную или горизонтальную линию сверху или с левой стороны элемента, то нам нужно использовать псевдоэлемент :before. Если же линия должна быть справа или снизу, то мы должны использовать псевдоэлемент :after.

1
2
3
<div class="create-line-left">
  Добавим линию снизу
</div>

Теперь рассмотрим стили.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
.create-line-left {
  padding-left: 20px;
  /* необходим для формирования позиций линии */
  position: relative;
  /* весь блок будет занимать ширину по размеру контента в нём */
  display: inline-block;
}

.create-line-left:before{ 
  content: " ";
  background: #33CCFF;
  width: 150px;
  height: 1px;
  /* располагаем линию сверху от текста */
  top: 25px;
  /* включаем абсолютное позиционирование относительно блока с relative */
  position: absolute;
}

4 года назад

Вячеслав Межуревский

0

Горизонтальную линию в HTML рисует тег <hr>:

1
2
3
<p>Первый раздел</p>
<hr>
<p>Второй раздел</p>

Браузер нарисует серую линию на всю ширину. Внешний вид задают в CSS:

1
2
3
4
5
hr {
  border: none;
  border-top: 2px solid #0082ff;
  margin: 24px 0;
}

border: none убирает стандартную объёмную рамку, border-top рисует нужную линию.

<hr> означает смысловой разрыв: смену темы, раздел. Если линия нужна только для оформления, используйте border у существующего блока.

Линия у блока

1
2
3
4
.section {
  border-bottom: 1px solid #e5e7eb;
  padding-bottom: 16px;
}

Стили: solid — сплошная, dashed — пунктир, dotted — точки.

Вертикальная линия

Между пунктами меню:

1
2
3
4
.menu a + a {
  border-left: 1px solid #ccc;
  padding-left: 12px;
}

Отдельная вертикальная черта во flex-контейнере:

1
2
3
4
5
.divider {
  width: 1px;
  align-self: stretch;
  background: #ccc;
}

Линии по бокам от текста

1
<p class="or">или</p>

Короткая линия под заголовком

1
2
3
4
5
6
7
8
h2::after {
  content: "";
  display: block;
  width: 48px;
  height: 3px;
  margin-top: 8px;
  background: #0082ff;
}

Градиентная линия

1
2
3
4
5
hr {
  border: none;
  height: 2px;
  background: linear-gradient(90deg, transparent, #0082ff, transparent);
}

Оформление блоков разбирают в бесплатном курсе «Введение в HTML и CSS».

10 дней назад

Никита Вихров

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845