diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
commit | 33058f2b292b3a581333bdfb21b8f671898c5060 (patch) | |
tree | 51c3e392513ec574331b2d3f85c394445ea803c6 /files/ja/web/css/pointer-events/index.html | |
parent | 8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff) | |
download | translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2 translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip |
initial commit
Diffstat (limited to 'files/ja/web/css/pointer-events/index.html')
-rw-r--r-- | files/ja/web/css/pointer-events/index.html | 164 |
1 files changed, 164 insertions, 0 deletions
diff --git a/files/ja/web/css/pointer-events/index.html b/files/ja/web/css/pointer-events/index.html new file mode 100644 index 0000000000..805d07dd34 --- /dev/null +++ b/files/ja/web/css/pointer-events/index.html @@ -0,0 +1,164 @@ +--- +title: pointer-events +slug: Web/CSS/pointer-events +tags: + - CSS + - CSS Property + - CSS プロパティ + - Reference + - SVG + - pointer-events + - 'recipe:css-property' +translation_of: Web/CSS/pointer-events +--- +<div>{{CSSRef}}</div> + +<p><strong><code>pointer-events</code></strong> は <a href="/ja/docs/Web/CSS">CSS</a> のプロパティで、特定のグラフィック要素がポインターイベントの<a href="/ja/docs/Web/API/Event/target">対象</a>になる可能性のある環境 (存在する場合) を設定します。</p> + +<div>{{EmbedInteractiveExample("pages/css/pointer-events.html")}}</div> + +<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="brush: css no-line-numbers notranslate">/* キーワード値 */ +pointer-events: auto; +pointer-events: none; +pointer-events: visiblePainted; /* SVG のみ */ +pointer-events: visibleFill; /* SVG のみ */ +pointer-events: visibleStroke; /* SVG のみ */ +pointer-events: visible; /* SVG のみ */ +pointer-events: painted; /* SVG のみ */ +pointer-events: fill; /* SVG のみ */ +pointer-events: stroke; /* SVG のみ */ +pointer-events: all; /* SVG のみ */ + +/* グローバル値 */ +pointer-events: inherit; +pointer-events: initial; +pointer-events: unset; +</pre> + +<p><code>pointer-events</code> プロパティは、以下の値の一覧から選択した単一のキーワードとして指定します。</p> + +<h3 id="Values" name="Values">値</h3> + +<dl> + <dt><code>auto</code></dt> + <dd>要素は、 <code>pointer-events</code> プロパティが指定されていないときと同様にふるまいます。SVGコンテンツ内では <code>visiblePainted</code> を指定したときと同じ効果になります。</dd> + <dt><code>none</code></dt> + <dd>要素がポインターイベントの<a href="/ja/docs/Web/API/Event/target">対象</a>になることはありません。しかし、子孫要素が <code>pointer-events</code> の別の値をセットされていた場合は、その子孫要素自体はポインターイベントのターゲットとなりえます。その場合、ポインターイベントはイベントキャプチャ/<a href="/ja/docs/Web/API/Event/bubbles">バブリング</a>の過程で必要に応じて親要素のイベントリスナーをトリガーします。</dd> +</dl> + +<h4 id="SVG_only" name="SVG_only">SVG のみ(HTML では実験的)</h4> + +<dl> + <dt><code>visiblePainted</code></dt> + <dd>SVG の場合のみ (HTML では実験的) の値です。要素の <code>visibility</code> プロパティに <code>visible</code> が設定されていて、かつ、例えば <code>fill</code> プロパティに <code>none</code> 以外の値が設定されている時の塗り (<code>fill</code>)、もしくは <code>stroke</code> プロパティが <code>none</code> 以外の時の線 (<code>stroke</code>) の上にマウスカーソルがある場合のみ、要素がポインターイベントのターゲットになりえます。</dd> + <dt><code>visibleFill</code></dt> + <dd>SVG の場合のみの値です。 <code>visibility</code> プロパティが <code>visible</code> にセットされていて、塗り (<code>fill</code>) の上にマウスカーソルがある場合にのみ、要素がポインターイベントのターゲットになりえます。 <code>fill</code> プロパティの値でイベント処理が変化することはありません。</dd> + <dt><code>visibleStroke</code></dt> + <dd>SVG の場合のみの値です。 <code>visibility</code> プロパティが <code>visible</code> にセットされていて、線 (<code>stroke</code>) の上にマウスカーソルがある場合にのみ、要素がポインターイベントのターゲットになりえます。 <code>stroke</code> プロパティの値でイベント処理が変化することはありません。</dd> + <dt><code>visible</code></dt> + <dd>SVG の場合のみ (HTML では実験的) の値です。 <code>visibility</code> プロパティが <code>visible</code> にセットされていて、塗り (<code>fill</code>) か線 (<code>stroke</code>) の上にマウスカーソルがある場合にのみ要素がポインターイベントのターゲットになりえます。 <code>fill</code> プロパティや <code>stroke</code> プロパティの値でイベント処理が変化することはありません。</dd> + <dt><code>painted</code></dt> + <dd>SVG の場合のみ (HTML では実験的) の値です。 <code>fill</code> プロパティが <code>none</code> 以外にセットされている塗りの(すなわち <code>fill</code> )要素、もしくは <code>stroke</code> のプロパティが <code>none</code> 以外にセットされている線の(すなわち <code>stroke</code> )要素の上にマウスカーソルがいる場合にのみ要素がポインターイベントのターゲットになりえます。 <code>visibility</code> プロパティの値はイベントプロセスに影響を与えません。</dd> + <dt><code>fill</code></dt> + <dd>SVGの場合のみの値です。塗り (<code>fill</code>) の上にマウスカーソルがある場合にのみ要素がポインターイベントのターゲットになりえます。 <code>fill</code> プロパティや <code>visibility</code> プロパティの値でイベント処理が変化することはありません。</dd> + <dt><code>stroke</code></dt> + <dd>SVGの場合のみの値です。線 (<code>stroke</code>) の上にマウスカーソルがある場合にのみ要素がポインターイベントのターゲットになりえます。 <code>stroke</code> プロパティや <code>visibility</code> の値でイベント処理が変化することはありません。</dd> + <dt><code>all</code></dt> + <dd>SVG の場合のみ (HTML では実験的) の値です。塗り (<code>fill</code>) と線 (<code>stroke</code>) の上にマウスカーソルがある場合にのみ要素がポインターイベントのターゲットになりえます。 <code>fill</code> や <code>stroke</code> や <code>visibility</code> の値でイベント処理が変化することはありません。</dd> +</dl> + +<h2 id="Description" name="Description">解説</h2> + +<p>このプロパティが指定されないと、 <code>visiblePainted</code> の値の同じ性質が SVG コンテンツに適用されます。</p> + +<p>値を <code>none</code> に設定すると、要素がポインターイベントのターゲットではないことを示すのに加え、ポインターイベントが要素を「通過」して、代わりに要素の「下」をターゲットにすることを指示します。</p> + +<p><code>pointer-events</code> を使用して要素がポインターイベントのターゲットとなることを防止するということは、必ずしもその要素のイベントリスナーが起動されない、することができないという意味ではありません。仮に要素の子要素のひとつで、 <code>pointer-events</code> がポインターイベントのターゲットになるよう明示的に設定されていた場合、その子要素をターゲットにするどのようなイベントも親要素を通過し、その際に親要素に設定されたイベントリスナーを起動します。もちろん、これらの子要素に触れず親要素にだけ触れるマウスの動きは、子要素と親要素のどちらにも捕まえられることはありません (親要素を「通過」し、その下にあるものがターゲットになります)。</p> + +<p><code>pointer-events: none</code> を持った要素は、 <kbd>Tab</kbd> キーを使用したキーボードナビゲーションによってフォーカスを受け取ります。</p> + +<p>私たちは HTML で、どのような要素が、どんな時に、ポインターイベントを「捕まえる」かを (<code>auto</code> と <code>none</code> だけではなく) より細かく制御できるようにしたいと思っています。今後の HTML で <code>pointer-events</code> をどのように拡張すべきかを決めるうえで、このプロパティで実現したい具体例があれば、<a class="link-https" href="https://wiki.mozilla.org/SVG:pointer-events">この wiki ページ</a>の Use Cases セクションに記入してください (きれいに整理してからなどと気にしなくても大丈夫です)。</p> + +<h2 id="Formal_definition" name="Formal_definition">公式定義</h2> + +<p>{{cssinfo}}</p> + +<h2 id="Formal_syntax" name="Formal_syntax">形式文法</h2> + +<pre class="syntaxbox notranslate">{{csssyntax}}</pre> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Basic_example" name="Basic_example">基本的な例</h3> + +<p>この例では、すべての画像のポインターイベント (クリック、ドラッグ、ホバー等) を無効にします。</p> + +<pre class="brush:css notranslate">img { + pointer-events: none; +}</pre> + +<h3 id="Disabling_links" name="Disabling_links">リンクの無効化</h3> + +<p>この例では、 http://example.com へのリンクのポインターイベントを無効にします。</p> + +<h4 id="HTML">HTML</h4> + +<pre class="brush:html notranslate"><ul> + <li><a href="https://developer.mozilla.org">MDN</a></li> + <li><a href="http://example.com">example.com</a></li> +</ul></pre> + +<h4 id="CSS">CSS</h4> + +<pre class="brush:css notranslate">a[href="http://example.com"] { + pointer-events: none; +}</pre> + +<h4 id="Result" name="Result">結果</h4> + +<div>{{EmbedLiveSample("Disabling_links", "500", "100")}}</div> + +<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', 'interact.html#PointerEventsProperty', 'pointer-events')}}</td> + <td>{{Spec2('SVG2')}}</td> + <td></td> + </tr> + <tr> + <td>{{SpecName('SVG1.1', 'interact.html#PointerEventsProperty', 'pointer-events')}}</td> + <td>{{Spec2('SVG1.1')}}</td> + <td>初回定義</td> + </tr> + </tbody> +</table> + +<p>このプロパティは HTML 要素に対する拡張であり、 CSS Basic User Interface Module Level 3 の草稿に記述がありますが、現在では同標準の <a href="http://wiki.csswg.org/spec/css4-ui#pointer-events">Level 4</a> に組み込まれています。</p> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("css.properties.pointer-events")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>SVG 属性 {{SVGAttr("pointer-events")}}</li> + <li>SVG 属性 {{SVGAttr("visibility")}}</li> + <li>(X)HTML で使うことを踏まえた <a class="external" href="http://webkit.org/specs/PointerEventsProperty.html">WebKit の PointerEventsProperty の仕様書</a></li> + <li>{{cssxref("user-select")}} - ユーザーがテキストを選択できるかどうかの制御</li> +</ul> |