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-linecap
は CSS のプロパティで、SVG 要素の閉じていないストロークの開いたサブパスの終端に使用される形状を定義します。指定された場合、要素の stroke-linecap
属性を上書きします。
このプロパティは、閉じていないストロークやテキストコンテンツ要素を持つ可能性のあるあらゆる SVG 図形(完全な一覧は stroke-linecap
を参照)に適用されますが、継承プロパティであるため、<g>
などの要素に適用された場合、子孫要素のストロークにも意図した効果が及びます。
構文
/* キーワード値 */
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;
値
公式定義
形式文法
stroke-linecap =
butt |
round |
square
例
>線端形状
この例は、プロパティの 3 つのキーワード値を示しています。
HTML
まず薄い灰色の矩形を配置します。次に、グループ内で 3 つのパスを定義します。これらはすべて矩形の幅とまったく同じ長さで、矩形の左端から始まります。すべて dodgerblue
のストローク(幅 7)に設定されています。
<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 を介して各パスに異なる線端形状スタイルを適用します。
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> |
ブラウザーの互換性
Loading…