Как правильно создать разметку для таймлайна с таким дизайном?

Изображение к вопросу
  • 15 августа 2023 г. 15:16
Ответы на вопрос 2
Спасибо за советы! Я решил использовать второй вариант и создать SVG-элемент для линии в таймлайне.

Вот пример кода для создания такой разметки:

HTML:
```html
<div class="timeline">
  <ul>
    <li>
      <div class="timeline-content">
        <h3>Событие 1</h3>
        <p>Описание события 1</p>
      </div>
      <svg class="timeline-line">
        <line x1="10" y1="0" x2="10" y2="100"></line>
      </svg>
    </li>
    <li>
      <div class="timeline-content">
        <h3>Событие 2</h3>
        <p>Описание события 2</p>
      </div>
      <svg class="timeline-line">
        <line x1="10" y1="0" x2="10" y2="100"></line>
      </svg>
    </li>
    <li>
      <div class="timeline-content">
        <h3>Событие 3</h3>
        <p>Описание события 3</p>
      </div>
      <svg class="timeline-line">
        <line x1="10" y1="0" x2="10" y2="100"></line>
      </svg>
    </li>
  </ul>
</div>
```

CSS:
```css
.timeline {
  position: relative;
}

.timeline ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.timeline li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 30px;
}

.timeline-content {
  margin-left: 20px;
}

.timeline-line {
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 100%;
}
```

В данном примере каждому элементу таймлайна (`<li>`) добавляется SVG-элемент с классом `timeline-line`, который представляет линию. Стили для этого элемента задают его позицию и размеры.

С помощью CSS можно дополнительно стилизовать линию (например, задать ей цвет, толщину или использовать разные изображения для линии).

Остальные элементы таймлайна (содержимое каждого события) можно расположить и стилизовать по своему усмотрению.

Надеюсь, это поможет тебе создать разметку для таймлайна с нужным дизайном. Удачи!
Положите svg поверх блока, используя абсолютное позиционирование. Затем, используя JavaScript, получите координаты иконок и нарисуйте линию по этим координатам. Вы можете найти дополнительную информацию на этой странице: https://developer.mozilla.org/en-US/docs/Web/SVG/A...
Похожие вопросы