質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

3回答

864閲覧

css 要素が少なくてもfooterを一番下に置く方法

takeke

総合スコア60

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

1クリップ

投稿2018/05/15 08:15

現在のページで要素が少ない時にフッターが上の方まできてしまい、フッターから下の余白が目立ってしまっています。
なので、要素が少ない時と多い時のどちらにも対応できる何かいいcssの掛け方など教えていただけたら助かります!

height:80vh;やwebkit-fill-availableなど試したのですが、今度は要素が多くなってきた時にフッターが要素と少し被ってしまうようになってしまいました。
直接要素自体のheightを指定すれば回避できたのですが、今度は指定したheightよりも要素が大きくなる場合が出てくるのでうまくいきませんでした。他に何かいい方法ありますでしょうか?

ページの全体像が膨大な量になってしまったのでざっとですがviewとcssです

<html> <body> <div id="wrap"> <header></header> <div id="contents">   <div class="main"> </div> </div> <footer class="footer"> </footer> </div> </body></html>

css

body{ overflow: hideen; margin: 0; } .footer { /*position: fixed;*/ bottom: 0; width: 100%; height: 70px; } #wrap { width: 1100px; margin: 0px auto; } #contents_admin { margin: 10px 0px 10px 0px; }

以上です宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

以下のページに、参考になる方法が記載されておりました。

フッタの表示をコンテンツ量が少ない時は最下部に固定、多い時は成り行きにするシンプルなテクニック

Absoluteなどの技を駆使して、少ないときは常に最下部、多いときはページ最下部に表示する方法になります。

投稿2018/05/15 08:22

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takeke

2018/05/15 09:13

回答ありがとうございます!とても参考になりました!こちらのテクニックでやりたいことができました!position: fix;まではやっていたんですがabsoluteは考えてもいませんでした、他のページでも問題なく作用していたので助かりました!また機会がありましたが宜しくお願いしますm(._.)m
guest

0

CSSには、Sticky Footerという素晴らしいテクニックがあります。以下のようにFlexboxを使えば、ヘッダー・コンテンツ・フッターの高さが可変でも対応できます。

html

1<html> 2<body> 3 4<header class="header"> 5 <div class="wrap">header</div> 6</header> 7<div class="content"> 8 <div class="wrap">content</div> 9</div> 10<footer class="footer"> 11 <div class="wrap">footer</div> 12</footer> 13 14</body> 15</html>

css

1* { 2 margin: 0; 3 padding: 0; 4 box-sizing: border-box; 5} 6html { 7 height: 100%; 8} 9body { 10 display: flex; 11 flex-direction: column; 12 height: 100vh; 13} 14.content { 15 flex: 1 0 auto; 16} 17.footer { 18 flex-shrink: 0; 19} 20.wrap { 21 margin: auto; 22 width: 1100px; 23}

wrap は全体を囲むのではなく、ヘッダー・コンテンツ・フッターそれぞれの内部で囲むようにしています。

投稿2018/05/15 08:49

編集2018/05/15 08:50
Takamoso

総合スコア248

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takeke

2018/05/15 09:16

回答ありがとうございます!実はSticky Footer一度試していたのですが、記事読んでてもよくわからず断念していました>< 記述までしていただいてとても助かります!こちら勉強させていただきます! しかしベストアンサー他の方にさせていただきたいと思いますすみませんありがとうございましたm(._.)m
guest

0

直接要素自体のheightを指定すれば回避できたのですが、今度は指定したheightよりも要素が大きくなる場合が出てくるのでうまくいきませんでした。

min-heightという、強い味方がいます。中身だけで高さを超えた場合は、min-heightの指定は意味がなくなります。

似たような状況に対する、過去の質問

投稿2018/05/15 08:21

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takeke

2018/05/15 09:11

回答ありがとうございます!min-heightは確かにやっていませんでした!こちらも勉強させていただきます!ベストアンサーも迷ったのですが他の方にさせていただきましたすみません、ありがとうございましたm(._.)m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問