javascript - Angular requirejs 标签在 HTML 标签具有 100% 高度之前没有向 css 添加 100% 高度

标签 javascript html css angularjs requirejs

感觉html标签之前的requirejs script标签很奇怪,所以决定搬到head标签。如果我将 script 标签移动到 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>

最佳答案

这是因为您的 html 无效(script 标签不属于 doctype、html 标签之前)。因此,通过在 doctype 声明之前使用 script 标记,您的浏览器将无法识别您的 doctype 声明,而是根据 HTML 解析器 恢复为默认 更改。在大多数情况下,这会导致浏览器以“怪癖”/反向兼容模式运行。在这些模式下,浏览器并不完全符合规范(例如 W3C 规范)。

所以你得到了 100% 高度的元素。还有其他事情,比如文档是如何呈现的,某些属性是如何计算的(clientHeight、clientWidth 等)

Quicks and Strict mode

List根据 WHATWG 的模式名称和一些注释

Dectecting mode

Height calculation in quirks mode

关于javascript - Angular requirejs 标签在 HTML 标签具有 100% 高度之前没有向 css 添加 100% 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24949293/

相关文章:

javascript - 确定视口(viewport)滚动条的位置

javascript - 如何选择 g 元素中的特定元素并更改其在 D3.js 中的状态

html - W3C HTML Validator 中的 Angular2 语法

html - CSS - 页脚不会固定在页面底部

javascript - 如何 "auto close"警报框

javascript - 更改字符串中的某些数字

html - XML 元素未显示在 HTML 页面中?

javascript - JQuery 插件日期选择器无法按照文档正常工作

javascript - 使用 Eclipse(推送插件)在 PhoneGAP 中推送通知 : Didn't get Registration ID

javascript - 单击时添加背景颜色