在HTML标记具有100%高度之前的Angular requirejs标记,而不向css添加100%高度

时间:2014-07-25 06:22:56

标签: javascript html css angularjs requirejs

我觉得html标签之前的requirejs脚本标签很奇怪,我决定转移到head标签。如果我将脚本标记移动到head标记,我的页面将不会完全100%高度。我必须为所有元素添加100%的高度,以保持整页100%的高度。如果我保持这个脚本不变,它工作正常,整个页面确实扩展到100%高度。

<script type="text/javascript" data-main="/assets/js/main" src="/lib/require.js"></script>

<!DOCTYPE html>

<html>
    <head>
    </head>
    <body>
        <div ng-cloak>
          <div ng-view></div>
        </div>
    </body>
</html>

1 个答案:

答案 0 :(得分:3)

这是因为你的html无效(脚本标签不属于doctype,html标签之前)。因此,通过在doctype声明之前设置脚本标记,您的浏览器将无法识别您的doctype声明,而是根据HTML解析器恢复为默认更改。在大多数情况下,这会导致浏览器以&#34; quirks&#34; / backword兼容模式运行。在这些模式下,浏览器不完全符合规范(例如W3C规范)。

所以你得到100%高度的元素。还有其他一些东西,比如文档的呈现方式,如何计算某些属性(clientHeight,clientWidth等)

Quicks and Strict mode

List根据WHATWG的模式名称和几个注释

Dectecting mode

Height calculation in quirks mode