CodeIgniter文档类型声明参考 | AI生成和翻译
概述
这是来自 CodeIgniter 框架(一个开源 Web 应用程序框架)的 PHP 数组,它定义了各种标记语言的 DOCTYPE 声明。DOCTYPE 是文档类型声明,用于告知浏览器和验证器 HTML 文档所使用的标记语言版本和标准。它能确保正确的渲染和验证。这些声明基于官方的 W3C 标准。下面,我将按主题分组逐一解释,包括它们的用途和典型使用场景。
XHTML 文档类型
XHTML(可扩展超文本标记语言)是作为 XML 重新构建的 HTML,强制使用更严格的语法(例如,要求闭合标签和元素小写)。
- xhtml11:声明 XHTML 1.1,这是最新的 XHTML 版本,具有模块化特性,适用于高级 Web 应用程序。严格且符合 XML 标准;用于现代、语义化的网页,不含框架或遗留元素。
- xhtml1-strict:XHTML 1.0 严格模式;强制使用干净、语义化的标记,不含已弃用的元素(例如,没有
<font>)。适用于需要向后兼容的标准合规网站。 - xhtml1-trans:XHTML 1.0 过渡模式;允许使用一些遗留的 HTML 元素,以便从 HTML 3.2/4.0 更轻松地迁移。适用于混合使用新旧标记的现有网站。
- xhtml1-frame:XHTML 1.0 框架集模式;支持使用
<frameset>的框架布局。由于可用性问题和 SEO 缺陷,在现代网页设计中已过时。 - xhtml-basic11:XHTML Basic 1.1;一个轻量级配置文件,适用于移动设备和简单应用程序,排除了表单或样式表等高级功能。
HTML 文档类型
HTML 是网页的标准标记语言,从松散的标准演变为严格的标准。
- html5:现代 HTML5 DOCTYPE;简单且面向未来,所有浏览器均以标准模式解析。支持多媒体、API 和语义元素(例如
<article>、<header>)。推荐用于新网站。 - html4-strict:HTML 4.01 严格模式;强制语义严谨性,不含已弃用的元素。用于需要严格合规的遗留项目。
- html4-trans:HTML 4.01 过渡模式;宽松,允许使用遗留标签以逐步更新。常见于正在过渡到标准的旧网站。
- html4-frame:HTML 4.01 框架集模式;用于框架页面,现已弃用,因为加载速度慢且存在可访问性问题。
MathML 文档类型
MathML(数学标记语言)支持在网页上显示数学符号。
- mathml1:MathML 1.0;以 XML 格式进行基本数学渲染。用于教育工具或包含简单方程的文档。
- mathml2:MathML 2.0;增强了对复杂数学的支持,更好地与其他标记集成。是现代数学网页显示的基础。
SVG 文档类型
SVG(可缩放矢量图形)在 XML 中定义用于网页图形的矢量图像。
- svg10:SVG 1.0;基本的 2D 矢量图形。用于静态插图。
- svg11:SVG 1.1;完整的 2D 图形,支持动画和滤镜。动态网页图形的标准。
- svg11-basic:SVG 1.1 Basic;面向移动设备的子集,功能较少。用于设备上的轻量级 SVG。
- svg11-tiny:SVG 1.1 Tiny;适用于手机等低功耗设备的最小配置文件。支持基本形状和动画。
复合文档类型
这些类型结合了多个标准,用于丰富的多媒体内容。
- xhtml-math-svg-xh:XHTML 1.1 与 MathML 2.0 和 SVG 1.1 结合;用于混合文本、数学和图形的文档(例如科学论文)。
- xhtml-math-svg-sh:与上述类似,但基于 SVG(
<svg:svg>),用于以 SVG 为主的文档,其中嵌入了 XHTML 和 MathML。 - xhtml-rdfa-1:带有 RDFa 1.0(属性中的资源描述框架)的 XHTML;增强语义网数据嵌入,适用于元数据丰富的网站。
- xhtml-rdfa-2:带有 RDFa 1.1 的 XHTML;改进的 RDFa,用于在 HTML 属性中链接数据,用于数据网络应用程序。
使用说明
- 这些在 CodeIgniter 中预定义,可通过其
doctype()辅助函数轻松插入。 - 现代 Web 开发更倾向于使用 HTML5(
html5),因为它灵活且浏览器支持良好。较旧的文档类型(例如 HTML 4 或框架版本)大多已过时。 - 根据 W3C 规范(例如 w3.org/TR/html5/、w3.org/TR/xhtml11/),这些声明能确保一致的解析:浏览器使用它们来触发标准模式或怪异模式,从而影响布局和脚本。根据项目的标记需求选择最适合的声明以实现最佳验证(通过 W3C 验证器等工具)。如果您在 CodeIgniter 中工作,请在视图中使用数组键来输出声明。