2016-10-28 9 views
0

私は自分のウェブサイトで多くのvhを使用しました。モバイルブラウザでは、ページを下にスクロールするとブラウザのアドレスバーが消えてしまいます。クロム)モバイルデバイスでスクロールするときにビューポートの高さがちらつく

これは私のページのすべてを発生したとき、私の問題があるが原因アドレスバーが私のドキュメントの高さになります

は、任意の回避策このため、このような最初の使用であなたの現在のデバイスのVHの計算などがあることの違いに変更されますjQueryを使用して、すべてをvhではなくpxに変換しますか?

または任意の他の提案

おかげ

答えて

1
私は数日前にこれと同じ問題で戦ったし、私が思いついた解決策は、このようなものだった

$(window).on('load', function() { 
    var $vhElement = $("#vhElement"); //Your element with 100vh 
    var height = $vhElement.height(); //Get rendered height in px 
    $vhElement.css("height", height + "px"); //Override vh height with px height 
}); 

お持ちの場合これを必要とする複数の要素は、すべてのクラスに適用して、次のものを使用できます。

$(window).on('load', function() { 
    var $vhElements = $(".vhElement"); //Your elements using vh 
    $vhElements.each(function() { 
     var height = $(this).height(); //Get rendered height in px 
     $(this).css("height", height + "px"); //Override vh height with px height 
    }); 
}); 
+0

私は私のページにあるすべての要素についてこれを書かなければならないのですか?それはあまりグローバルなアプローチではありません:(多分1つまたは2つの要素のためではないかもしれませんが、残念ながら、私のページにはvhを使用する要素がたくさんあります。 – Sohail

+0

クラスをすべての要素vh。 – Santi

+0

を使用してください。これは最適な解決策ではありませんが、今はうまくいくと思います。ありがとう – Sohail

関連する問題