Chrome、Firefox 和 Safari 中的 DOCTYPE 和 BackCompat 模式与 CSS1Compat 模式有何区别?

2023-12-28

我倾向于认为,如果没有DOCTYPE,IE 将会出现问题,因为如果没有DOCTYPE,它会使用 IE 的盒子模型以 Quirk 模式渲染页面上的项目。

我知道我们应该始终放入DOCTYPE,但这里的关键问题是,如果由于某种原因,当我们分析第三方的网页时,或者在我们知道存在错误之前,如果该页面没有DOCTYPE or its DOCTYPE错误地出现在一些标记之后,例如<html>并做出了DOCTYPE线路不生效,那么对Chrome、Firefox、Safari有什么影响呢?

我通常无法分辨出任何差异(或者有什么差异?),直到我运行下面的代码。随着DOCTYPE,然后它将报告正确的视口高度(例如410),但没有DOCTYPE,它会打印出类似的东西3016。所以这是一个差异,稍后我会找出其原因,但除此之外,Chrome、Firefox 和 Safari 上还有哪些差异?一个重要的用途是,当我们知道差异是什么并且当我们在项目中看到一些问题时,我们可以推断这可能是问题所在DOCTYPE.

<!DOCTYPE html>
<html>
<head>

<style>
    body { height: 3000; }
</style>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script>

    onload = function() {
        console.log("jQuery version", $.fn.jquery);
        console.log("document.compatMode is", document.compatMode);
        console.log("$(window).height() is", $(window).height());
    }

</script>

</head>

<body>
    hi

HTML5 规范要求解析媒体类型为的文档text/html http://www.w3.org/html/wg/drafts/html/master/syntax.html#parsing-main-inhtml, a <table>当存在打开的 p 元素时(严格来说,当“打开元素的堆栈在按钮范围内有一个 p 元素”时)遇到的标记不会导致 p 元素在怪异模式下关闭,但否则会导致关闭。

In the DOM,getElementsByClassName() http://dom.spec.whatwg.org/#concept-getelementsbyclassname函数在怪异模式下不区分大小写,否则区分大小写。

对于渲染来说,有很多变化。 WHATWG 的这个规范似乎是最权威的:http://quirks.spec.whatwg.org/ http://quirks.spec.whatwg.org/

例如,您给出的高度怪异由“3.2 无单位长度怪异”解释

The CSS 对象模型 (CSSOM) http://dev.w3.org/csswg/cssom/#fetching-css-style-sheets规范描述了对获取样式表的算法的更改。

The CSSOM 视图模块 http://dev.w3.org/csswg/cssom-view/spec 描述了获取和设置时 clientWidth、clientHeight、scrollTop、scrollLeft、scrollWidth 和scrollHeight 值的变化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chrome、Firefox 和 Safari 中的 DOCTYPE 和 BackCompat 模式与 CSS1Compat 模式有何区别? 的相关文章

随机推荐