同じ問題が私のストライドから私を奪った。問題を解決するために私はcssの解決策または回避策を見つけられません。
しかし、JQuery(またはほぼJavaScript)を使用できる場合は、解決するために使用できるコードがあります。
var viewportHeight = $(window).height();
var viewportWidth = $(window).width();
$('body,html').css("height",viewportHeight); //if vh used in body/html too
$('.someClass').css("height",viewportHeight*0.12);// or whatever percentage you used in vh
$('#someId').css("width",viewportWidth*0.12);
これは単なる例であり、必要なパーセンテージのjQuery識別子を使用できます。
PD:情報のヒントが1つあります。あなたのhtmlまたは内側の最後にコードを入れてください。$(document).ready(function(){});、レスポンシブデザインが必要な場合はorientationchangeイベント内に配置します。こちらです。
$(window).on("orientationchange",function(event){ window.setTimeout(function(){
var viewportHeight = $(window).height();
var viewportWidth = $(window).width();
$('body,html').css("height",viewportHeight);
$('.someClass').css("height",viewportHeight*0.12);
$('.someClass').css("width",viewportWidth*0.09);
$('#someId').css("height",viewportHeight*0.1);
}}, 450);});
オリエンテーションチェンジを行うデバイスの遅延のため、上記の450msタイマーを設定しました。
私の英語、 歓声のために申し訳ありません
これはなぜ機能しますか? –