質問編集履歴

3

修正

2021/03/22 13:42

投稿

Fujiman
Fujiman

スコア41

test CHANGED
File without changes
test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  ![![イメージ説明](dd83c505195f0e5cadba3c831fc07059.png)
28
28
 
29
- しかしForeFoxは以下のように上下のバーの高さを差し引いた高さ88%高さに調整してきて次のページが見えかけています
29
+ しかしForeFoxは以下のように上下のバーの高さを差し引いた高さを「更に」88%にした高さに調整してきて次のページ(セクション)が見えかけてしまいます
30
30
 
31
31
  ![イメージ説明](12da865caf6f54f7411585d4dbe3a4f6.png)
32
32
 
@@ -36,17 +36,21 @@
36
36
 
37
37
 
38
38
 
39
- バーが出現しているときのユーザー領域の高さは”visualViewport.height”で取得できるとかと聞いたので強制的にjQueryでページのロード時に、heightをその値にセットしてみました。結果はSafariとChromeはあいかわらずぴったりなのですがFireFoxだけは次ページは見えることはなくなったのですが、上下のバーを差し引いた高さよりランディングページが少しだけ(30pxほど)短くなっており、可視領域を埋め尽くせていない部分は白塗り状態です。表示されているランディングページと下のナビバーの間に白帯がある感じです。結局、次のページが見えかけている状態と殆ど変わらないのです。この白い部分の要素が何なのかは検証できていないのですが・・・
39
+ バーが出現しているときのユーザー領域の高さは”visualViewport.height”で取得できるとかと聞いたので強制的にjQueryでページのロード時に、heightをその値にセットしてみました。結果はSafariとChromeはあいかわらずぴったりなのですがFireFoxだけは次ページは見えることはなくなったのですが、上下のバーを差し引いた高さよりランディングページが少しだけ(30pxほど)短くなっており、可視領域を埋め尽くせていない部分は白塗り状態です。表示されているランディングページと下のナビバーの間に白帯がある感じです。結局、次のページ(セクション)が見えかけている状態と殆ど変わらないのです。この白い部分の要素が何なのかは検証できていないのですが・・・
40
40
 
41
41
  ``` JavaScript
42
42
 
43
- $('.head.').css('min-height', visualViewport.height)
43
+ $('#head.').css('min-height', visualViewport.height)
44
44
 
45
45
  ```
46
46
 
47
47
  これはどう解決することができるでしょうか?
48
48
 
49
49
  なお、ブラウザのスニッフィングは禁止されてて使えません
50
+
51
+
52
+
53
+ 色々考えるとやはりFireFoxの挙動が正解と思います。上下に出ているブラウザのバーはユーザーには触ることはできませんから、ViewPortの100%の高さである”100vh”は、画面の高さから上下のバーを高さを引いたものにすべきです。なので、おかしいのはSafariとChromeということになると思います。ただ実際にはこうやって挙動が違うので何かしら対策しないといけないので、有効なものを教えていただきたくお願いいたします。
50
54
 
51
55
 
52
56
 

2

修正

2021/03/22 13:41

投稿

Fujiman
Fujiman

スコア41

test CHANGED
File without changes
test CHANGED
@@ -46,6 +46,8 @@
46
46
 
47
47
  これはどう解決することができるでしょうか?
48
48
 
49
+ なお、ブラウザのスニッフィングは禁止されてて使えません
50
+
49
51
 
50
52
 
51
53
  検証環境

1

修正

2021/03/22 07:31

投稿

Fujiman
Fujiman

スコア41

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  ```CSS
8
8
 
9
- .head {
9
+ #head {
10
10
 
11
11
  height: 100vh;
12
12