2014-01-15 84 views
-2

一個應用程序我顯示已發送的電子郵件,其中一些(如存儲在我的系統),或者多/ HTML,所以內容一般會前像把元素<html>標籤

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

等。

我需要在頂部這樣的事情,不與HTML內容造成干擾的一個div:

<div id="stats"> (list subject, to, from, date, etc) </div> 

這是一個應用程序obviou狡猾,所以不公開可見。它只需要在幾個瀏覽器中工作,是的,它可能在未來使用jQuery - 所以我想問社區是否有任何事情需要考慮或適應實際和標籤的HTML元素高於

+1

真的,真的不應該這樣做。這是無效的HTML,它可能會顯示未定義的行爲。 –

+0

如果正在呈現「HTML」,則不應將任何內容放在HTML標記之外.... –

回答

0

將元素立即放入<body>元素中。否則,瀏覽器可能會爲你做這件事。將它放在<html>元素之外是無效的。如果你希望隱藏元素,用CSS隱藏它們。

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Hidden Element</title> 
    </head> 
    <body> 
     <div hidden>This is hidden.</div> 
    </body> 
</html> 

上面使用hidden attribute。目前支持不好,因此您可能更願意使用display:none

0

你在做什麼可能在大多數情況下都有效,但是它會導致HTML無效,並可能導致更多的意外行爲。即使它可能會起作用,我也不會提供建議。

更好的方法是,正如Jonathan所說,將元素直接放置在body元素內。

爲避免它與其他內容重疊,您可以在正文上強制使用margin-top: 80px之類的內容。

看到電子郵件不太可能包含任何像絕對定位的元素(這將與您的信息欄相沖突)的任何時髦,這應該適用於絕大多數情況。