如果我在HTML页面的<head>
标记中放入一些文本,则这些文本将由Chrome或Firefox等流行的浏览器呈现(请参见下面的MWE)。这是预期的行为吗?
<!DOCTYPE html>
<html lang="en">
<head> Foo Bar </head>
</html>
答案 0 :(得分:3)
不允许在head元素内使用文本节点,但是end标签是可选的,因此文本节点隐式结束了head元素并开始了正文。
head元素的结束标签没有匹配的开始标签,因此将其作为错误丢弃。
这是预期的错误恢复行为。
使用标记验证器。
答案 1 :(得分:2)
作为quentin答案的补充-很好的认识到浏览器会随意处理html错误。他们尝试尽可能地渲染。这一方面可以帮助开发人员,另一方面可以改善用户体验。这样一来,某个地方的单个错误就不会阻止整个文档的呈现(或显示严重警告)-最终用户通常会更欣赏。
有趣的(背景)信息: