記事公開日

iPhone・Androidの高さ100vhがはみ出る問題(スマホだけに適用)

お客さん

CSSで背景画像を画面いっぱいに広げようとしたの。

そしたら、iPhoneで見たときに背景画面が下にはみ出てしまってて・・・

高さを100vhにしているけど、おそらくiPhoneのナビゲーションの高さ分がはみ出てしまっている感じ。

どうしたらいい?

隊員1号

jQueryで、ナビゲーション分の高さを除いた値を取得する方法がオススメです。

$(‘クラス・ID名’).css(‘height’,$(window).height());

なお、スマホ以外に影響が出ないようメディアクエリで振り分けておくと安全です。

<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script>
$(function(){

 <!-- メディアクエリ(スマホ) -->
 if (window.matchMedia("(max-width: 960px)").matches) {

  <!-- iPhone・Android用に画面の高さを取得 -->
  $('.loader,header,div.slide_img').css('height',$(window).height());

 });

});
</script>
</head>
<html>

この場合、

  • <div class=”loader”></div>
  • <header></header>
  • <div class=”slide”></div>

複数の要素に画面ぴったりの高さが適用されます。

この記事のURLをコピー

メールアドレスは公開されませんのでご安心ください。また、* が付いている欄は必須項目となります。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。

関連情報

運営者プロフィール
運営者のプロフィール画像
隊員1号

IT系フリーランスとして10年の経験を持つレスキュー隊。HTML・CSS・JS・PHPなど幅広いスキルを持つ。

詳しいプロフィール