带计时器的水平计时器问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了带计时器的水平计时器问题相关的知识,希望对你有一定的参考价值。
如何在下面的文章中使用滑动器实现在水平计时器中的第一个元素之前和最后一个元素之后删除水平线,我在CSS中删除了left:42%,因此它向左移动以删除左边的水平线,但是右边的水平线不能删除-
.status span:before
content: '';
width: 25px;
height: 25px;
background-color: #e8eeff;
border-radius: 25px;
border: 4px solid #3e70ff;
position: absolute;
top: -15px;
**left: 0%;**
transition: all 200ms ease-in;
答案
我建议在每个swiper-slide
内部使用一个spacer元素,该元素仅在第一个和最后一个元素内部可见。它也具有与旧答案相同的限制,背景需要具有统一的颜色。html代码
<div class="swiper-container">
<div class="swiper-wrapper timeline">
<div class="swiper-slide" v-for="item in steps">
<div class="status">
<span>item.title</span>
<div class="overlapper"></div>
</div>
</div>
</div>
</div>
CSS
.overlapper
background-color: white;
position: absolute;
width: 50%;
height: 4px;
z-index: 1;
top: -4px;
display: none;
.swiper-slide:first-child .overlapper
left: 0;
display: block;
.swiper-slide:last-child .overlapper
right: 0;
display: block;
https://codepen.io/AlexWayhill/pen/XWmYyvJCodepen
旧答案
仅在单色背景上起作用的一个选项是添加“终止符”以与border-top
元素上定义的.swiper-slide
重叠。它也需要一些调整来获得.swiper-terminator
的正确宽度,否则它将在错误的位置重叠。
HTML代码
<div class="swiper-wrapper timeline">
<div class="swiper-terminator swiper-left"></div>
<div class="swiper-slide" v-for="item in steps">
<div class="status">
<span>item.title</span>
</div>
</div>
<div class="swiper-terminator swiper-right"></div>
CSS
.swiper-terminator.swiper-left
left: 0;
.swiper-terminator.swiper-right
right: 0;
.swiper-terminator
background-color: white;
position: absolute;
width: 20px;
padding: 20px;
height: 30px;
z-index: 1;
.status span
/* Add the z-index to position the bubble over the terminator */
z-index: 3;
.timeline
position: relative;
https://codepen.io/AlexWayhill/pen/KKderQxCodepen
另一答案
由于线是元素与文本的边界,所以它永远不会比元素/文本本身小。我建议使用您需要的宽度而不是边框的额外元素。
为此,只需删除行
border-top: 4px solid #3e70ff;
从您的CSS类.status
中添加以下CSS类:
.status:before content: ""; position: absolute; width: 100%; height: 4px; bottom: 100%; left: 0; background-color: #3e70ff; .swiper-slide:first-of-type .status:before width: 50%; left: 50%; .swiper-slide:last-of-type .status:before width: 50%;
以上是关于带计时器的水平计时器问题的主要内容,如果未能解决你的问题,请参考以下文章