• ベストアンサー

CSSでfooterをbottomに固定する方法

困りました。どうやってもできません。 コンテンツは固定幅でセンターに、footer幅はリキッドにしているのですが、コンテンツ自体のボリュームが少ない時にfooterがコンテンツにくっついていっちゃうんです。 なので、footerの下に余白ができてしまいます。 このfooterさんをウィンドウをどれだけ広げても、bottomに常駐するようにしたいのです。 どうしても出来ないもので、その方法をされているサイトのfooterのコードをコピーして、そのまま貼り付けても出来ませんでした。 なぜ?? わかりにくい書き方かもしれませんが、何卒よろしくお願いいたします。

  • defer
  • お礼率90% (10/11)
  • HTML
  • 回答数3
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

minHeight と pageWrapper にポイントがありそうで・・・。 まだ詳細は検証しきれていませんが、 一部分でなく全体的な相互関係で実現しているみたいですよ・・・。 (一応、ソースの一部書き換えにより、どのIDでの指定が必須かまでは検証しましたが・・・。) また、結構難しそうというか相互関係でなりたっている為に、検証も大変でブラウザの対応確認も大変かもしれません。

defer
質問者

お礼

>minHeight と pageWrapper にポイントがありそうで・・・。 どうやらそのようですね・・・。 わたしも色々やってみたんですが、ひとつ違えばIEではだめなのにfirefoxではいける!みたいな変なことになったりします。 確実な方法を探さないと・・・。 ありがとうございました!

その他の回答 (2)

noname#22222
noname#22222
回答No.3

s_husky です。 つまり、footer 上部が固定長です。 これは、普通に footer を作ればいいです。 こんな感じです。 /* ========================================================================================================== mystyle.css: Last update 2005/10/05 By xxxxxxxxx ------------------------------------------------------------------------------------------------------------- */ @charset "Shift_JIS"; /* この外部 CSS の文字コードを「Shift JIS」に設定 */ /* ========================================================================================================== 全体構造 ------------------------------------------------------------------------------------------------------------- */ body { margin: 0; /* 余白をゼロに */ padding: 0; font-size: 10pt; text-align: center; /* Win IE 6 で、ブロックレベル要素がセンタリングされないのを防ぐため */ } /* ========================================================================================================== トップページに枠線を表示する仕掛け  ┏━━━━━━━┳━━━━━━━━━━━━┓ <--- ../images/toppage/background_header.gif #header  ┃       ┃            ┃ <--- ../images/toppage/background_container.gif #container  ┃       ┃            ┃  ┗━━━━━━━┻━━━━━━━━━━━━┛ <--- ../images/common/h1_gradation.gi #footer ------------------------------------------------------------------------------------------------------------- */ /* ========================================================================================================== ヘッダ ------------------------------------------------------------------------------------------------------------- */ div#header { width: 820px; background: url('../images/toppage/background_header.gif') no-repeat bottom; } /* ========================================================================================================== メイン・コンテンツ ------------------------------------------------------------------------------------------------------------- */ div#container { width: 820px; margin-left: auto; margin-right: auto; background: rgb(170, 170, 170) url('../images/toppage/background_container.gif') repeat-y; text-align: left; } div#wrapper { float: left; width: 80%; } div#content { float: right; width: 70%; } div#sidebarA { color: white; float: left; width: 30%; text-align: left; } div#sidebarB { float: right; width: 20%; } /* ========================================================================================================== フッタ ------------------------------------------------------------------------------------------------------------- */ div#footer { clear: both; width: 820px; font-size: 8pt; margin-left: auto; margin-right: auto; background: url('../images/toppage/background_footer.gif') no-repeat top; }

defer
質問者

お礼

コードまで書いていただきありがとうございます。 しかしおそらく例のサイトのような動作は得られないかと思います。 ちょっとした小細工が必要です。普通につくるのでは無理なようです。

noname#22222
noname#22222
回答No.1

footer を固定しているサイトを紹介された方が早いのでは? footer の上部を固定長ではなく可変にするのは至難と思われます。 一体、どのようにしているのか知りたいところです。

defer
質問者

補足

そうなんです。なんか難しいんです。 CSSはある程度理解していると思っていたのですが・・・。 http://www.artgalleriesdirect.com/ このサイトではどれだけウィンドウを動かしても、ついてきます。コードをそのまま使っても不思議なことに、できないんですね。わたしも色々考えているんですが・・・。

