menu
menu

キーワード検索

 

前月(8月)の人気記事トップ10

  1. ( 1-) 【CSS Tips】CSSだけでドロップダウンメニュー
  2. ( 2-) 【CSS Tips】CSSだけでサイズ可変・スマホ対応のアコーディオン
  3. ( 3-) 【HTML5 Tips】スマホサイトの作成・基本編
  4. ( 4-) 【CSS Tips】CSSだけでブロック要素の表示非表示(トグルボタン)
  5. ( 5-) 【実践でjQuery入門】jQueryで日時を表示
  6. ( 7↑) 【制作Tips】スマホサイト向け横にスクロールするナビゲーション
  7. ( 6↓) 【JavaScript Tips】表示しているブラウザの高さを取得してCSSのheightに指定
  8. ( -↑) 【Mac Tips】MacにInkscapeをインストール
  9. ( 9-) 【MySQL】Windows 10にMySQLをインストール
  10. ( 8↓) 【HTML5】HTML5・ページ作成の基本

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

  • Labs

jQuery

こんにちは(・∀・)

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

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

CSSで要素の高さ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の高さを指定することもできます。「1vh = 1%」で、height: 100vh → height: 100%となります。こちらは%と違い親要素の高さと紐づけられることはありません。IEは9以上の対応となります。

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

関連リンク

CSSで要素の高さ100%を指定する方法
jQueryでパララックスエフェクトなレイアウト
CSSでパララックスエフェクトなレイアウト

  • カテゴリー:Labs