回答編集履歴

1

誤回答の修正

2020/01/23 04:27

投稿

makosankibu
makosankibu

スコア289

test CHANGED
@@ -1,6 +1,30 @@
1
1
  `.hover`に指定してある`%`は親要素の大きさを参照するので不適当です。
2
2
 
3
- 画面幅いっぱいに表示したい時は`vw`を指定してください
3
+ 画面幅いっぱいに表示したい時は~~`vw`~~を指定してください
4
+
5
+ 追記~~
6
+
7
+ コメントでkei344さんから指摘がある通り、`vw`はスクロールバーの幅を含んだ幅です。
8
+
9
+ 縦スクロールが発生する画面では不要な横スクロールが生まれてしまいます。
10
+
11
+ そのため、モバイル画面等のスクロールバーを考慮しなくてよい画面にのみ使うかスクロールバーの分を`calc`で引くなど、工夫した実装が必要になります。
12
+
13
+ この場合は、kei344さんがおっしゃっているように
14
+
15
+ ```css
16
+
17
+ right:0;
18
+
19
+ left:0;
20
+
21
+ ```
22
+
23
+ を指定したほうが良いです。
24
+
25
+
26
+
27
+ ~~ 追記終わり
4
28
 
5
29
  そして、`.hover`に`position:absolute;`を指定していますが、`.hover-item`に対してではなくて`nav-ul`に対して位置を指定したいはずなので、`.hover-item`からは`position`の指定を外しましょう
6
30
 
@@ -12,9 +36,11 @@
12
36
 
13
37
  .hover {
14
38
 
15
- width: 100vw; // %でなくvwにする
39
+ // width: 100vw; // %でなくvwにする
16
40
 
17
41
  left: 0;
42
+
43
+ right: 0;
18
44
 
19
45
  top: 100%;
20
46