在标记之前放置元素

时间:2014-01-15 00:30:04

标签: html validation

对于应用程序我正在显示已发送的电子邮件,其中一些(存储在我的系统中)或multipart / 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>

这显然是一个应用程序,所以不公开可见。它只需要在几个浏览器中工作,是的,它可能在将来使用jQuery - 所以我想询问社区是否有任何事情需要考虑或适应放置HTML元素 ABOVE 实际和标签。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

您正在做的事情可能在大多数情况下都有效,但它会导致HTML无效,并可能导致进一步的意外行为。即使它可能会起作用,我也不会建议它。

正如Jonathan所说,更好的方法是将元素直接放在body元素中。

为避免它与其他内容重叠,您可以在身体上强制使用margin-top: 80px之类的内容。

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