2011-11-18 56 views
0

我有一個頁腳,並希望通過將內容與min-height: 100%分開包裝,使得頁腳完全符合該容器的底部。我的問題是,大多數的文件看起來像這樣:硬編碼div左右亂碼

這似乎很容易,只要打開頭中的div容器和頁腳關閉它。然而,在這個12年的應用程序中,遍佈着無數的未關閉的div和隨機標籤。所以,當試圖包裝sucker時,div在某些時候被拋棄之前不會完全通過代碼。

所以問題是:是否有一個讓頁腳保持底部的更快樂的方式(我可以用jQuery來完成,計算窗口高度和html高度以及不管怎麼樣,如果可能的話,我真的很少找雜亂的東西)還是有人知道一個晦澀的方式來強制關閉的div標籤與它的開場白相關聯?

+3

請儘量保持你的問題短期和切合主題,和自由無關的猜測。 – meagar

+1

@meagar - 我個人認爲被刪除的「無關的猜測」有助於闡明OP想要什麼以及他在想什麼。但意見不同,我推遲。 – mikeY

+0

不幸的是,就像這個想法看起來那麼方便,像這樣的黑客永遠都不值得花時間思考它們。 – Nicole

回答

1

如果這是一個古老的應用程序,它不太可能使用任何新的HTML5元素,因此您可以包裝所有內容,例如<article>而不是<div>

雖然這個想法有點髒,除非你能找到一個好的語義匹配。 Draevor是對的,還有其他方法可以將內容粘貼到頁面底部。

編輯:New HTML5 elements

+0

我喜歡這個。即使在HTML4.1標準中,只要在樣式表中定義,我應該可以設置自定義標籤的樣式,例如,是的? –

+0

是的,雖然在較老的IE瀏覽器(如果你支持它們),除非你在你的JS的某個地方做了一個'document.createElement(「wrapper」),否則你的新元素將不被支持。 – N3dst4

+1

有關詳細信息,請參閱http://ejohn.org/blog/html5-shiv/。 – N3dst4

1

您不需要計算窗口高度或將容器中的所有內容都包含在底部以保留頁腳。在html的開頭或結尾處創建一個包含頁腳內容的div,並使其保持堅持使用position: fixed; bottom: 0(如果不希望它重疊內容,也可以在內容中添加一些填充)。如果你需要支持舊的IE,使用position: absolute並添加JavaScript代碼的重新定位它時,頁面滾動 - 很多例子互聯網這個上(這裏是由rip747提供了一個例子:http://www.hardcode.nl/archives_139/article_244-jquery-sticky-footer

編輯:考慮第一個評論,你也可以添加一個div,你希望你的頁腳留在使用jQuery的元素。通過在dom加載後添加它,應該不會有未封閉元素的問題。

+0

我相信職位:固定是相對於視口。我認爲OP需要一個能夠容納不同長度內容的頁腳,但它仍然堅持內容分區的底部。取決於內容長度,這樣的頁腳可能在視口內或視口外。 – mikeY

+0

@mikeY是的,但在這種情況下,他可以簡單地添加它添加內容div的結束,再次沒有必要包裝一切在div中。但是如果仍然存在未封閉標籤的問題,我會用另一個簡單的JS解決方案更新我的答案。 – deviousdodo

+0

@ draevor酷。我正在想如何去做,並畫空白。 – mikeY