2012-02-04 8 views
2

私は、そのセクションが完全に配置されたdivで構成されているページを持っています。ページが絶対配置で作成されているときにフッターを一番下に取得

ページにフッターを作成しようとするまでうまくいったのです。

私の問題は、ボトムプロパティがページではなく画面の下部に固定されるため、ボトムプロパティを使用してフッターを配置できないということです。したがって、ページのコンテンツが画面よりも長い場合は、フッターがコンテンツの下に表示されます。

要素の流れがないので、フッターを要素の流れの底に置くことはできません。すべてのdivが絶対的に配置されているので、静的であるか相対的に配置されているものを置くと、ヘッダーの下のページの一番上に移動します。

これらの固定フッターは、フッタをページの下部に配置する要素の流れに依存するため、動作しません。ここで

はjsbinです:http://jsbin.com/oxefev/edit#javascript,html

bottom CSSプロパティではなく、画面のページの一番下に行くようにする方法があった場合、この問題が解決することが非常に簡単だろう。

編集:私はちょうどそれは、静的位置決めさせるとmargin-top:1000px;に設定することで、ページの下部にそれを強制的にmargin-topプロパティを使用しますが、私はすべての時間は、私が追加またはからコンテンツを削除することを変更しなければならない可能性がありページ。

+0

ページには下限がなく、永遠に続く可能性があるためです。フッターにコンテンツ以外の絶対的な位置を与えることができない理由はありますか? – Umbrella

+0

ページに下限値があります。すべてのページには、もうスクロールできないポイントがあります。それが私がそれに移動したい点です。最後の要素の後に置くことができますが、ウェブサイト上に複数のページを作成するとどうなりますか?両方のページのフッターは同じ高さにありません。それが問題ではない場合でも、ページの内容を変更するたびにフッターの高さを変更する必要があります。いいえ、それは単なる悪い考えです。自動的にページの一番下に置くほうがずっと簡単です。 –

+0

「下限がない」というのは、下に下に押して、常に下にコンテンツを追加できることを意味します。これにより、「ボトム」のピクセル位置があいまいになります。 – Umbrella

答えて

2

私の最初のお勧めは次のようなものです:すべてを絶対に配置しないでください。それは何の恩恵ですか?

しかし、あなたはjavascriptの柔らかいアプリケーションで求めているものを達成することができます。以下のような何か:

document.getElementById('footer').style.top = document.getElementById('content-wrapper').clientHeight + 150 + 'px'; 

EDIT:これも動作しているようですし、あなたのヘッダーの高さを調整する場合は変更を必要としません(+/-ボックスモデルに基づいて、いくつかのピクセル)を

document.getElementById('footer').style.top = document.body.clientHeight + document.getElementById('footer').clientHeight + 'px'; 
+1

@ MarkKramer複数のWebサイトを作成したら、そのコメントを後悔します。 –

+0

また、いい考えです。私はそれをする方法を知っていたので、私はそれを考えなかったとは信じられません。S –

+0

私は4つのウェブサイトを作っていくつかの仕事をしました。物事を絶対的に配置しない理由はありません。 –

0

jQuery(document).height()は、正確で一貫したブラウザ間の結果を返します。コンテンツの配置の高さを知ったら、フッターを簡単にする必要があります。

関連する問題