回答編集履歴
2
誤解部分を修正
answer
CHANGED
@@ -1,20 +1,22 @@
|
|
1
1
|
こののHTMLだと1箇所しか使えないですが、大丈夫でしょうか?
|
2
2
|
また、今回の仕様だと、:afterのhoverで表示させることは難しいと思います。
|
3
|
-
(span要素の下にspan:afterが存在していますので、
|
4
|
-
マウスがspan:afterに反応していないと認識されるからです。
|
5
|
-
:afterをhoverして色を変えたい、などなら可能です)
|
6
3
|
|
4
|
+
疑似要素は特殊なものなので、「#disp-tipが後ろにある」とは言えません。
|
5
|
+
そのため、隣接セレクタなどが使用できません。
|
6
|
+
(実際のHTMLのソースコード上で、後ろにある・隣にある状態ならセレクタが効きます)
|
7
|
+
(:afterをhoverして色を変えたい、などなら可能です)
|
8
|
+
|
7
9
|
そのため、一番簡単で素直なやり方はspan:hoverにすることです。
|
8
10
|
```CSS
|
9
11
|
~略~
|
10
12
|
|
11
|
-
/* ホバーでツーチップ表示。次の要素なので隣接セレクタ+使用 */
|
13
|
+
/* ホバーでツーチップ表示。次の要素なので隣接セレクタ+使用。~でもいけると思います */
|
12
14
|
div span:nth-child(1):hover + #disp-tip {
|
13
15
|
display: block;
|
14
16
|
}
|
15
17
|
```
|
16
18
|
|
17
|
-
複数回使いたい・afterで実装したいなら、
|
19
|
+
複数回使いたい・:afterで実装したいなら、
|
18
20
|
他の方法(classにしたりjQueryを使ったり)になります。
|
19
21
|
|
20
22
|
解決できれば幸いです。
|
1
おかしな部分があったので修正しました
answer
CHANGED
@@ -1,27 +1,14 @@
|
|
1
1
|
こののHTMLだと1箇所しか使えないですが、大丈夫でしょうか?
|
2
2
|
また、今回の仕様だと、:afterのhoverで表示させることは難しいと思います。
|
3
3
|
(span要素の下にspan:afterが存在していますので、
|
4
|
-
マウスがspan:afterに反応していないと認識されるからです
|
4
|
+
マウスがspan:afterに反応していないと認識されるからです。
|
5
|
+
:afterをhoverして色を変えたい、などなら可能です)
|
5
6
|
|
6
|
-
|
7
|
+
そのため、一番簡単で素直なやり方はspan:hoverにすることです。
|
7
8
|
```CSS
|
8
|
-
/* 擬似要素を使わずにアイコン
|
9
|
-
(widthとheightが必須のためafterで指定する意味がない) */
|
10
|
-
div span:nth-child(1){
|
11
|
-
maxWidth: 450;
|
12
|
-
width: 35px;
|
13
|
-
height: 22px;
|
14
|
-
display:inline-block;
|
15
|
-
background-image: url(/img/test.png);
|
16
|
-
background-repeat: no-repeat;
|
17
|
-
background-size: 22px;
|
18
|
-
}
|
19
|
-
/* 擬似要素を使うなら画像だけの指定。
|
20
|
-
しかもpositionもabsoluteで指定しなければいけません */
|
21
|
-
|
22
9
|
~略~
|
23
10
|
|
24
|
-
/*
|
11
|
+
/* ホバーでツーチップ表示。次の要素なので隣接セレクタ+使用 */
|
25
12
|
div span:nth-child(1):hover + #disp-tip {
|
26
13
|
display: block;
|
27
14
|
}
|