XHTML学习

XHTML学习

  • [1.XHTML 简介](#1.XHTML 简介)
  • [2.XHTML - 元素标准](#2.XHTML - 元素标准)
  • [3.XHTML - 属性标准](#3.XHTML - 属性标准)

1.XHTML 简介

XHTML是一个严格遵循 XML语法规则的 HTML 标准。它是 HTML4 的一种重构版本,结合了 HTML 的灵活性和 XML 的严格性,如今XHTML已经得到了所有主流浏览器的支持

与 HTML 相比最重要的区别:

文档结构

  • XHTML DOCTYPE 是强制性的
  • <html> 中的 XML namespace 属性是强制性的
  • <html>、<head>、<title> 以及 <body> 也是强制性的

元素语法

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

属性语法

  • XHTML 属性必须使用小写
  • XHTML 属性值必须用引号包围
  • XHTML 属性最小化也是禁止的(属性最小化是在 HTML 中允许的一种简写形式)

验证页面是否符合XHTML标准:

https://validator.w3.org/check?uri=http%3A%2F%2Fwww.w3school.com.cn%2Fhtml%2Findex.asp


2.XHTML - 元素标准

++1、XHTML 元素必须正确嵌套++

在 HTML 中,某些元素可以不正确地彼此嵌套在一起,就像这样:

html 复制代码
<b><i>This text is bold and italic</b></i>

在 XHTML 中,所有元素必须正确地彼此嵌套,就像这样:

html 复制代码
<b><i>This text is bold and italic</i></b>

++2、XHTML 元素必须始终关闭++

这是错误的:

html 复制代码
<p>This is a paragraph
<p>This is another paragraph

这是正确的:

html 复制代码
<p>This is a paragraph</p>
<p>This is another paragraph</p>

++3、空元素也必须关闭++

这是错误的:

html 复制代码
A break: <br>
A horizontal rule: <hr>
An image: <img src="happy.gif" alt="Happy face">

这是正确的:

html 复制代码
A break: <br />
A horizontal rule: <hr />
An image: <img src="happy.gif" alt="Happy face" />

++4、XHTML 元素必须小写++

这是错误的:

html 复制代码
<BODY>
  <P>This is a paragraph</P>
</BODY>

这是正确的:

html 复制代码
<body>
  <p>This is a paragraph</p>
</body>

3.XHTML - 属性标准

++1、XHTML 属性必须使用小写++

这是错误的:

html 复制代码
<table WIDTH="100%">

这是正确的:

html 复制代码
<table width="100%">

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

这是错误的:

html 复制代码
<table width=100%>

这是正确的:

html 复制代码
<table width="100%">

++3、禁止属性简写++

这是错误的:

html 复制代码
<input checked>
<input readonly>
<input disabled>
<option selected>

这是正确的:

html 复制代码
<input checked="checked" />
<input readonly="readonly" />
<input disabled="disabled" />
<option selected="selected" />
相关推荐
两点王爷5 分钟前
一个快速加载面和多面数据的html测试页面(可以导出geojson数据文件)
前端·html·gis
热爱前端的小张6 分钟前
第四章 接口和类型兼容性
前端
hunterandroid8 分钟前
[鸿蒙从零到一] HarmonyOS 资源管理与多语言适配实战
前端
用户693717500138412 分钟前
Claude Code终端日志Token占用实测:一个过滤器砍掉60%-90%
android·前端·后端
AOwhisky14 分钟前
Python 学习笔记(第十三期)——运维自动化(下·前篇):远程命令执行——paramiko基础篇
运维·python·学习·云原生·自动化·运维开发·paramiko
无人生还19 分钟前
第 1 篇:从 Vue3 到 React 的思维转变
前端·vue.js·react.js
前端世界24 分钟前
MySQL 基础入门(学习第4天)——约束与 DML 操作详解
数据库·学习·mysql
dear_bi_MyOnly27 分钟前
【SpringBoot配置文件】
java·spring boot·后端·学习·spring·java-ee·学习方法
AOwhisky41 分钟前
Python 学习笔记(第十四期)——运维自动化(下·中篇):远程文件传输——paramiko进阶篇
运维·python·学习·云原生·自动化·文件传输·paramiko
爱分享的程序猿-Clark1 小时前
【前端分享】vue开发项目,如何实现 从A页面跳转到B页面,并传值!
前端·javascript·vue.js