这是一个可以帮助您解决问题的快速代码段:
.bar {
list-style: none;
}
.bar >li {
position: relative;
}
.bar>li:before {
content: '\25CF';
margin-right: 10px;
font-size: 20px;
}
.bar>li:after {
position: absolute;
left: 0;
top: 0;
content: '';
border-left: 2px solid black;
margin-left: 5px;
height: 100%;
}
.bar >li:first-of-type:after {
top: 50%;
}
.bar >li:last-of-type:after {
top: -50%;
}Run Code Online (Sandbox Code Playgroud)
<ul class="bar">
<li>element 1</li>
<li>element 2</li>
<li>element 3</li>
<li>element 4</li>
<li>element 5</li>
</ul>Run Code Online (Sandbox Code Playgroud)
这个想法是你使用一个列表,每个元素的项目:before符号都用Unicode黑色圆圈的符号替换,而:after元素的每个选择器都包含元素在垂直线上的共享.第一个和最后一个列表元素有一个额外的规则来截断它们的边界线,因此它不会超过黑色圆圈.
调整一下,以获得您想要的确切效果!
<style>
svg {
background-color: black;
}
.dotted-line {
fill: none;
stroke: orange;
stroke-width: 2;
marker: url(#circle-marker);
}
#circle-marker circle {
fill: orange;
stroke; orange;
}
</style>
<svg height="40" width="190">
<polyline class="dotted-line" points="20,20 70,20 120,20 170,20"/>
<marker id="circle-marker" markerWidth="8" markerHeight="8" refX="5" refY="5">
<circle class="foreground" cx="5" cy="5" r="3" />
</marker>
</svg>Run Code Online (Sandbox Code Playgroud)
(我从表面上看“水平”;使其垂直是微不足道的。)
查找markerSVG 元素、 、marker-start、marker-endSVGmarker-mid属性。marker这里的 attribute 结合了三个属性(为了简洁起见,因为它们都是相同的)。
| 归档时间: |
|
| 查看次数: |
4428 次 |
| 最近记录: |