marker-start

Baseline 已廣泛支援

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

marker-start CSS 屬性指向一個標記,該標記將繪製在元素路徑的第一個頂點,即其起始頂點。該標記必須已使用 SVG <marker> 元素定義,並且只能透過 <url> 值引用。此 CSS 屬性的值會覆蓋 SVG 中 marker-start 屬性的任何值。

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

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

語法

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

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

none

這意味著元素的路徑的第一個頂點不會繪製任何標記。

<marker-ref>

一個 <url>,指向由 SVG <marker> 元素定義的標記,該標記將繪製在元素路徑的第一個頂點。如果 URL 引用無效,則路徑的第一個頂點不會繪製任何標記。

正式定義

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

正式語法

marker-start = 
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-start: url("#triangle");
}

規範

規範
Scalable Vector Graphics (SVG) 2
# MarkerStartProperty

瀏覽器相容性

另見