X/HTML5 v.s. XHTML2(I)(2)
作者:dudo 来源:dudo blog 发布时间:2008-06-17 18:00:00
新的标题结构
在达到页面易用方面,内容的标题是最重要的组成部分。实际上,目前没有人能正解地使用标题,因为数字化的标题结构(h1到h6)对于大多数人来说很难直观地去区分,对于使用WYSIWYG(所见即所得)的设计者来说更加是不可能了。实质上,数字化的标题是使用直线结构(与其后面的内容是兄弟元素关系)来达到内容逻辑上的层次关系。因此,在下面的例子中,你必须去使内容上的这种层次关系可视化
<h1>...</h1>
<p>...</p>
<h2>...</h2>
<p>...</p>
<h2>...</h2>
<p>...</p>
<h3>...</h3>
<p>...</p>
<h4>...</h4>
<p>...</p>
<h3>...</h3>
<p>...</p>
<h2>...</h2>
<p>...</p>
相比而言,新的标题结构,配合分组元素section使用h元素,使得层次关系表达变得异常地容易实现
<h>...</h>
<p>...</p>
<section>
<h>...</h>
<p>...</p>
<h>...</h>
<p>...</p>
<section>
<h>...</h>
<p>...</p>
<section>
<h>...</h>
<p>...</p>
</section>
<h>...</h>
<p>...</p>
</section>
<h>...</h>
<p>...</p>
</section>
h元素很酷!
输出计算机代码功得到加强
blockcode元素代替pre和code元素来盛装计算机代码段。例如
<blockcode>
function get_random_name() {
$rand_name = "";
for ($i = 1; $i <= 8; $i++) {
$rand_name .= chr(rand(97, 122));
}
return $rand_name;
}
</blockcode>
hr被separator取代
hr元素的名字——“水平线”——常常为设计者和工具供应商带来麻烦。它的名字是水平线,但实际上它却被用来分隔文档的不同部分。使用separator可以解决这种误解。
del和ins元素被edit属性取代
在表达内容变化上,edit属性的确比del和ins元素更加适合。可以使用类似下面的方法使用它们:
<p>This is <span edit="deleted">cool</span><span edit="inserted">way cool</span>!</p>
可以为已有元素增加额外语意
role属性可以为已有元素增加新的语意和元数据(meta),这有助于搜索引擎和辅助工具更好地理解web页面。下面的例子中演示了如何表示指定的导航列表应该解释为一组“面包屑”
<nl role="breadcrumbs">
<label>You are here:</label>
<li href="/">Home</li>
<li href="/products/">Products</li>
<li href="/products/widget/">Widgit</li>
<li>Features</li>
</nl>
使用role属性的技术术语叫作“XHTML中的RDF嵌入”。这使得XHTML 2非常具有扩展性,这可能会成为使Web发挥其全部潜能的唯一最重要工具。
XHTML 2的美中不足
元素使用仍然需环绕内容
由于每个元素都可以使用href属性,因此实际上a元素的存在已经没有意义。继续保留它只会增加开发者的困扰。例如在HTML 4和XHTML 1中id属性可以用作任意元素的锚点。如:
<h2 id="introduction">Introduction</h2>
但是很多开发者还在使用a元素作为锚点。例如:
<h2><a name="introduction">Introduction</a></h2>
继续保留a元素实在有点不够酷!
img元素仍然需要环绕使用
在XHTML 2中,object元素可以做img元素能做的任何事情。根据规范,之所以保留img元素是为了保证向XHTML 2顺利过渡,但是这样做的确会给开发者造成困扰。而且保留下来的img元素也不再是一个空元素,它必须包含可替换文本。例如:
<img src="W3C.png">W3C</img>
如果XHTML 2中的元素与HTML 4或者XHTML 1中元素有相同的名称,但是行为却不同,这肯定会引起争论与使用上的混乱。
仍然支持数字化的标题
由于使用h元素更加容易创新标题,数字化的标题已经不再需要。同时支持h元素和数字化标题只会增加麻烦。
XHTML 2开发小组的封闭性
一个开发可能成为下一代标记语言的开发小组对于公众却很少公布信息。同志们,这不是研究秘密武器的“skunk工程”。让它们见见光吧!
阅读下一篇:X/HTML5 v.s. XHTML2(II)


猜你喜欢
- 很喜欢Python这门语言。在看过语法后学习了Django 这个 Web 开发框架。算是对 Python 有些熟悉了。不过对里面很多东西还是
- 1.过程:1>注册驱动器类:Class.forName()2>连接数据库:String url = "jdbc:sql
- 1.如何引入在vue-cli里,引入文件有几钟方法一种是用npm或者cnpm指令去下载对应的插件,然后在main.js里用import方法引
- 用例子说明fruit = ['pineapple','grape','pear']fruit
- 本文实例讲述了Symfony2之session与cookie用法。分享给大家供大家参考,具体如下:session操作:1. Set Sess
- 简单的说延迟复制就是设置一个固定的延迟时间,比如1个小时,让从库落后主库一个小时。MySQL延时复制库作用存在即合理,延迟复制可以用来解决以
- 创建作业,执行以下命令 exec master..XP_cmdshell 'http://srm.rapoo.cn?op=sapin
- python函数式编程之装饰器1.开放封闭原则简单来说,就是对扩展开放,对修改封闭。在面向对象的编程方式中,经常会定义各种函数。一个函数的使
- Mysql默认是不可以通过远程机器访问的,通过下面的配置可以开启远程访问.我的Mysql环境是ubuntu+mysql51.修改/etc/m
- 目录前言map 并发操作出现问题sync.Map 解决并发操作问题计算 map 长度计算 sync.Map 长度前言在 Golang 中 m
- 目录什么是传值(值传递)什么是传引用(引用传递)迷惑Mapchan类型和map、chan都不一样的slice小结对于了解一门语言来说,会关心
- 本文实例为大家分享了Vue+Websocket简单实现聊天功能的具体代码,供大家参考,具体内容如下效果图:聊天室此篇文章是针对Websock
- 打开网页,然后将javascript:document.body.contentEditable='true';
- 1. 概述对于社区,没有一个明确的定义,有很多对社区的定义,如社区是指在一个网络中,有一组节点,它们彼此都相似,而组内的节点与网络中的其他节
- 1.无效数据的概念无效数据是指不符合数据收集目的或数据收集标准的数据。这些数据可能来自于不准确的测量、缺失值、错误标注、虚假的数据源或其他问
- #设a为字符串import timea = "2011-09-28 10:00:00"#中间过程,一般都需要将字符串转化
- 本文实例讲述了Python设计实现的计算器功能。分享给大家供大家参考,具体如下:通过利用PYTHON 设计处理计算器的功能如:1 - 2 *
- 本文实例讲述了Python单体模式的几种常见实现方法。分享给大家供大家参考,具体如下:这里python实现的单体模式,参考了:https:/
- 1、最简单的调用方式 直接写到html的body标签里面,如: <html> <body onload="fun
- Python中try块可以捕获测试代码块中的错误。except块可以处理错误。finally块可以执行代码,而不管try-和except块的