
尽管XHTML已过时,但其对HTML编码的影响仍然存在。许多开发人员在编写HTML时在不知不觉中遵守XHTML实践。本文阐明了两种方法之间的区别。
html,xhtml和向后移动
进化很简单:HTML在1990年代主导了2000年代的XHTML,我们在2010年代返回了HTML。这反映在规格的发行日期中:HTML 1(1992),HTML 2.0(1995),HTML 3.2(1997),HTML 4.01(1999); XHTML 1.0(2000),XHTML 1.1(2001); HTML5(2007)。
XHTML的崛起与对XML的统治地位的普遍信念相吻合。这导致采用XHTML风格的HTML编码。
XHTML的阴影
XHTML 1.0的“与HTML 4的差异”部分详细介绍了其关键区别:
-
形成良好的文件: XHTML需要形成良好的文件。
-
小写元素和属性名称:元素和属性名称必须是小写。
-
所需的结束标签:非空元素需要最终标签。
-
属性值的强制引用:必须始终引用属性值。
-
无属性最小化:不支持属性最小化。
-
封闭的空元素:空元素需要关闭标签。
-
符合XML的空间处理:属性值中的Whitespace遵循XML规则。
-
脚本和样式的CDATA部分:脚本和样式元素需要CDATA部分。
-
无SGML排除:不允许使用SGML排除。
-
id
属性偏好:具有id
和name
属性的元素应主要使用id
。
-
案例敏感属性:具有预定义值集的属性对病例敏感。
-
小写十六进制实体参考:十六进制实体参考必须是小写。
在不知不觉中,许多开发人员仍然遵循大多数规则,即使XHTML已经过时。有些人甚至对HTML感到“最佳实践”。
拥抱HTML的真正精神
相反,让我们否定与XHTML施加的规则(不再与SGML相关的方面,因为HTML不再依赖SGML):
-
文档形式良好:文档可能没有很好。
-
案例灵敏度:元素和属性名称可以是上层或小写。
-
可选的结束标签:非空元素的端标签是可选的。
-
可选的报价:属性值可能不会引用。
-
属性最小化:允许属性最小化。
-
未封闭的空元素:空元素不需要关闭标签。
-
空间处理:属性值中的空格并不严格符合XML符合性。
- CDATA部分:脚本和样式的CDATA部分是可选的。
-
id
/ name
属性: id
和name
属性的使用不受限制。
-
属性的情况敏感性:具有预定义值集的属性不是对病例敏感的。
-
十六进制实体参考:十六进制实体参考的案例不受限制。
简化,专注于最相关的方面:
-
可选标签:启动和结束标签是可选的。
-
未封闭的空元素:空元素不需要关闭标签。
-
名称的情况:元素和属性名称可以是上层或小写。
-
可选的报价:属性值可能不会引用。
-
属性最小化:支持属性最小化。
尽管HTML的弹性允许无效的代码,但最佳实践强调有效,形成良好的HTML。因此,“文档可能不是很好的”点被忽略。 HTML方式的本质变为:
-
可选标签:启动和结束标签并不总是需要。
-
未封闭的空元素:无需关闭空元素。
-
案例不敏感的名称:元素和属性名称可以是小写或大写。
-
可选引号:属性值可能并不总是引用。
-
属性最小化:支持属性最小化。
实际例子
XHTML与HTML:
XHTML:
<p>示例段落。</p>
关联
html:
<p>示例段落。
</p>
关联
HTML允许大写标签和属性,未引用的属性值(安全时)以及最小化属性。
现代HTML方法
现代的HTML方法应优先考虑:
-
有效和语义HTML:验证您的HTML并确保语义正确性。
-
一致的编码样式:为情况(上或小写)选择一致的样式和属性引用。
-
极简主义:最少使用HTML,依靠CSS和JavaScript进行表现和行为。在适当的情况下,利用可选标签,空元素闭合,默认属性值和属性最小化。
诸如html-minifier
之类的工具可以帮助优化HTML。重新发现HTML的真实本质,与XML的影响无关,是现代网络开发的关键。
以上是写html,html方式(不是xhtml方式)的详细内容。更多信息请关注PHP中文网其他相关文章!