marker-mid

Baseline 已廣泛支援

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

marker-mid CSS 屬性指向將在元素路徑的中間頂點上繪製的標記;也就是說,在其起始頂點和結束頂點之間的每個頂點上繪製。該標記必須使用 SVG <marker> 元素定義,並且只能透過 <url> 值引用。此 CSS 屬性的值會覆蓋 SVG 中 marker-mid 屬性的任何值。

每個標記指向的方向定義為前一個路徑段末端的方向與後一個路徑段起始方向之間的一半方向。這可以認為是兩個路徑方向定義的向量的叉積。

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

語法

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

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

none

這意味著在元素路徑的每個中間頂點處都不會繪製標記。

<marker-ref>

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

正式定義

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

正式語法

marker-mid = 
none |
<marker-ref>

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

示例

html
<svg viewBox="0 0 240 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 130,10 150,10 170,20 170,100 120,100" />
</svg>
css
polyline#test {
  marker-mid: url("#triangle");
}

規範

規範
Scalable Vector Graphics (SVG) 2
# MarkerMidProperty

瀏覽器相容性

另見