浅谈HTML的文档类型声明和html命名空间

DOCTYPE声明是指HTML文档开头的一行或两行代码,它描述使用哪个DTD(文档类型定义)。


在解析网页时,浏览器通过分析页面的DOCTYPE声明来了解要使用哪个DTD,进而知道HTML是哪个版本。HTML有不同的版本,可以使用的标签数量以及标签的属性是不同的,且会影响到浏览器对CSS和JS的执行。所以,它是必须要正确声明的。


XHTML 1.0 Strict(严格)的文件声明:

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>

XHTML 1.1的文件声明:

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1//EN” “http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”>

XHTML 1.0 Transitional(过渡型)文件声明:

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

过渡型XHTML 1.0允许HTML 4的表现元素


需要关注的是,<!DOCTYPE> 声明不是 HTML 标签,它不必关闭。

HTML5不需要URL。浏览器一般不读取这些文件,,而是只识别常见的DOCTYPE声明,声明方式如下:

<!DOCTYPE html>

下面的链接是w3school给出的html元素和有效的DTD

HTML元素对应出现在哪些文档类型

对验证页面的有效性和区分浏览器模式上DOCTYPE声明非常重要。

<html>标签的xmlns属性(摘自w3school)


xmlns 属性可以在文档中定义一个或多个可供选择的命名空间。该属性可以放置在文档内任何元素的开始标签中。该属性的值类似于 URL,它定义了一个命名空间,浏览器会将此命名空间用于该属性所在元素内的所有内容。

例如,如果需要使用符合 XML 规范的 XHTML 文档,则应该在文档中的<html> 标签中至少使用一个 xmlns 属性,以指定整个文档所使用的主要命名空间:

<html xmlns="http://www.w3.org/1999/xhtml">

如果需要在一个 div 元素中显示一串数学公式,则可以为该 div 元素定义一个数学命名空间。比如这样:

<div xmlns="http://www.w3.org/1999/Math/MathMl">x3/x</div>

如果您不希望在每次显示除法公式时都在 div 元素中定义 xmlns 属性,那么更好的办法是在文档的开头处定义具有前缀的命名空间:

<html xmlns="http://www.w3.org/1999/xhtml">
xmlns:math="http://www.w3.org/1999/Math/MathMl">

然后,您就可以在 div 中使用该前缀了,就像这样:

<math:div>x3/X<div>

虽然在大多数情况下,绝大多数 XHTML 作者都不需要定义多个命名空间,但是您仍然有必要理解存在着多个命名空间,以便在需要选择将基于某个 DTD 的内容嵌入其他 DTD 定义的内容中时,可以管理多个命名空间。

    原文作者:zhuwanwanshay
    原文地址: https://blog.csdn.net/zhuwanwanshay/article/details/50784589
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