Текст над кругом в теге span
Как текст внутри тега span разместить над кругом по центру?
.step__point {
display: flex;
justify-content: space-between;
}
.point {
min-width: 36px;
width: 36px;
height: 36px;
border-radius: 18px;
background-color: #E0E0E0;
border: 1px solid transparent;
transition: background 1s ease;
}
.pre-line,
.post-line {
height: 1px;
width: 100%;
background: #E0E0E0;
margin-top: 18px;
transition: background 1s ease;
}
<div class="step__point">
<div class="pre-line"></div>
<span class="point">1</span>
<div class="post-line"></div>
<div class="pre-line"></div>
<span class="point">2</span>
<div class="post-line"></div>
</div>
Ответы (3 шт):
Автор решения: Sevastopol'
→ Ссылка
Как вариант заключить циферки в отдельный span
.step__point {
display: flex;
justify-content: space-between;
margin-top: 30px;
}
.point {
position: relative;
min-width: 36px;
width: 36px;
height: 36px;
border-radius: 18px;
background-color: #E0E0E0;
border: 1px solid transparent;
transition: background 1s ease;
}
.point>span {
position: absolute;
top: -18px;
min-width: 36px;
width: 36px;
height: 36px;
text-align: center;
}
.pre-line,
.post-line {
height: 1px;
width: 100%;
background: #E0E0E0;
margin-top: 18px;
transition: background 1s ease;
}
<div class="step__point">
<div class="pre-line"></div>
<span class="point"><span>1</span></span>
<div class="post-line"></div>
<div class="pre-line"></div>
<span class="point"><span>2</span></span>
<div class="post-line"></div>
</div>
Автор решения: Zhihar
→ Ссылка
можно через position: relative и top: xxx сделать:
.step__point {
display: flex;
justify-content: space-between;
margin-top: 50px;
}
.pre-line,
.post-line {
height: 1px;
width: 100%;
background: #E0E0E0;
margin-top: 18px;
transition: background 1s ease;
}
.point {
display: inline-block;
position: relative;
top: -20px;
min-width: 36px;
width: 36px;
height: 36px;
text-align: center;
}
.point:after {
content: '';
display: inline-block;
position: relative;
top: 5px;
width: 36px;
height: 36px;
border-radius: 18px;
border: 1px solid transparent;
background-color: #E0E0E0;
transition: background 1s ease;
}
<div class="step__point">
<div class="pre-line"></div>
<div class="point">1</div>
<div class="post-line"></div>
<div class="pre-line"></div>
<div class="point">2</div>
<div class="post-line"></div>
</div>
Но я бы полностью переделал сам подход на более простой
- контейнер с вертикальной границей
- поверх контейнера через
flexобъекты содержащие круг и текст - как это сделать уже на любителя - я, как в примере, через:afterкруг рисовал, но можно внутри контейнера с кругом еще контейнер с текстом разместить - хотя конечно тогда тегов больше будет :)
P.S.
на самом деле даже pre-line и post-line не нужны - это все можно сделать через :before и :after
Автор решения: Zhihar
→ Ссылка
еще один вариант как сделать данную задачу с минимальным кол-вом тегов:
.step__point {
display: flex;
justify-content: space-around;
height: 36px;
margin-top: 50px;
border-bottom: 2px solid #E0E0E0;
transition: background 1s ease;
}
.point, .point:after {
display: inline-block;
min-width: 36px;
width: 36px;
height: 36px;
text-align: center;
}
.point:after {
content: '';
border-radius: 18px;
border: 2px solid #ffffff;
background-color: #E0E0E0;
transition: background 1s ease;
}
<div class="step__point">
<div class="point">1</div>
<div class="point">2</div>
</div>