【发布时间】:2020-03-18 02:39:29
【问题描述】:
您好 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;
}
}
非常感谢
【问题讨论】:
-
请将您的代码放入问题正文中。 CodePen 和类似的东西很适合“实时预览”,但问题应该在 StackOverflow 上是自包含的
-
可以分享html代码吗?
标签: html css css-position z-index