このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

CSS marker-mid プロパティ

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2017年4月以降、すべてのブラウザーで利用可能です。

marker-midCSS のプロパティで、要素のパスの中間の頂点、つまり始点と終点の間のそれぞれの頂点に描画されるマーカーを指定します。マーカーは、SVG の <marker> 要素を使用して定義されている必要があり、<url> の値でのみ参照できます。この CSS プロパティの値は、SVG 内の marker-mid 属性の値をすべて上書きします。

それぞれのマーカーが指す方向は、直前のパス区間の終点の方向と、次のパス区間の始点の方向の中間として定義されます。これは、2 つのパス方向によって定義されるベクトルの外積と考えることができます。

メモ: marker-mid プロパティは、SVG マーカーを使用することができる要素に対してのみ効果があります。対象となる要素の一覧については、marker-mid を参照してください。

構文

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

/* グローバル値 */
marker-mid: inherit;
marker-mid: initial;
marker-mid: revert;
marker-mid: revert-layer;
marker-mid: unset;

none

要素のパスの中間の頂点にはマーカーが描画されないことを意味します。

<marker-ref>

<url> で、SVG の <marker> 要素で定義されたマーカーを参照します。このマーカーは、要素のパスの中間のそれぞれの頂点に描画されます。URL 参照が不正な場合、パスの中間の頂点にはマーカーが描画されません。

公式定義

初期値none
適用対象<circle>, <ellipse>, <line>, <path>, <polygon>, <polyline>, and <rect> elements in an svg
継承あり
計算値指定通り、ただし <url> の値は絶対パスになる
アニメーションの種類離散値

形式文法

marker-mid = 
none |
<marker-ref>

<marker-ref> =
<url>
この構文は CSS Specification による最新の標準を反映しています。すべてのブラウザーがすべての部分を実装しているわけではありません。サポート情報についてはブラウザーの互換性を参照してください。

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

ブラウザーの互換性

関連情報