<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Page Title</title>
<link rel="stylesheet" href="style.css" type="text/css" media="screen" charset="utf-8"/>
</head>
<body>
</body>
</html>
将 doctype 分割成两行是否必要?或者只是为了可读性?
哪个字符集更推荐 - utf-8 还是 ISO-8859-1?
第 7 行和第 9 行中最后斜杠 (/) 之前不应该有一个空格来适应旧版浏览器吗?
谢谢。
我不会将 doctype 分割成两行,它可以正常工作。
很棒,很好。
将 doctype 分割成两行并非必要,这只是为了可读性。
1 - 如果 Accept 标头明确包含 application/xhtml+xml(没有“q”参数或具有正“q”值),则使用该媒体类型传递文档。(http://www.w3.org/TR/xhtml-media-types/#media-types)
所以
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
应该为
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
2 - 为了向后兼容性,建议在结束元素的最后一个斜杠之前留一个空格。
3 - XML Prolog 是可选的,但根据 XML 规范,它应该存在。(XHTML 是 HTML + XML)。
XHTML1 Strict 不应使用“text/html”,而应使用
<meta http-equiv=”Content-Type” content=”application/xhtml+xml; charset=utf-8″ />
根据 W3C,“text/html 主要用于 HTML,而不是 XHTML”。并且,“作为‘text/html’ 提供的服务的 XHTML 文档不会被处理为 XML”。
此外,‘application/xhtml+xml’ 媒体类型 [RFC3236] 是 XHTML 家族文档的主要媒体类型。
简而言之,text/html 对 XHTML 严格文档无效。但是,它对 XHTML 过渡文档有效,这些文档必须能够分别支持 HTML 4.01 和 XHTML 1.0 的某些方面。只有具有“application/xhtml+xml” 媒体类型的“严格”形式才是真正的 XHTML 标记。
text/html 用于遗留原因:旧版浏览器在将 XHTML 视为 XML 时往往会变得很疯狂。页面上出现任何错误都会阻止页面显示,这是一件非常糟糕的事情:错误在实时站点上时有发生,很难始终保持完美的代码。此外,XML 过去需要加载整个页面才能进行任何渲染,这会导致用户在看到页面之前等待几秒钟(如果页面很大或连接速度很慢)。
这就是为什么所有“正确”的 XHTML 1.0 Strict 示例仍然说明页面应被处理为 text/html 的原因 - 它不会阻止任何 XML 加载器将页面信息处理为 XML,但所有浏览器都能很好地处理它。当然,这违反了标准,但有时实用性比技术完美更重要。
当然,如今 HTML5 非常流行,除非您知道您确实需要 XML 严格性,否则您应该选择它。您可以很好地在兼容 XHTML 的语法中编写 HTML5,因此使用 XHTML 的理由并不多。可能 99% 的新网站最好使用 HTML5。
“这就是为什么所有“正确”的 XHTML 1.0 Strict 示例仍然说明页面应被处理为 text/html 的原因”是错误的,因为它确实阻止了浏览器将页面信息处理为 XML,因为它强制浏览器将页面视为 HTML 式标记汤。
它不仅“违反了标准”,而且根本是错误的。此外,它会混淆内容本身。
如果“实用性比技术完美更重要”,那么干脆不要使用 XHTML,而是使用 HTML5。
**就去做吧,老兄**
这是我在 JavaScript 课程中使用的模板,我的讲师要求我们使用 XHTML STRICT-1 格式提交作业。它包含用于 CSS 样式、JavaScript 代码和 HTML 标记的部分。CDATA 是为了在 HTML 中进行验证而需要的,它允许在验证 HTML 时隐藏 JavaScript。感谢您发布您的模板。这是我的
空白入门代码
“use strict”;
/* */
/* CSS 代码在此处 */
“use strict”;
/* */