Как правильно сделать такие линии и адаптировать их?

Есть блок с этапами заключения договора, в этом блоке есть горизонтальные и боковые линии, пример:
spoiler

624cd05e00b80003245645.png
624cd06bc2545601591179.png
624cd0f01938d802196461.png

Как вообще данные линии правильно сделать и при адаптиве располагать, возможно есть примеры такой реализации ?

Пример: ссылка
  • Вопрос задан
  • 329 просмотров
Пригласить эксперта
Ответы на вопрос 1
ShadowOfCasper
@ShadowOfCasper
Middle User Interface Web Developer
Это можно сделать лишь с помощью :after и :before, манипулируя ими в зависимости от first-of-type, last-of-type и nth-of-type разных комбинаций

допустим есть голые колонки, внутри которых уже контент
div.col *12 > div.col__content + div.col__decorator

Декоратор у нас кружок и через before и after блока div.col ставим пунктиры, позиционируем абсолютно внутри относительного родительского col. Ну как и decorator. Можно даже decorator оставить position static и внутри decorator насоздавать псевдоэлементов. Это по своему усмотрению
А дальше css. Ну тут вообще только на препроцессорах можно внятно описать конструкцию
.col {
  overflow: hidden; чтоб урезать линии границ блоков с закруглениями
  // пунктиры 1го и последнего одинаковы для десктопа и мобилки
  &:first-of-type {
    &:after {}
  }
  &:last-of-type {
    &:before {}
  }
  @media(max-width: мобилка) {
    &:nth-of-type( последовательности подбираем ) {
      &:before, &:after {}
    }
  }
  @media(min-width: десктоп) {
    &:nth-of-type( последовательности подбираем ) {
      &:before, &:after {}
    }
  }
}

Писать это муторно и вообще пилотаж довольно таки высший, но вполне реализуемо на css. Второй вариант - экспорт декораторов в svg, установка его в абсолютный блок, который дочерний к общему контейнеру списка. Устанавливать в svg preserveAspectRatio='none' и менять свгхи по медиа-запросу. Вариант для ленивых
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
01 мая 2024, в 11:20
5000 руб./за проект
01 мая 2024, в 10:55
3000 руб./за проект
01 мая 2024, в 10:55
3000 руб./за проект