2013-10-09 31 views
1

是否有可能設置一個DIV高度百分比,甚至我現在用的是<!doctype>如何設置div的高度,即使我使用<!DOCTYPE>?

JSP頁面已經完全設計時沒有DOCTYPE和創作了大量的div的動態。 div高度僅在中給出。

但現在我不得不添加DOCTYPE獲得工作的jquery dialog box和其他一些jQuery插件

我需要:

  1. 我應該如何讓DIV高度在百分比%工作,即使我添加了<!DOCTYPE>

希望我們的堆棧用戶能幫助我。

+0

究竟是使用DOCTYPE的問題單嗎? (提示:如果你沒有一個DOCTYPE,頁面將在怪癖模式,該模式已經過時了十多年) – Spudley

+0

我的jsp頁面完全設計成沒有doctype.But我需要添加的doctype得到工作jQuery的對話框盒? –

回答

1

最後,我在我的CSS將下面的代碼得到了解決方案,即使我有 <doctype>在我JSP

解決方法一:

html,body { 

    height: 100%; 
    width: 100%; 

} 

解決方案二:

  1. 設置DIV + CSSabsolute
1

使用<!doctype>將確保瀏覽器知道您使用的是什麼HTML版本。

未使用<!doctype>將導致瀏覽器使用它自己的默認值,導致跨瀏覽器兼容性較低。它可以在IE9正常工作,而不是在IE10,或井Safari和無法在Chrome等等

它的高度recomended始終使用<!doctype>

+0

但我的情況和完整的設計已經擺脫了文檔類型?現在我需要爲jquery添加doctype? –

+1

@KitePlayer然後你需要與時俱進。添加'',找出突破,因爲它已經過時,並修復它。 –

+0

是的,尤其是如果它是一箇舊的應用程序。我現在工作的地方也有同樣的問題。據developped爲IE5,沒有DOCTYPE,他們希望它在任何瀏覽器現在的工作:S。沒有魔法,所有的HTML,CSS和JavaScript必須返工;( –

1

簡短的回答是,事情很多如果你沒有文檔類型,會中斷。這包括jQueryUI。如果你想使用現代瀏覽器功能和JavaScript庫,那麼你必須必須有一個有效的文檔類型。

這真的不是一種選擇;文檔類型告訴瀏覽器進入標準模式。沒有它,它會處於怪異模式,這已經過去十多年了。現代的Javascript庫不是爲了在這種模式下工作而設計的。

所以問題變成如何添加doctype而不破壞頁面佈局?

如果你有一個沒有設計文檔的網站,當你添加一個文檔類型時,會有很多不同的東西,但主要的是盒子模型。這決定了元素寬度如何與paddingmarginborder一起工作。舊的Quirks模式盒模型與現代標準模式完全不同,並且您的佈局將受到影響。

幸運的是,你可以很很容易解決這個問題:以下內容添加到您的CSS代碼:

* {box-sizing:border-box;} 

這會告訴你的頁面使用舊風格箱模型,即使在標準模式。您的頁面佈局現在應該看起來更好用doctype。

還有其他佈局差異可能會影響到您,但這是最大的一個,也是最容易解決的問題。從那開始,然後看看還有什麼還是錯的;在你看到它們時處理剩下的問題應該相當簡單。

我希望幫助。如果您還有其他問題,請嘗試搜索此網站(以及更廣泛的互聯網)以獲得更多幫助,從怪癖模式轉換爲標準模式 - 這是一個常見問題,因此您應該找到大量幫助。

1

如果你給absolute定位,你可以給高度股利

+0

感謝info.But我已經知道這個反正'+ 1'你的答案 –

+0

感謝@KitePlayer。 –

相關問題