CSS marker-start プロパティ
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2017年4月以降、すべてのブラウザーで利用可能です。
marker-start は CSS のプロパティで、要素のパスの最初の頂点、つまり始点に描画されるマーカーを指定します。マーカーは、SVG の <marker> 要素を使用して定義されている必要があり、<url> の値でのみ参照できます。この CSS プロパティの値は、SVG 内の marker-start 属性の値をすべて上書きします。
マーカーに対応する多くの図形では、最初の頂点と最後の頂点が同じ位置になります。例えば、<rect> の左上角などがそうです。このような図形において、最初のマーカーと最後のマーカーの両方が定義されている場合、その点に 2 つのマーカーが描画されますが、それらは同じ方向を向いているとは限りません。
メモ:
marker-start プロパティは、SVG マーカーを使用することができる要素に対してのみ効果があります。対象となる要素の一覧については、marker-start を参照してください。
構文
css
marker-start: none;
marker-start: url("markers.svg#arrow");
/* グローバル値 */
marker-start: inherit;
marker-start: initial;
marker-start: revert;
marker-start: revert-layer;
marker-start: unset;
値
none-
要素のパスの最初の頂点にはマーカーが描画されないことを意味します。
<marker-ref>-
<url>で、SVG の<marker>要素で定義されたマーカーを参照します。このマーカーは、要素のパスの最初の頂点に描画されます。URL 参照が不正な場合、パスの最初の頂点にはマーカーが描画されません。
公式定義
形式文法
marker-start =
none |
<marker-ref>
<marker-ref> =
<url>
例
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> |
ブラウザーの互換性
関連情報
marker-midmarker-endmarker- SVG
marker-start属性