menu
menu

表示しているブラウザの高さを取得してCSSのheightに指定 | Webデザインラボ

キーワード検索

12月のアクセストップ10

  1. ( 2↑) CSSだけでドロップダウンメニュー
  2. ( 1↓) スマホサイトの作成・基本編
  3. ( 3-) CSSだけでサイズ可変・スマホ対応のアコーディオン
  4. ( 4-) HTML5・ページ作成の基本
  5. ( 7↑) 表示しているブラウザの高さを取得してCSSのheightに指定
  6. ( 5↓) jQueryでドロップダウンメニュー
  7. (10↑) CSSだけでブロック要素の表示非表示(トグルボタン)
  8. ( 6↓) スマホ・タブレット・PCの振り分けいろいろ
  9. ( 8↓) Windows 10にApache2.4 VC11をインストール
  10. ( -↑) jQueryで日時を表示【実践でjQuery入門】
  • facebook10
  • はてなブックマーク8
  • Google+2
  • Pocket0
  • Twitter0

表示しているブラウザの高さを取得してCSSのheightに指定

  • Labs

jQuery

こんにちは(・∀・)@webdlabです。

今日は4年に一度の2月29日ですが、いかがお過ごしでしょうか。もうすぐオリンピックです、楽しみですね。

さて、本題に戻りますが、画面の表示サイズにあわせて横幅や高さを指定したい時があると思います。横幅はwidth:100%でいいのですが、高さはデバイスの画面解像度やブラウザの表示サイズによって変わってくることがあります。通常は特に問題ないのですが、異なる画面サイズでもパララックスなど一つのセクションを画面にピッタリ表示したい場合はどうしたらよいのか…


jQueryで取得した高さをCSSのheightに指定

jQueryで表示画面サイズを取得してCSSのheightに取得した高さを指定します。


<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

$(window).load(function() {
//画面高さ取得
h = $(window).height();
$("#contents #main article").css("min-height", h + "px");
});
$(window).resize(function() {
//画面リサイズ時の高さ取得
h = $(window).height();
$("#contents #main article").css("min-height", h + "px");
});

このとき、CSSへの指定はheightにではなくmin-heightに指定するのがポイントです。そうすることでコンテンツ量が画面サイズより大きい場合、コンテンツの長さに応じた高さを表示してくれます。

その他、高さを指定したい要素のCSSをheight:100%にする方法もあります。この場合その要素の親要素の高さも100%にする必要があります。以前フルフラッシュサイトなどでSWFファイルを表示するときなどでお馴染みだと思います。他にもCSSの単位でvwvhvminvmaxなどがあり、それらを使ってCSSの高さを指定することもできます。height:100px → height: 100vhなどなど。こちらは%と違い親要素の高さと紐づけられることはありません。ですが、IEは9以上が対応なのでもうしばらくは使えないですね。

vwviewport widthviewportの幅の割合
vhviewport heightviewportの高さの割合
vminviewport minimumviewportの幅と高さの値が小さい方の割合
vmaxviewport maxviewportの幅と高さの値が大きい方の割合

関連リンク

jQueryでパララックスエフェクトなレイアウト
CSSでパララックスエフェクトなレイアウト

  • カテゴリー:Labs
  • facebook10
  • はてなブックマーク8
  • Google+2
  • Pocket0
  • Twitter0