marker
marker CSS 屬性指向一個標記,該標記將繪製在元素路徑的第一個、中間和最後一個頂點上,即所有頂點上。該標記必須使用 SVG <marker> 元素定義,並且只能透過 <url> 值引用。CSS 屬性的值會覆蓋 SVG 中 marker-start、marker 和 marker-end 屬性的任何值。
對於許多支援標記的形狀,第一個和最後一個頂點位於同一位置:例如,<rect> 的左上角。在這種形狀中,如果定義了第一個和最後一個標記,則會在該點繪製兩個標記,儘管它們可能指向不同的方向。
對於中間頂點,每個標記的指向方向定義為前一個路徑段末端的方向與後一個路徑段起點的方向之間的一半。這可以認為是兩個路徑方向定義的向量的叉積。
注意: marker 屬性僅對可以使用 SVG 標記的元素有效。請參閱 marker-start 獲取列表。
語法
css
marker: none;
marker: url("markers.svg#arrow");
/* Global values */
marker: inherit;
marker: initial;
marker: revert;
marker: revert-layer;
marker: unset;
值
none-
這意味著不會在元素路徑的每個頂點處繪製標記。
<marker-ref>-
一個
<url>,引用由 SVG<marker>元素定義的標記,該標記將繪製在元素路徑的每個頂點處。如果 URL 引用無效,則不會在路徑的頂點處繪製標記。
正式定義
| 初始值 | 作為簡寫中的每個屬性
|
|---|---|
| 應用於 | svg 中的 <circle>、<ellipse>、<line>、<path>、<polygon>、<polyline> 和 <rect> 元素 |
| 繼承性 | 是 |
| 計算值 | 同指定值 |
| 動畫型別 | 離散 |
正式語法
marker =
none |
<marker-ref>
<marker-ref> =
<url>
示例
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: url("#triangle");
}
規範
| 規範 |
|---|
| Scalable Vector Graphics (SVG) 2 # MarkerShorthand |
瀏覽器相容性
載入中…
另見
marker-startmarker-end- SVG
<marker>元素