marker-end

Baseline 已廣泛支援

該特性已非常成熟,可在多種裝置和瀏覽器版本上使用。自 2017 年 4 月以來,它已在各大瀏覽器上可用。

marker-end CSS 屬性指向一個標記,該標記將繪製在元素路徑的最後一個頂點(即其結束頂點)上。該標記必須使用 SVG <marker> 元素定義,並且只能透過 <url> 值引用。CSS 屬性的值會覆蓋 SVG 中 marker-end 屬性的任何值。

對於許多支援標記的形狀,第一個和最後一個頂點是同一點:例如,<rect> 的左上角。在此類形狀中,如果定義了第一個和最後一個標記,則將在該點繪製兩個標記,儘管它們可能不朝向同一方向。

注意: marker-end 屬性僅對可以使用 SVG 標記的元素有效。有關列表,請參閱 marker-end

語法

css
marker-end: none;
marker-end: url("markers.svg#arrow");

/* Global values */
marker-end: inherit;
marker-end: initial;
marker-end: revert;
marker-end: revert-layer;
marker-end: unset;

none

這意味著在元素路徑的最後一個頂點將不繪製標記。

<marker-ref>

一個 <url>,引用由 SVG <marker> 元素定義的標記,將在元素路徑的最後一個頂點繪製。如果 URL 引用無效,則在路徑的最後一個頂點將不繪製標記。

正式定義

初始值none
應用於svg 中的 <circle><ellipse><line><path><polygon><polyline><rect> 元素
繼承性
計算值按指定,但 <url> 值變為絕對路徑
動畫型別離散

正式語法

marker-end = 
none |
<marker-ref>

<marker-ref> =
<url>
此語法反映了 CSS 規範 中的最新標準。並非所有瀏覽器都可能已實現所有部分。有關支援資訊,請參閱瀏覽器相容性

示例

html
<svg viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <marker
      id="triangle"
      viewBox="0 0 10 10"
      markerWidth="10"
      markerHeight="10"
      refX="1"
      refY="5"
      markerUnits="strokeWidth"
      orient="auto">
      <path d="M 0 0 L 10 5 L 0 10 z" fill="red" />
    </marker>
  </defs>
  <polyline
    id="test"
    fill="none"
    stroke="black"
    points="20,100 40,60 70,80 100,20" />
</svg>
css
polyline#test {
  marker-end: url("#triangle");
}

規範

規範
Scalable Vector Graphics (SVG) 2
# MarkerEndProperty

瀏覽器相容性

另見