目次
解決策
結論
ホームページ ウェブフロントエンド htmlチュートリアル フッターを一番下に維持する最善の方法を教えてください_html/css_WEB-ITnose

フッターを一番下に維持する最善の方法を教えてください_html/css_WEB-ITnose

Jun 21, 2016 am 08:50 AM

原文: Quick Tip: The Best Way To Make Sticky Footers

Web ページをレイアウトしているときに、次のような状況に遭遇することがあります。

この問題の原因は、ページのコンテンツが小さすぎてコンテンツ領域を拡張できず、フッターの下に大きな空白スペースが残ってしまうためです。

この記事では、フッターが常にページの下部に表示されるようにする最新の方法を紹介します。

解決策

この問題を解決する最良の方法は、CSS3 によって提供され、適応可能なレイアウトを構築するように設計された高度なレイアウト モデルであるフレックスボックスを使用することです。フレックスボックスにまだ慣れていない場合は、記事の最後にフレックスボックスの理解に役立つ参考資料のリンクがいくつかあります。

デモ ページにはヘッダー、メイン コンテンツ領域、フッターが必要です。以下はページの HTML です。

<body>    <header>...</header>    <section class="main-content">...</section>    <footer>...</footer></body>
ログイン後にコピー

の順です。フレックス モードを有効にするには、本文の表示属性を flex に設定し、次に方向属性を列 (デフォルトは行、つまり水平レイアウト) に設定します。また、html 要素と body 要素の高さを 100% に設定して、画面全体に収まるようにします。

html{    height: 100%;}body{    display: flex;    flex-direction: column;    height: 100%;}
ログイン後にコピー

次に、各領域が占めるページ領域を調整する必要があります。これは、実際には 3 つの属性を含む flex 属性によって実現します。

  • flex-grow: 同じコンテナ内の割り当て可能な領域に対する要素の割り当て率と拡張率
  • flex-shrink: 領域が不十分な場合、要素の収縮率
  • flex-basis: 要素の弾性ベース値

ヘッダーとフッターが占有すべきスペースのみを占有し、残りはすべて占有されることを望みます。メインコンテンツ領域にスペースが与えられます

header{   /* 我们希望 header 采用固定的高度,只占用必须的空间 */   /* 0 flex-grow, 0 flex-shrink, auto flex-basis */   flex: 0 0 auto;}.main-content{   /* 将 flex-grow 设置为1,该元素会占用所有的可使用空间 而其他元素该属性值为0,因此不会得到多余的空间*/   /* 1 flex-grow, 0 flex-shrink, auto flex-basis */   flex: 1 0 auto;}footer{   /* 和 header 一样,footer 也采用固定高度*/   /* 0 flex-grow, 0 flex-shrink, auto flex-basis */   flex: 0 0 auto;}
ログイン後にコピー

最終的な効果は以下のようになります。中央のピンク色のボタンをクリックしてメインコンテンツを変更すると、フッターが常にページの下部に表示されます。

デモ ページのアドレス: http://demo.tutorialzine.com/2016/03/quick-tip-the-best-way-to-make-sticky-footers/ (を参照)効果を覆す必要があるかもしれません)

結論

あなたが言ったように、レイアウトを最初から構築する場合、flexbox はあなたの右腕のアシスタントになります。ごく一部の例外を除いて、すべての主要なブラウザはフレックスボックスをサポートしています。IE に関しては、IE9 以降のバージョンがサポートされています。

フレックスボックス レイアウト モデルを学習するための優れたチュートリアルとチートシートをいくつか紹介します

  • CSS-Trick のフレックス ボックス クイック ガイド
  • クールなフレックスボックス テクノロジーの提供に特化した Web サイトウェブサイト: Flexbox によって解決
  • 5 分間の対話型チュートリアル
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

&lt; Progress&gt;の目的は何ですか 要素? &lt; Progress&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:34 PM

この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

&lt; datalist&gt;の目的は何ですか 要素? &lt; datalist&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:33 PM

この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

&lt; meter&gt;の目的は何ですか 要素? &lt; meter&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:35 PM

この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? Mar 20, 2025 pm 05:56 PM

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

&lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? &lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? Mar 20, 2025 pm 06:05 PM

この記事では、&lt; iframe&gt;外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

HTMLは初心者のために簡単に学ぶことができますか? HTMLは初心者のために簡単に学ぶことができますか? Apr 07, 2025 am 12:11 AM

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用​​できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

HTML、CSS、およびJavaScriptの役割:コアの責任 HTML、CSS、およびJavaScriptの役割:コアの責任 Apr 08, 2025 pm 07:05 PM

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

HTMLでの開始タグの例は何ですか? HTMLでの開始タグの例は何ですか? Apr 06, 2025 am 12:04 AM

Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。

See all articles