Для создания указанного элемента можно использовать HTML и CSS.
Вот пример кода:
HTML:
```
<div class="container">
<div class="block">
<div class="circle"></div>
</div>
<div class="block">
<div class="circle"></div>
</div>
<div class="block">
<div class="circle"></div>
</div>
</div>
```
CSS:
```
.container {
display: flex;
flex-direction: column;
align-items: center;
}
.block {
display: flex;
align-items: center;
margin-bottom: 10px;
}
.circle {
width: 20px;
height: 20px;
border: 2px solid black;
border-radius: 50%;
margin-right: 10px;
}
.block:before {
content: "";
position: absolute;
width: 2px;
height: 100%;
background-color: grey;
margin-left: 10px;
}
.block:first-child:before {
border-radius: 10px 10px 0 0;
}
.block:last-child:before {
border-radius: 0 0 10px 10px;
}
```
Код выше создаст вертикальный список блоков с кружками рядом. Каждому блоку добавлена псевдоэлемент ":before", который будет служить линией под блоком. При добавлении нового блока в HTML код, линия автоматически расширится. Закругления вверху и внизу линии достигаются с помощью псевдоэлементов ":first-child:before" и ":last-child:before" и заданных CSS свойств "border-radius".