@andrew_zhuck
Dev

Как возможно реализовать timeline змейкой?

Ребята подскажите как можно реализовать подобный timeline
Желательно в адаптиве, но это уже другой вопрос.
5bb687037f9f0457208934.png
  • Вопрос задан
  • 218 просмотров
Пригласить эксперта
Ответы на вопрос 4
Нативные извращения в студию! https://codepen.io/anon/pen/XxKNqg?editors=1100

С svg будет легче, но мы же не ищем лёгких путей, да?

UPD: привела пример с текстом.

.wrapper{
  position: absolute;
  top: 25px;
  bottom: 25px;
  left: 0;
  right: 0;
}

.wrap{
  position: relative;
  max-width: 1200px;
  margin: 50px auto;
  
  &__list{
    display: flex;
    justify-content: space-around;
    margin-bottom: 80px;
  }
  
  &__item{
    position: relative;
    z-index: 1;
    width: 50px;
    height: 50px;
    background: url('https://image.flaticon.com/icons/svg/138/138932.svg');
  }
  
  &__title{
    position: absolute;
    left: 0;
    bottom: -100%;
  }
  
  &__timeline{
    position: absolute;
    left: 0;
    right: 0;
    height: 50%;
    
    &--first{
      top: 0;
      right: 0;
      border-right: 2px solid lightblue;
      border-radius: 0 20px 20px 0;
      
      &::before{
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: -1px;
        bottom: 0;
        border-top: 2px solid lightblue;
        border-radius: 0 20px 0 0;
      }
      
      &::after{
        content: '';
        position: absolute;
        left: 100px;
        right: -1px;
        height: 100%;
        border-bottom: 2px solid lightblue;
        border-radius: 0 0 20px 0;
      }
    }
    
    &--second{
      bottom: 0;
      left: 0;
      border-left: 2px solid lightblue;
      border-radius: 20px 0 0 20px ;
      
      &::before{
        content: '';
        position: absolute;
        left: -1px;
        right: 100px;
        top: 0;
        height: 100%;
        border-top: 2px solid lightblue;
        border-radius: 20px 0 0 0;
      }
      
      &::after{
        content: '';
        position: absolute;
        left: -1px;
        right: 0;
        bottom: 0;
        height: 100%;
        border-bottom: 2px solid lightblue;
        border-radius: 0 0 0 20px;
      }
    }
  }
}
Ответ написан
Nikita-Fast
@Nikita-Fast
SVGшник и леплю что попало
Конечно можно на SVG всё это сделать но для примера сделал так : codepen.io/pen
Ответ написан
Комментировать
Линию можно сделать:
- через background, но тут могут быть сложности с адаптивном
- с помощью двух блоков, без фона, но с закругленными границами с нескольких сторон
- нарисовать на svg
Ответ написан
Комментировать
dicem
@dicem
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы