的W3C验证不喜欢自闭合标签(那些与"端/>")上非空元素.(Void元素是那些可能不包含任何内容的元素.)它们在HTML5中仍然有效吗?
可接受的 void元素的一些示例:
<br />
<img src="" />
<input type="text" name="username" />
Run Code Online (Sandbox Code Playgroud)
被拒绝的非虚元素的一些例子:
<div id="myDiv" />
<span id="mySpan" />
<textarea id="someTextMessage" />
Run Code Online (Sandbox Code Playgroud)
注意: W3C验证器实际上接受无效的自动关闭标签:由于简单的拼写错误(\>而不是/>),作者最初遇到了问题.但是,自动关闭标签在HTML5中通常不是100%有效,并且答案详细说明了各种HTML风格的自闭标签问题.
8.1.2.1的第6步HTML5规范的开始标记表示void元素可能只有一个/字符.我认为这样做更容易将XHTML的网站迁移到HTML5.
什么是最佳做法?
例如,如果我正在制作一个HTML5(<!DOCTYPE html>)的网站,我该怎么办?
没有斜线
<meta http-equiv="content-type" content="text/html; charset=utf-8">
Run Code Online (Sandbox Code Playgroud)用斜线
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
Run Code Online (Sandbox Code Playgroud)如果两者都在所有浏览器上正确呈现,那么我假设(1)没有斜线是要走的路,因为它更像是HTML5.
我有一个关于关闭自动关闭HTML 标签的问题。
哪个更合适?
1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
2. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Run Code Online (Sandbox Code Playgroud)
另外,如果有人对此<meta>标签有一个好的替代方案,例如:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
OR
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
Run Code Online (Sandbox Code Playgroud)
这篇文章对我有一些帮助。
我用于<!DOCTYPE html>我的文档类型。