2014-01-15 82 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之类的内容。

看到电子邮件不太可能包含任何像绝对定位的元素(这将与您的信息栏相冲突)的任何时髦,这应该适用于绝大多数情况。