Open cloudtian opened 4 years ago
SVG中有个marker元素,可以在特定元素(path,line,polyline,polygon)上绘制箭头或多边形标记图形。 MDN上marker说明:marker
marker
path
line
polyline
polygon
属性说明
marker-start="url(id)"
marker-mid="url(id)"
marker-end="url(id)"
x
y
markerWidth
markerHeight
strokeWidth
userSpaceOnUse
auto
auto-start-reverse
<angle>
效果演示
代码展示
<svg width="500" height="500"> <defs> <marker id="triangle" markerUnits="strokeWidth" markerHeight="6" markerWidth="6" viewBox="0 0 6 6" refX="1" refY="3" orient="auto-start-reverse"> <path d="M0,0L6,3L0,6z" fill="#17c1c5"></path> </marker> <marker id="arrow" markerUnits="strokeWidth" markerHeight="6" markerWidth="6" viewBox="0 0 6 6" refX="3" refY="3" orient="auto-start-reverse"> <path d="M1,1L5,3L1,5L3,3z" fill="#17c1c5"></path> </marker> <linearGradient id="normal" x1="0" y1="0" x2="100%" y2="0"> <stop offset="0%" stop-color="rgba(203,242,243,1)" /> <stop offset="100%" stop-color="rgba(23,193,197,1)" /> </linearGradient> </defs> <line x1="10" y1="10" x2="400" y2="40" stroke="url(#normal)" stroke-width="2" marker-end="url(#triangle)"></line> <path d="M10,50 T20,160 T300,230 T250,300" fill="none" stroke="url(#normal)" stroke-width="2" marker-start="url(#triangle)" marker-end="url(#triangle)" marker-mid="url(#arrow)"></path> </svg>
SVG中有个
marker
元素,可以在特定元素(path
,line
,polyline
,polygon
)上绘制箭头或多边形标记图形。 MDN上marker说明:marker属性说明
marker-start="url(id)"
:标记显示在元素的起点marker-mid="url(id)"
:显示在指定元素内部顶点上,并不是元素的中点marker-end="url(id)"
:显示在元素的终点marker
放入的视口的宽度,默认值3marker
放入的视口的高度,默认值3marker
与元素连接点的x
坐标marker
与元素连接点的y
坐标markerWidth
和markerHeight
和marker
的内容本身的坐标系统。strokeWidth
(默认值) :marker大小会适应其连接的元素userSpaceOnUse
:使用当前用户坐标系统,不受其连接元素的影响auto
:根据线条的方向自动设置标记方向auto-start-reverse
:在起点时会自动反向<angle>
:指定角度,元素x轴与标记x轴之间的夹角。效果演示
代码展示