blob: d6420f0f5b260121f6a6e40e11f13e0ec2649eb1 (
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: ':hover'
slug: 'Web/CSS/:hover'
tags:
- CSS
- Layout
- Reference
- Web
- 疑似クラス
translation_of: 'Web/CSS/:hover'
---
<div>{{CSSRef}}</div>
<p><a href="/ja/docs/Web/CSS">CSS</a> の <strong><code>:hover</code></strong> <a href="/ja/docs/CSS/Pseudo-classes" title="Pseudo-classes">疑似クラス</a>は、ユーザーがポインティングデバイスで要素に反応したものの、アクティブ化する必要がないものを選択します。普通はユーザーがカーソル(マウスポインタ―)で要素の上をホバー(通過)させたときにこの状態になります。</p>
<pre class="brush: css no-line-numbers">/* 「ホバー」状態の <a> 要素を選択します */
a:hover {
color: orange;
}</pre>
<p><code>:hover</code> 疑似クラスによって定義されたスタイルは、少なくとも同等の仕様を持つリンク関連の疑似クラス ({{cssxref(":link")}}、{{cssxref(":visited")}}、 {{cssxref(":active")}})によって上書きされます。適切にリンクにスタイルを適用するには、 <em>LVHA 順</em>: <code>:hover</code> — <code>:visited</code> — <code>:hover</code> — <code>:active</code> で定義されるように、 <code>:link</code> と <code>:visited</code> の後、 <code>:active</code> の前に <code>:hover</code> の規則を置いてください。</p>
<div class="note"><strong>メモ</strong>: <code>:hover</code> 疑似クラスはタッチスクリーンで問題になります。ブラウザ―によっては、 <code>:hover</code> 疑似クラスが全く選択されなかったり、要素をタッチした直後だけ選択されたり、ユーザーがタッチをやめるても選択され続け、他の要素にタッチするまで続いたりします。ウェブの開発者は、ホバー機能が制限されていたり存在しなかったりしても、コンテンツにアクセスできるように考慮してください。</div>
<h2 id="Syntax" name="Syntax">構文</h2>
{{csssyntax}}
<h2 id="Examples" name="Examples">例</h2>
<h3 id="Basic_example" name="Basic_example">基本的な例</h3>
<h4 id="HTML">HTML</h4>
<pre class="brush: html"><a href="#">このリンクの上を通過させてみてください。</a></pre>
<h4 id="CSS">CSS</h4>
<pre class="brush: css">a {
background-color: powderblue;
transition: background-color .5s;
}
a:hover {
background-color: gold;
}</pre>
<h4 id="Result" name="Result">結果</h4>
<p>{{EmbedLiveSample("Basic_example")}}</p>
<h3 id="Image_gallery" name="Image_gallery">画像ギャラリー</h3>
<p><code>:hover</code> 疑似クラスを使用して、サムネイルの上をマウスが通過したときだけフルサイズに画像が表示される画像ギャラリーを作成することができます。実行できるものとして、<a class="internal" href="/@api/deki/files/6247/=css-gallery.zip" title="css-gallery.zip">このデモ</a>を参照してください。</p>
<div class="note"><strong>メモ:</strong> <a class="internal" href="/ja/docs/Web/CSS/%3Achecked"><code>:checked</code></a> 疑似クラスを(隠れたラジオボタンに適用して)使用した同様の効果の例として、 <a class="internal" href="/ja/docs/Web/CSS/:checked">:checked</a> のリファレンスページから取った<a class="internal" href="/@api/deki/files/6268/=css-checked-gallery.zip" title="css-checked-gallery.zip">このデモ</a>も参照してください。</div>
<h2 id="Specifications" name="Specifications"><span>仕様策定状況</span></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('HTML WHATWG', 'scripting.html#selector-hover', ':hover') }}</td>
<td>{{ Spec2('HTML WHATWG') }}</td>
<td> </td>
</tr>
<tr>
<td>{{ SpecName('CSS4 Selectors', '#the-hover-pseudo', ':hover') }}</td>
<td>{{ Spec2('CSS4 Selectors') }}</td>
<td><code>:hover</code> があらゆる疑似要素に適用できるようになった。</td>
</tr>
<tr>
<td>{{ SpecName('CSS3 Selectors', '#the-user-action-pseudo-classes-hover-act', ':hover') }}</td>
<td>{{ Spec2('CSS3 Selectors') }}</td>
<td>目立った変更はなし。</td>
</tr>
<tr>
<td>{{ SpecName('CSS2.1', 'selector.html#dynamic-pseudo-classes', ':hover') }}</td>
<td>{{ Spec2('CSS2.1') }}</td>
<td>初回定義。</td>
</tr>
</tbody>
</table>
<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの対応</h2>
<div>
<div class="hidden">このページの互換性一覧表は構造化データから生成されます。データに協力したいのであれば、 <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div>
<p>{{Compat("css.selectors.hover")}}</p>
</div>
<h2 id="See_also" name="See_also">関連情報</h2>
<ul>
<li><a href="https://code.google.com/p/chromium/issues/detail?id=370155">Chromium bug #370155: Don't make <code>:hover</code> sticky on tap on sites that set a mobile viewport</a></li>
<li><a href="https://code.google.com/p/chromium/issues/detail?id=306581">Chromium bug #306581: Immediately show hover and active states on touch when page isn't scrollable.</a></li>
</ul>
|