如何为表示时间轴中箭头的 ::before 元素的背景着色
how to color the background of a ::before element that represents an arrow in a timeline
我有一个 jquery 插件可以提供时间轴。我希望能够为每个时间轴元素附带的小箭头的背景着色。
https://jsfiddle.net/LNMSchneiderman/Ljfw9xg4/2/
<div class="timeline">
<div class="timeline__wrap">
<div class="timeline__items">
<div class="timeline__item ">
<div class="timeline__content news">
<h2>Jan. 5, 2020</h2>
<p>news item</p>
</div>
</div>
<div class="timeline__item">
<div class="timeline__content news">
<h2>Jan. 31, 2020</h2>
<p>news item</p>
</div>
</div>
</div>
</div>
</div>
$('.timeline').timeline({
mode:'vertical',
});
箭头的伪元素是这样创建的:
.timeline__content:before {
border-bottom: 10px solid transparent;
border-left: 12px solid #ccc;
border-top: 10px solid transparent;
right: -12px;
z-index: 1;
}
.timeline__content:after, .timeline__content:before {
content: '';
height: 0;
position: absolute;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
top: 50%;
width: 0;
}
但我似乎没有改变那个小箭头的背景颜色。谁能帮我处理这段代码?
值得查看浏览器的开发工具,检查箭头元素以准确了解它是如何形成和着色的。
这是您 fiddle 的前后对比:
之前您可以看到颜色为浅灰色。我把它改成了红色:
如您所见,您需要更改左边框设置。
注意:border-left-color 在这种情况下不能单独使用,请在边框 shorthand 版本中更改颜色:
border-left: 12px solid red;
我有一个 jquery 插件可以提供时间轴。我希望能够为每个时间轴元素附带的小箭头的背景着色。
https://jsfiddle.net/LNMSchneiderman/Ljfw9xg4/2/
<div class="timeline">
<div class="timeline__wrap">
<div class="timeline__items">
<div class="timeline__item ">
<div class="timeline__content news">
<h2>Jan. 5, 2020</h2>
<p>news item</p>
</div>
</div>
<div class="timeline__item">
<div class="timeline__content news">
<h2>Jan. 31, 2020</h2>
<p>news item</p>
</div>
</div>
</div>
</div>
</div>
$('.timeline').timeline({
mode:'vertical',
});
箭头的伪元素是这样创建的:
.timeline__content:before {
border-bottom: 10px solid transparent;
border-left: 12px solid #ccc;
border-top: 10px solid transparent;
right: -12px;
z-index: 1;
}
.timeline__content:after, .timeline__content:before {
content: '';
height: 0;
position: absolute;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
top: 50%;
width: 0;
}
但我似乎没有改变那个小箭头的背景颜色。谁能帮我处理这段代码?
值得查看浏览器的开发工具,检查箭头元素以准确了解它是如何形成和着色的。
这是您 fiddle 的前后对比:
之前您可以看到颜色为浅灰色。我把它改成了红色:
如您所见,您需要更改左边框设置。
注意:border-left-color 在这种情况下不能单独使用,请在边框 shorthand 版本中更改颜色:
border-left: 12px solid red;