什么是 XHTML?

admin7个月前笔记58

XHTML 指的是可扩展超文本标记语言
XHTML 与 HTML 4.01 几乎是相同的
XHTML 是更严格更纯净的 HTML 版本
XHTML 是以 XML 应用的方式定义的 HTML
XHTML 是 2001 年 1 月发布的 W3C 推荐标准
XHTML 得到所有主流浏览器的支持

为什么使用 XHTML?

因特网上的很多页面包含了"糟糕"的 HTML。

如果在浏览器中查看,下面的 HTML 代码运行起来非常正常(即使它并未遵守 HTML 规则):

<html><head><meta charset="utf-8"><title>这是一个不规范的 HTML</title><body><h1>不规范的 HTML<p>这是一个段落</body>

XML 是一种必须正确标记且格式良好的标记语言。

今日的科技界存在一些不同的浏览器技术。其中一些在计算机上运行,而另一些可能在移动电话或其他小型设备上运行。小型设备往往缺乏解释"糟糕"的标记语言的资源和能力。

所以 - 通过结合 XML 和 HTML 的长处,开发出了 XHTML。XHTML 是作为 XML 被重新设计的 HTML。

与 HTML 相比最重要的区别
文档结构
  1. XHTML DOCTYPE 是强制性的

  2. <html> 中的 XML namespace 属性是强制性的

  3. <html>、<head>、<title> 以及 <body> 也是强制性的

元素语法
  1. XHTML 元素必须正确嵌套

  2. XHTML 元素必须始终关闭

  3. XHTML 元素必须小写

  4. XHTML 文档必须有一个根元素

属性语法
  1. XHTML 属性必须使用小写

  2. XHTML 属性值必须用引号包围

  3. XHTML 属性最小化也是禁止的

<!DOCTYPE ....>是强制性的

XHTML 文档必须进行 XHTML 文档类型声明(XHTML DOCTYPE declaration)。

<html>, <head>, <title>, 和 <body> 元素也必须存在,并且必须使用 <html> 中的 xmlns 属性为文档规定 xml 命名空间。

下面的例子展示了带有最少的必需标签的 XHTML 文档:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>
  <meta charset="utf-8">
  <title>文档标题</title></head> <body>文档内容</body> </html>
XHTML 元素必须合理嵌套

在 HTML 中,一些元素可以不互相嵌套,像这样:

<b><i>粗体和斜体文本</b></i>

在 XHTML 中,所有的元素都必须互相合理地嵌套,像这样:

<b><i>粗体和斜体文本</i></b>
XHTML 元素必须有关闭标签

错误示例:

<p>这是一个段落<p>这是另外一个段落

正确示例:

<p>这是一个段落</p><p>这是另外一个段落</p>
空元素必须包含关闭标签

错误示例:

分行:<br>水平线: <hr>图片: <img src="happy.gif" alt="Happy face">

正确示例:

分行:<br />水平线: <hr />图片: <img src="happy.gif" alt="Happy face" />
XHTML 元素必须是小写

错误示例:

<BODY><P>这是一个段落</P></BODY>

正确示例:

<body><p>这是一个段落</p></body>
属性名称必须是小写

错误示例:

<table WIDTH="100%">

正确示例:

<table width="100%">
属性值必须有引号

错误示例:

<table width=100%>

正确示例:

<table width="100%">
不允许属性简写

错误示例:

<input checked>
<input readonly>
<input disabled>
<option selected>

正确示例:

<input checked="checked">
<input readonly="readonly">
<input disabled="disabled">
<option selected="selected">
如何将 HTML 转换为 XHTML

添加一个 XHTML 到你的网页中
添加 xmlns 属性添加到每个页面的html元素中。
改变所有的元素为小写
关闭所有的空元素
修改所有的属性名称为小写
所有属性值添加引号


相关文章

建立SSH之免密登陆

建立SSH之免密登陆

忽略ssh安装scp安装过程。默认认为当前机器与远程机器含有完整的ssh,scp功能首先在机器B中使用ssh-keygen -t rsa 命令 (想来玩git的童鞋应该知道吧~)[...

du 命令秘籍

du命令是检查硬盘使用情况,统计文件或目录及子目录使用硬盘的空间大小。参数的不同组合,可以更快的提高工作效率,以下仅列出了经常使用到的参数,如需更详细的信息,请用man du命令来获得。1.命令格式d...

聊聊服务器优化

聊聊服务器优化

我们开发的软件服务需要在服务器上运行,所以服务器性能代表了软件的性能上限,因此服务器性能调优是个十分重要的环节,然而大部分同学对服务器性能调优关注的较少,今天从3个部分对服务器性能调优进行介绍,分别是...

前后端分离架构:Web 实现前后端分离,前后端解耦

前后端分离架构:Web 实现前后端分离,前后端解耦

前后端分离已经成为了行业的主流,大流量时代,微服务的出现,让前后端分离发展更是迅速,前端框架vue.js、angura.js的迅速发展,也让前后端分离趋势加快。一、前言” 前后端分离 “已经成为互联网...

如何在 VSCode 中安装 ChatGPT

如何在 VSCode 中安装 ChatGPT

ChatGPT--即 Chat Generative Pre-Training Transformer(基于转换器的生成式预训练模型)--最近在科技行业掀起了波澜。它于 2022 年 11 月首次推出...

一键搭建web版chatGPT,无需魔法,国内可用

一键搭建web版chatGPT,无需魔法,国内可用

在GitHub上有很多web版本的ChatGPT项目,感谢这些开源作者,我们能很方便的搭建属于自己的ChatGPT。前置条件需要拥有chatGPT的api key。申请地址platform.opena...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。