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" />
相关推荐
仰望—星空1 分钟前
MiniEngine学习笔记 : DescriptorHeap
windows·笔记·学习
FinClip4 分钟前
凡泰极客亮相香港金融科技周,AI助力全球企业构建超级应用
前端
武昌库里写JAVA10 分钟前
element-ui 2.x 及 vxe-table 2.x 使用 css 定制主题
java·vue.js·spring boot·sql·学习
阿四23 分钟前
【Nextjs】为什么server action中在try/catch内写redirect操作会跳转失败?
前端·next.js
申阳25 分钟前
Day 6:04. 基于Nuxt开发博客项目-LOGO生成以及ICON图标引入
前端·后端·程序员
中国lanwp38 分钟前
npm中@your-company:registry 和 registry 的区别
前端·npm·node.js
Bacon39 分钟前
Electron 应用商店:开箱即用工具集成方案
前端·github
行走的陀螺仪41 分钟前
uni-app + Vue3 实现折叠文本(超出省略 + 展开收起)
前端·javascript·css·uni-app·vue3
冴羽44 分钟前
JavaScript 异步循环踩坑指南
前端·javascript·node.js
jump6801 小时前
commonjs 和 ES Module
前端