当前位置: 首页 > article >正文

什么是XHTML,XHTML学习笔记

什么是XHTML

XHTML是以XML格式编写的HTML

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

为何要用到XHTML

  1. 由于历史原因(主要是浏览器的兼容性),HTML的写法很随意,比如可以省略关闭标签、不正确嵌套等等,在PC端都可以被显示出来,但是在移动端就显得不是那么友好,因此我们需要更严格的HTML。

  2. 如下示例,在浏览器中运行的非常正常,但是它并未遵守HTML规则

    <html>
    <head>
    <meta charset="utf-8">
    <title>这是一个不规范的 HTML</title>
    <body>
    <h1>不规范的 HTML
    <p>这是一个段落
    </body>
    
  3. 随着移动端的不断普及,各大网页需要在移动端(如手机,平板)上运行,而这些小型设备缺乏解释如上示例中糟糕的标记语言的资源和能力

  4. 所以通过XML和HTML各自的长处,开发了XHTML

XHTML与HTML的区别

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 DOCTYPE 是强制性的
  • <html>中的 XML namespace 属性是强制性的
  • <html><head><title>以及 <body>也是强制性的

元素语法

  • XHTML 元素必须正确嵌套
  • XHTML 元素必须始终关闭
  • XHTML 元素必须小写
  • XHTML 文档必须有一个根元素

属性语法

  • XHTML 属性必须使用小写
  • XHTML 属性值必须用引号包围
  • XHTML 属性最小化也是禁止的

示例

  • XHTML元素必须合理嵌套

    <!-- 在HTML中,一些元素可以不互相嵌套 -->
    <b><i>这是文字内容</b></i><!-- 在XHTML中,所有元素必须合理嵌套 -->
    <b><i>这是文字内容</i></b>
    
  • XHTML元素必须有关闭标签

    <!-- 正确写法 -->
    <p>文本内容段落
    <p>另外一个文本内容段落<!-- 错误写法 -->
    <p>文本内容段落</p>
    <p>另外一个文本内容段落</p>
    

将HTML转换为XHTML

  • 添加一个 XHTML <!DOCTYPE> 到你的网页中
  • 添加 xmlns 属性添加到每个页面的html元素中。
  • 改变所有的元素为小写
  • 关闭所有的空元素
  • 修改所有的属性名称为小写
  • 所有属性值添加引号
  • 使编码格式符合XHTML规则,即可转换成功

本文参考菜鸟教程:传送门

http://www.lryc.cn/news/2417125.html

相关文章:

  • linux基础IO——用户缓冲区——概念深度探索、IO模拟实现
  • kotlin基础 变量,函数 1
  • 虚拟内存、物理内存与OOM Killer
  • SurfaceView和View区别总结
  • html table th分层,html中 table的结构 彻底搞清 caption th thead等
  • tsearch, tfind, tdelete, twalk, tdestr函数—标准树
  • 『TopCoder 组件开发指南』
  • 创建共享网盘、访问共享网盘
  • ubuntu切换软件源为国内源
  • windows 2000 系统安装和配置
  • 修改Win10右键菜单
  • 机器学习——RBF神经网络
  • 信息增益与信息增益率详解
  • 11个超高清图片素材网站,可直接访问
  • oVirt4.4单台主机Allinone部署(非HostedEngine方式)
  • 用户登录模块
  • 为什么要进行透明计算和透明计算是什么
  • UDP协议的两个主要方法sendto和recvfrom详解
  • 猫头虎分享已解决Bug || 代理服务器错误(Proxy Server Error):ProxyFailure, ProxyConnectionRefused
  • 【虚幻引擎】UE4 同步和异步资源加载(软引用)
  • Android设备唯一标识(终极方案!)
  • weak reference的介绍
  • yumdownloader介绍和使用示例
  • 正则表达式语法及使用
  • DM脚本启动报错:please change nobody or root to execute the service script,otherwise may be failed
  • USBKEY全解析---概要介绍
  • Java 程序的运行环境及示例代码
  • 日志过滤实体中的属性
  • EtherCAT运动控制卡开发教程之Qt(上):开发环境配置与简单运动控制应用
  • usb一致性测试软件,USB 3.0一致性测试方法