aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/css/paint-order/index.html
blob: c6f8703866c63da730154231dab1df68256070a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
---
title: paint-order
slug: Web/CSS/paint-order
tags:
  - CSS
  - Experimental
  - Reference
  - SVG
  - ウェブ
  - 描画順序
translation_of: Web/CSS/paint-order
---
<div>{{CSSRef}}{{SeeCompatTable}}</div>

<p> <strong><code>paint-order</code></strong><a href="/ja/docs/Web/CSS">CSS</a> のプロパティで、テキストコンテンツやシェイプが描画されるときの塗りつぶしと輪郭 (およびマーカーの描画) の順序を制御することができます。</p>

<h2 id="Syntax" name="Syntax">構文</h2>

<pre class="brush: css no-line-numbers">/* 通常 */
paint-order: normal;

/* 単一の値 */
paint-order: stroke; /* 最初に輪郭、それから塗りつぶしとマーカーを描画 */
paint-order: markers; /* 最初にマーカー、それから塗りつぶしと輪郭 */

/* 複数の値 */
paint-order: stroke fill; /* 最初に輪郭を、それから塗りつぶしを、そしてマーカーを描く */
paint-order: markers stroke fill; /* マーカー、輪郭、塗りつぶしの順に描く */
</pre>

<p>値が指定されない場合、既定の描画順序は <code>fill</code>, <code>stroke</code>, <code>markers</code> です。</p>

<p>一つの値で指定されると、それが最初に描画され、続いて他の二つが互いの既定の順序で描画されます。二つの値が指定されると、指定された順序で描画を行い、続いて指定されなかった一つが描画されます。</p>

<div class="note">
<p><strong>メモ</strong>: このプロパティの場合、マーカーは <code>marker-*</code> プロパティ (例えば <code><a href="/ja/docs/Web/SVG/Attribute/marker-start">marker-start</a></code>) および <code><a href="/ja/docs/Web/SVG/Element/marker">&lt;marker&gt;</a></code> 要素を使用した SVG 図形を描く場合のみ適用されます。 HTML テキストには適用されませんので、その場合は <code>stroke</code> および <code>fill</code> の順序のみが指定できます。</p>
</div>

<h3 id="Values" name="Values"></h3>

<dl>
 <dt><code>normal</code></dt>
 <dd>様々なアイテムを通常の描画順で描画します。</dd>
 <dt><code>stroke</code> (輪郭),<br>
 <code>fill</code> (塗りつぶし),<br>
 <code>markers</code> (マーカー)</dt>
 <dd>これらの一部またはすべての値を用いて、描画したい順序を指定します。</dd>
</dl>

<h3 id="Formal_syntax" name="Formal_syntax">形式文法</h3>

{{CSSSyntax}}

<h2 id="Examples" name="Examples"></h2>

<h3 id="SVG">SVG</h3>

<pre class="brush: html">&lt;svg xmlns="http://www.w3.org/2000/svg" width="400" height="200"&gt;
  &lt;text x="10" y="75"&gt;stroke in front&lt;/text&gt;
  &lt;text x="10" y="150" class="stroke-behind"&gt;stroke behind&lt;/text&gt;
&lt;/svg&gt;</pre>

<h3 id="CSS">CSS</h3>

<pre class="brush: css">text {
  font-family: sans-serif;
  font-size: 50px;
  font-weight: bold;
  fill: black;
  stroke: red;
  stroke-width: 4px;
}

.stroke-behind {
  paint-order: stroke fill;
}</pre>

<h3 id="Result" name="Result">結果</h3>

<p>{{EmbedLiveSample("Examples", "100%", 165)}}</p>

<h2 id="Specifications" name="Specifications">仕様書</h2>

<table class="standard-table">
 <thead>
  <tr>
   <th scope="col">仕様書</th>
   <th scope="col">状態</th>
   <th scope="col">備考</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td>{{SpecName("SVG2", "painting.html#PaintOrder", "paint-order")}}</td>
   <td>{{Spec2("SVG2")}}</td>
   <td>初回定義</td>
  </tr>
 </tbody>
</table>

<p>{{CSSInfo}}</p>

<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2>

<p>{{Compat("css.properties.paint-order")}}</p>