Привет, сообщество StackOverflow,
Мне нужна ваша помощь для решения проблемы CSS. Для одного из моих проектов мне нужно спроектировать программу просмотра с чистыми временными интервалами CSS. Поскольку картинка всегда лучше длинного текста, вы можете увидеть чуть ниже результат моей работы:
Но вместо места начала / Время окончания в интервале времени, я хотел бы поместить время начала чуть выше верхнего / левого, а время окончания чуть ниже нижнего / правого. Я хотел бы получить такой результат
Вот HTML:
<ul class="day-timeline">
<li class="time-interval" style="left:4%; width:46%">
<label class="time start-time">01:00</label>
<label class="time end-time">12:00</label>
</li>
<li class="time-interval" style="left:58%; width:17%">
<label class="time start-time">14:00</label>
<label class="time end-time">18:00</label>
</li>
</ul>
<ul class="day-timeline day-timeline-closed">
<li class="time-interval closed">
<label class="time">Closed</label>
</li>
</ul>
Вот CSS :
* {
box-sizing: border-box;
}
ul.day-timeline {
padding: 0;
border-left: 1px solid black;
border-right: 1px solid black;
height: 20px;
overflow: hidden;
position: relative;
&:after {
content: '';
width: 100%;
height: 1px;
background: black;
display: block;
position: relative;
top: 10px;
}
li {
display: block;
position: absolute;
background-color: #bed4a7;
border: 1px solid green;
z-index: 1;
padding-left: 5px;
border-radius: 3px;
height: 100%;
font-weight: bold;
width: 100%;
&.closed {
background-color: lightgray;
border: 1px solid black;
label {
color :black;
}
}
label {
font-size: 0.75rem;
color: green;
&.start-time {
position: absolute;
top:-10px;
left:0;
}
}
label + label {
&:before {
content: '-';
padding: 0 0.25rem;
}
}
}
}
ul.day-timeline-closed {
border: none;
}
Вы можете увидеть его вживую здесь: https://codepen.io/zannkukai/pen/XWbYXjG.
Несмотря на множество попыток, я никогда не получаю правильный результат: '( CSS -guru может помочь мне решить мою проблему. Я думаю, что проблема в позиционировании label
. Но если я использовал position:absolute; top:-10px
, то область метки находится за пределами родительской области, и она не отображается: '(
label {
font-size: 0.75rem;
color: green;
&.start-time {
position: absolute;
top:-10px;
left:0;
}
}
Большое спасибо