本物へのWebフロントエンドエントリ:CSSファイブウェイズフッター上下セットを達成するために

フッター上下セット(スティッキーフッター)は、ページのフッターセクションは、ブラウザウィンドウの下部に常にあるようにすることです。ブラウザで十分限り、ビジュアルの高さ、ページの一番下にプッシュコンテンツとフッターを超えページのコンテンツは、ときに、Webコンテンツは、十分な長さでない場合は、フッターの設定の終わりには、ブラウザウィンドウの下部に残ります。

本物へのWebフロントエンドエントリ:CSSファイブウェイズフッター上下セットを達成するために

図1に示すように、負の外部からコンテンツの底部

非常に不満フッタは高さが効果のその後の起動を超えた場合、ウィンドウの下部に残っている場合、これはより多くの主流の使用であり、最小の高さのコンテンツ部分は、100%までの値からリサイクルされた内容外部の負の底部が達成さ。

<body>
  <div class="wrapper">

      content

    <div class="push"></div>
  </div>
  <footer class="footer"></footer>
</body>
专门建立的学习Q-q-u-n: ⑦⑧④-⑦⑧③-零①② ,分享学习的方法和需要注意的小细节,不停更新最新的教程和学习技巧
(从零基础开始到前端项目实战教程,学习工具,全栈开发学习路线以及规划)

html, body {
  height: 100%;
  margin: 0;
}
.wrapper {
  min-height: 100%;

  /* 等于footer的高度 */
  margin-bottom: -50px;
}
.footer,
.push {
  height: 50px;
}

この方法は、(.pushのような)追加の容器据え付け要素を必要とします

なお、ニーズと非常に友好的ではありません.footer一貫性の負の高さの値、.wrapperマージン・ボトム値。

図2に示すように、外部から負へ戻るフッター

それはコンテナに負のマージン底を使用することができますので、あなたは負のマージントップそれを使用することができますか?もちろん。

親要素の外国含有量を増加させるために、マージンと同じの下部にフッターコンテンツの価値の高さとなるよう。

<body>
  <div class="content">
    <div class="content-inside">
      content
    </div>
  </div>
  <footer class="footer"></footer>
</body>
html, body {
  height: 100%;
  margin: 0;
}
.content {
  min-height: 100%;
}
.content-inside {
  padding: 20px;
  padding-bottom: 50px;
}
.footer {
  height: 50px;
  margin-top: -50px;
}

しかし、この方法では、一緒に余分な不要なHTML要素を追加する必要がある、のようなもの、と。

高設定の計算値を()を使用して、3、

)(CSS3新しい計算機能のCalcを使用して - 一つの方法は、余分な要素を必要としません。

したがって〜、内側と外側の余白を制御する必要エレメント発生の間に重なりがないであろう

<body>
  <div class="content">
    content
  </div>
  <footer class="footer"></footer>
</body>
.content {
  min-height: calc(100vh - 70px);
}
.footer {
  height: 50px;
}

あなたは20ピクセル間隔二つの要素があることを前提とするので、)なぜマイナス70ピクセル(というよりも、高さは50pxフッターをコンテンツの高さの計算値不思議なので、70ピクセル=は50px + 20ピクセルすることができます

ただし、これらを気にする必要はありません -

図4に示すように、柔軟ポーチは、フレキシボックスを使用してレイアウト

三つの方法上記のフッターの高さは、一般的に、それはページのレイアウトを助長されていません言えば、固定されています。内容はレイアウトに損傷を与える一定の高さを超えると、コンテンツは、彼らは、弾力性のある、変更されます。だから、フッターフレキシボックスの使用にそれを与える、それは美しい〜(≧∇≦)となって小さな高さに変換することができます

专门建立的学习Q-q-u-n:⑦⑧④-⑦⑧③-零①② ,分享学习的方法和需要注意的小细节,不停更新最新的教程和学习技巧
(从零基础开始到前端项目实战教程,学习工具,全栈开发学习路线以及规划)

<body>
  <div class="content">
    content
  </div>
  <footer class="footer"></footer>
</body>
html {
  height: 100%;
}
body {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
.content {
  flex: 1;
}

あなたはまた、より多くの要素を追加して上または下にヘッダを追加することができます。あなたは、次の方法のいずれかを選択できます。

フレックス:1ので、内容(例えば:.content)高の無料拡張その
 マージントップ:オート

図5に示すように、グリッドレイアウトグリッドを使用して

フレキシボックスよりもグリッドも新たに多くの、より良いと非常に簡潔な

<body>
  <div class="content">
    content
  </div>
  <footer class="footer"></footer>
</body>
html {
  height: 100%;
}
body {
  min-height: 100%;
  display: grid;
  grid-template-rows: 1fr auto;
}
.footer {
  grid-row-start: 2;
  grid-row-end: 3;
}

残念ながら、グリッドレイアウト(グリッドレイアウト)は、現在、ChromeのみカナリアとFirefox開発版のバージョンをサポートしています。

概要

実際には、セットレイアウトフッターの終わりはどこでも、私のような多くの人々は、それはかなり単純です感じるが、その後だけ何も知らない可能性があり、CSS-TRICKSの後、翻訳、紹介文フッターセット感触良いの終わりを見ることが起こりました。

おすすめ

転載: blog.51cto.com/14592820/2484091