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

View in English Always switch to English

stroke-linecap

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2017年4月⁩.

stroke-linecapCSS のプロパティで、SVG 要素の閉じていないストロークの開いたサブパスの終端に使用される形状を定義します。指定された場合、要素の stroke-linecap 属性を上書きします。

このプロパティは、閉じていないストロークやテキストコンテンツ要素を持つ可能性のあるあらゆる SVG 図形(完全な一覧は stroke-linecap を参照)に適用されますが、継承プロパティであるため、<g> などの要素に適用された場合、子孫要素のストロークにも意図した効果が及びます。

構文

css
/* キーワード値 */ stroke-linecap: butt; stroke-linecap: round; stroke-linecap: square; /* グローバル値 */ stroke-linecap: inherit; stroke-linecap: initial; stroke-linecap: revert; stroke-linecap: revert-layer; stroke-linecap: unset; 

butt

各サブパスのストロークがその両端の点を越えて延長されないことを示します。長さがゼロのサブパスでは、パスはまったく描画されません。これがデフォルト値です。

round

各サブパスの終点において、ストロークが半径がストローク幅に等しい半円分延長されることを示します。長さゼロのサブパスでは、ストロークはサブパスの終点を中心とする完全な円となります。

square

各サブパスの終点において、ストロークは幅がストローク幅の半分、高さがストローク幅に等しい矩形で延長されることを示します。長さゼロのサブパスでは、ストロークは幅がストローク幅に等しい正方形で構成され、サブパスの点を中心とします。

公式定義

初期値butt
適用対象<circle>, <ellipse>, <line>, <path>, <polygon>, <polyline>, and <rect> elements in an svg
継承あり
計算値指定通り
アニメーションの種類離散値

形式文法

stroke-linecap = 
butt |
round |
square

線端形状

この例は、プロパティの 3 つのキーワード値を示しています。

HTML

まず薄い灰色の矩形を配置します。次に、グループ内で 3 つのパスを定義します。これらはすべて矩形の幅とまったく同じ長さで、矩形の左端から始まります。すべて dodgerblue のストローク(幅 7)に設定されています。

html
<svg viewBox="0 0 100 50" width="500" height="250"> <rect x="10" y="5" width="80" height="30" fill="#dddddd" /> <g stroke="dodgerblue" stroke-width="7"> <path d="M 10,10 h 80" /> <path d="M 10,20 h 80" /> <path d="M 10,30 h 80" /> </g> </svg> 

CSS

次に、CSS を介して各パスに異なる線端形状スタイルを適用します。

css
path:nth-of-type(1) { stroke-linecap: butt; } path:nth-of-type(2) { stroke-linecap: square; } path:nth-of-type(3) { stroke-linecap: round; } 

結果

最初のパスは butt の線端形状を採用しています。これは基本的に、ストロークがパスの端点(始点と終点の両方)に正確に到達し、それ以上は伸びないことを意味します。 2 番目のパスは square の線端形状です。そのため可視パスはパスの端点を超えて延長され、パスの全長が 87 単位に見えるようになります。これはパス長が 80 単位で、2 つの角形端形状がそれぞれ 3.5 単位の幅を持つためです。3 番目のパスは circle の線端形状です。同様に全長が 87 単位に見えるものの、2 つの線端形状は角形ではなく半円形です。

仕様書

Specification
CSS Fill and Stroke Module Level 3
# stroke-linecap

ブラウザーの互換性

関連情報