有必要写吗<html>
,,,<head>
and <body>
标签?
For example, I can make such a page:
<!DOCTYPE html>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Page Title</title>
<link rel="stylesheet" type="text/css" href="css/reset.css">
<script src="js/head_script.js"></script><!-- this script will be in head //-->
<div>Some html</div> <!-- here body starts //-->
<script src="js/body_script.js"></script>
Firebug正确地将头部和身体分开:
W3C Validation says it's valid.
但我很少在网上看到这种做法。
有理由写这些标签吗?
发布于 2018-01-02 14:27:57
省略html
,head
和body
标签肯定是由HTML规范允许的。其根本原因是浏览器一直试图与现有的网页保持一致,而早期的HTML版本并没有定义这些元素。当HTML2.0 首先,它是以一种当失踪的时候推断标签的方式完成的。
我经常发现,在原型设计时,特别是在编写测试用例时省略标签是很方便的,因为它有助于保持关注测试的标记。推理过程应该按照您在Firebug中看到的方式创建元素,而且浏览器在这个过程中也是非常一致的。
但...
IE在这方面至少有一个已知的bug。即使IE9。假设标记是这样的:
<!DOCTYPE html>
<title>Test case</title>
<form action='#'>
<input name="var1">
</form>
你应该(并在其他浏览器中)得到一个如下所示的DOM:
HTML
HEAD
TITLE
BODY
FORM action="#"
INPUT name="var1"
但在IE中,你得到这个:
HTML
HEAD
TITLE
FORM action="#"
BODY
INPUT name="var1"
BODY
这个bug似乎局限于form
任何文本内容和任何body
开始标签之前的开始标签。
发布于 2018-01-02 15:56:40
Google的HTML样式指南建议省略所有可选标记。
这包括 <html>
,<head>
,<body>
,<p>
和<li>
。
https://google.github.io/styleguide/htmlcssguide.html#Optional_Tags
为了文件大小优化和可扫描性目的,考虑省略可选标签。HTML5规范定义了什么标签可以省略。 (这种方法可能需要一个宽限期,作为一个更宽泛的指导原则,因为它与网络开发人员通常所教的内容有很大的不同。出于一致性和简单性的原因,最好省略所有可选的标签,而不仅仅是一个选项。
<!-- Not recommended --> <!DOCTYPE html> <html> <head> <title>Spending money, spending bytes</title> </head> <body> <p>Sic.</p> </body> </html>
<!-- Recommended --> <!DOCTYPE html> <title>Saving money, saving bytes</title> <p>Qed.
https://stackoverflow.com/questions/-100001309
复制相似问题