CSS,HTML Web浏览器无效的标记容差

Tom*_*kay 2 html browser cross-browser

我刚刚在safari中打开了一个网页,我看到了什么?整个文字是绿色的?但是我只将字幕设为绿色,所以常规文字应该是黑色的?然后我想:我在Firefox中编写了这个网站.起初我认为Safari的解释很糟糕,但我再次检查了我的代码,我看到了这个:

<h3>Caption<h3>
<p>BlacktextblacktextBlacktextblacktextBlacktextblacktext</p>
Run Code Online (Sandbox Code Playgroud)

我还没有关闭h3标签.

所以Safari正确地解释了我的代码,Firefox容忍了这个错字?在Firefox中它可以正常工作:绿色标题黑色文本; Safari说:"不,不!你忘了关闭h3?现在一切都是绿色的,处理它."

我的问题是:主流浏览器有多宽容?浏览器容忍什么(拼写错误,残疾人等)?

And*_*y E 6

实际上,两个浏览器都"容忍"了你的无效标记(因为你有两个未封闭的<h3>标签而无效),他们只是以不同的方式这样做.Gecko(Firefox)认为h3不能包含p并且在开始p之前关闭它们.另一方面,WebKit(Safari,Chrome)可能会在文档正文的末尾关闭它们.

所有浏览器都会尽力从HTML文档的最大混乱中恢复.他们的"容忍度"水平或多或少相等,但结果会有所不同.最好不要依赖浏览器纠错.使用w3c验证器确保您的代码有效,并为其提供在所有浏览器中正确解析的最佳机会.