HTML命名空间和文档声明有什么区别?

既然文档声明可以告诉浏览器该网页使用了哪个版本的HTML,也就是说规定了可以使用的HTML标签和属性,那么HTML命名空间又是干什么的?也就是xmlns属性。... 既然文档声明可以告诉浏览器该网页使用了哪个版本的HTML,也就是说规定了可以使用的HTML标签和属性,那么HTML命名空间又是干什么的?也就是xmlns属性。 展开
 我来答
兄弟连教育
2016-11-03 · 百度知道合伙人官方认证企业
兄弟连教育
兄弟连教育成立于2006年,11年来专注IT职业教育,是国内专业的IT技术培训学校。2016年成功挂牌新三板(股票代码:839467)市值过亿。开设专注程序员培训专注php、Java、UI、云计算、Python、HTML5、
向TA提问
展开全部
在解析网页时,浏览器通过分析页面的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 定义的内容中时,可以管理多个命名空间。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式