関連するQ&A

  • フッターの固定方法

    コンテンツが短い場合でもフッターを画面の一番下に固定させたいのですが、うまくできません。 http://thai-kosiki.net/list/list-osaka-hokubu.htmlのページでは画面の一番下にくるのですが、 http://thai-kosiki.net/list/list-osaka-seibu.htmlのページではフッターが上に上がってしまいます。 検索で「フッター固定」と調べて、 #readに「Padding Bottom 105px」を設定したり、div#footerに「Position absolute」や「bottom 0px」を設定したりいろいろ試したのですが、ひとつのページがうまくできても、違うページがぐちゃぐちゃになったり…。うまくいきません。 アドバイスをお願いします。どうぞよろしくお願いします。

    • 締切済み
    • CSS
  • フッター固定時のdivの背景について

    フッターを画面下部に固定するため以下のようなHTMLを書きました。 フッターは固定できたのですが、コンテンツの量が少ないと背景が途中で途切れてしまいます。 コンテンツの量が少なくても背景を下まで(フッターの上まで)表示させるために何かよい方法はありますでしょうか? <style type="text/css"> <!-- html, body { height: 100%; margin: 0; padding: 0; text-align: center; } #container { min-height: 100%; height: auto !important; height: 100%; position: relative; } #screen { width: 100%; text-align: left; padding-bottom: 100px; } #contents{ margin: 0 auto; width: 50%; background:Khaki; } #footer { height: 100px; width: 100%; position: absolute; bottom: 0; background-color: #7EC4E6; } --> </style> </head> <body> <div id="container"> <div id="screen"> <div id="contents"> コンテンツ </div> <div id="footer">footer</div> </div> </div> </body> </html>

    • ベストアンサー
    • HTML
  • ヘッダー・フッター固定でコンテンツのみ可変

    高さが固定されているヘッダーとフッターをウィンドウの上と下に固定したままで、その間のコンテンツ部分のみを縦方向に可変にする方法は考えられるでしょうか。つまり、 (ヘッダー+コンテンツ+フッター)の高さの合計=ウィンドウの高さ が常に成り立つ方法です。framesetでrowを指定すれば話は早いんですが、XHTMLで実現したいので使えません。 Javascriptを使ってウィンドウの高さを計算してからコンテンツ部分の高さを指定する方法もありますが、その場合はウィンドウのサイズを変えてしまうとヘッダーとフッターがウィンドウに連動せずに画面外や中途半端なところに残ってしまうので、それもだめかなと思いました。 とりあえずコンテンツ部分はどんなに高さが小さくなってもいいので、かなりウィンドウの高さが小さくても、常にヘッダーとフッターがきちんとウィンドウの上下に固定され、コンテンツ部分が可変になるような方法がありましたら教えてください。 ------------------------------- ヘッダー(固定) ------------------------------- コンテンツ(可変) ※この部分のみにスクロールバーが現れることができる。 ------------------------------- フッター(固定) -------------------------------

  • カラム高さ揃え+固定フッター

    いつもお世話になります。 ●確認ブラウザIE6、IE7、FF、 Mac Safari FF 左側幅可変のリキッドレイアウトの中で、 div#wrapの中にある「#boxB、#boxC」のカラム高さが揃った上で #footerはページ下部に固定されている、添付図の状態にしたい。 ●できてること: IE7、FFにおけるカラム高さの統一、固定フッタ ●ここができない: 1.IE6にてboxBとCの高さが揃わない(Cが足らない) 2.#wrapと#footerにすきまが空く(boxBとCの背景色がfooterの上まで来てほしいのです)(全部のブラウザにて) ★CSS /*リキッドレイアウト部分*/ * { margin:0; padding:0; } body { text-align:center; } #container { width:96%; margin-left:auto; margin-right:auto; text-align:left; } #boxA { background:#ffc; } #boxB { background:#fcc; width:100%; float:left; margin-right:-200px; } #boxB p { margin-right:200px; } #boxC { background:#ccf; width:200px; float:left; } #boxD { background:#cfc; width:100%; float:left; } /*100%固定フッタのためのCSS*/ *{ margin:0; padding:0; } html,body{ height:100%; background-color: #000000; color: #000000; } html{ overflow-y:scroll; } #container { width: 100%; position: relative; height: auto !important; height: 100%; min-height: 100%; } div#footer{ position:fixed; bottom:0; left:0; text-align:center; width:100%; } /* * * IE6 * * * */ * html, * html body{ overflow-y:hidden; } * html div#maincontents{ height:100%; overflow-y:scroll; } * html div#footer{ position:absolute; } /* カラム高さが違うものを揃える */ #wrap { overflow:hidden; } #boxB,#boxC { padding-bottom: 32768px; margin-bottom: -32768px; }

    • ベストアンサー
    • HTML
  • フッター固定で余白ができます

    footerFixed.js http://blog.webcreativepark.net/2007/11/16-012253.html  を使ってhtmlのフッターを下部に固定させてみたところ、コンテンツが少ない量でページの最後にフッターが表示されるようになったのですが、コンテンツがあるコンテナが下部にのびず、背景が見えてしまう状態で尚かつ、コンテンツの最後から妙に大きな空白が開きます。 ブラウザで確認するとウインドウをリサイズすると戻るのですが、原因や対処がまったくわかりません。 どなたかコンテンツをフッターにつけた状態でフッターを下部に表示し、コンテンツが多い場合にはスクロールでフッターが出るようにするにはどのような方法で対応できるでしょうか。どなたかご意見いただければと思います。

    • ベストアンサー
    • HTML
  • XHTML+CSSでフッターを下部に固定させるには?

    http://www.hddx.net/hc2/_index.html ※CSSファイル http://www.hddx.net/hc2/includes/main.css 上記のようなサイトを制作しており、フッター画像をウィンドウサイズに関わらず、下部に固定させようとしています。 下部に固定させ、ウィンドウサイズの変更にも対応できたのですが、 ウィンドウの縦幅をどんどん狭くしていくと、フッター画像が上のコンテンツにかぶっていってしまいます。 http://www.lucky-bag.com/archives/2005/04/footer.html http://www.stylish-style.com/csstec/ultimate/fix-foot.html 上記サイトを参考にしたのですが、どうしてもうまく対応しません。 どなたかお分かりでしたらご教授頂きたいと思います。 宜しくお願い致します。

  • footerを{position:absolute;bottom:0p

    footerを{position:absolute;bottom:0px;}で固定しようとしたら、今度はブラウザのウィンドウの上下を縮めるとfooterが上部の要素を上に通り越してしまいます。            これを正しく、footerが上部要素に届いたらfooterの移動がと止めるにはどうしたらよいでしょうか? 以下HTMLとCSSです。 <html> ・・・・中略 <body> <div id="wrapper"> <div id="head"> ・・・・中略(ナビゲーションなどあって) </div> <div id="mainContainer"> ・・・・中略(3カラム等あって) </div>mainContainerEND <div id="footer"> </div> </div>(wrapperの閉じ) </body> </html> ######css########## html { height:100%; } body { height:100%; } div#wrapper { width:800px; height:100%; margin:10px auto 0 auto; border:#000000 solid 1px; background:#FFFFFF; } div#header { width:780px; margin:10px auto 10px auto; } div#mainContainer { width:780px; height:auto; margin:0 auto; } div#footer { clear:both; height:20px; text-align:center; width:800px; background-image:url(footer_image.jpg) no-repeat left bottom; position:absolute; bottom:0; ######ココマデ よろしくお願いします。

  • css固定したフッターが本文と重なってしまいます

    #all { height:100%; min-height:100%; } #header { left:150px; position:absolute; } .main { top:60px; left:150px; position:absolute; } #footer { left:150px; bottom:0px; position:absolute; } ------------------------------------------------------------- <div id="all"> <div id="header"> ヘッダ部 </div> <div class="main"> メインの記事 </div> <div id="footer"> フッター </div> </div> ============================================================== このように指定したのですが、 ウィンドウを小さくしたり、長い文を書いたりすると、 メインの記事がフッターと重なって読めなくなってしまいます。 記事が短い時は、ページ全体の下部に、 長い時はスクロールした一番下にくるようにしたいです。 テーブルのheight指定を使えば同じような効果は得られますが、 テーブルの無いレイアウトをやってみたかったので。 同じような質問は発見したのですが、いい解答が見つかりませんでした。

    • ベストアンサー
    • HTML
  • ヘッダとフッタが固定でコンテンツのみスクロール可能

    いつもお世話になります。 ヘッダ部とフッタ部は固定で、コンテンツ部のみで表示エリアを超えた場合スクロールバーを 表示する、というHTMLを実現するにはどうすればよいでしょうか。 (ウィンドウサイズに応じてコンテンツ部は変動するが、ヘッダとフッタは常に固定) イメージとしては以下の構成になります。いろいろ調べてみたのですが、ヘッダとフッタは固定 できてもスクロールバーがウィンドウ全体に表示されてしまうものばかりでした。 -------------------------------- ヘッダ(固定) (スクロールバーなし) -------------------------------- コンテンツ (スクロールバーあり) -------------------------------- フッタ(固定) (スクロールバーなし) -------------------------------- フレームは使用せず、CSSのみで実現する方法を教えて頂けませんでしょうか。 IE7、IE8で動作させたいと思っています。 宜しくお願いします。

    • 締切済み
    • CSS
  • CSSかJAVAでウインドウのセンターにコンテンツを配置したいのですが…

    コンテンツ幅がウィンドウ幅より大きい場合どおしても センター配置したレイアウトでも左よせに。そして下にスクロールバーがでてきます。 スクロールバーは出ても出なくてもいいのですが、コンテンツの中心がウィンドウが小さくてもウィンドウのセンターにくるようにしたいのです。 したいデザインはウィンドウが小さいとコンテンツの左も右も隠れる感じです。 参考サイトは ソフトバンクのサイトで、 ヘッダーとフッターは左にぶつかりますが中のコンテンツは センターにとどまるんです…こんな感じにしたいのですが… https://recruit.softbank.jp/ よろしくお願いします。

    • ベストアンサー
    • HTML

専門家に質問してみよう