将元素放在标签下面是不好的做法吗?

时间:2015-08-07 20:20:37

标签: html partials hogan.js

确实以下看起来很愚蠢:

<!--partialPage.html-->
<html>
    <head>A css file linked here...</head>
    <body>
        First piece of content
    </body>
</html>

blah after html

...并且可以通过将blah after html移动到身体中来轻松修复。原来浏览器会为你做这件事,并将其附加到正文的末尾。 (做这个愚蠢的事情不是一个很好的理由)

但我确实找到了一个很好的理由,为什么我会这样做,这将简化模板引擎中的部分布局。

<!--page1.html-->
{{> partialPage}}                        <!--This is a partial/include-->
Content that would later be teleported into the body.

<!--page2.html-->
{{> partialPage}}                        <!--This is a partial/include-->
Another page using the layout

这当然比执行以下所有操作更简单:

//sendPartials.js
{
    partialOne: 'Content that would later be teleported into the body',
    partialTwo: 'Another page using the layout'
}

<!--page1.html-->
<html>
    <head>A css file linked here...</head>
    <body>
        First piece of content
        {{> partialOne}}
    </body>
</html>


<!--page2.html-->
<html>
    <head>A css file linked here...</head>
    <body>
        First piece of content
        {{> partialTwo}}
    </body>
</html>

所以问题归结为......我应该使用哪种方法?

创建布局文件的部分是不是很糟糕?

1 个答案:

答案 0 :(得分:1)

仅仅因为浏览器会让你逃脱某些事情并不意味着你应该利用它。一些潜在的警告:

  • 这可能不适用于所有浏览器。
  • 这可能现在可以在每个浏览器中使用,但不会在六个月内完成。
  • 这可能适用于所有浏览器,但是您可能会遇到微妙的差异。
  • 这可能会使浏览器开启quirks mode或某些类似模式。你真的不希望你的页面以怪癖模式呈现,因为它会导致许多随机和次要的东西巧妙地以不同的方式工作。您可能会在六个月之后处理一些完全不相关的功能,并且存在一个问题,即浏览器没有做您期望的事情,仅仅因为它在怪癖模式下运行。

我说这就像是通过碎纸机放一张信用卡 - 当然,它可能会完成工作,但依靠它真的不是一个好习惯。