2.3 XHTML


2.3 XHTML





 
规范的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" 
xml:lang="en" lang="en">
<head><title>XHTML</title>
<meta http-equiv="Content-type"
content="text/html; charset=utf-8" />
<link rel="stylesheet" href="page.css"
media="all" type="text/css" />
</head>
<body>
<h1>XHTML</h1> <p>段落</p> <br />断行
<ol> <li>有序列表项</li>   <li>有序列表项</li>   </ol>
<dl> <dt>定义词汇</dt>     <dd>定义数据</dd>    </dl>
</body>
</html>
规范的HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd" >
<html lang=en >
<head><title>HTML</title>
<meta http-equiv=Content-type content="
text/html; charset=utf-8" >
<link rel=stylesheet href=page.css media=all
type="text/css" >
<body>
<h1>HTML</h1> <p>段落 <br>断行
<ol> <li>有序列表项   <li>有序列表项 </ol>
<dl> <dt>定义词汇     <dd>定义数据   </dl>
XHTML

XHTML
















问题


需要用XHTML创建一个文档。


解决方案


XHTMLHTML很相似,但还是有一些差异。第一项不同是DOCTYPE。正如例子所示,XHTMLHTML拥有不同的文档类型。我们会在下一个设计模式中讨论各种DOCTYPE


XHTML是区分大小写的,但HTML则是不区分大小写的。XHTML要求所有标签、属性都必须小写(比如,<html>而不是<HTML>)。在XHTML中,CSS选择符也是区分大小写的,classid的大小写必须完全匹配,它才能被CSS所选择。举个例子,在HTML中,选择符#test*.test会选择<h1 id="Test" class="TEST">,但是在XHTML不行正因为如此,我建议在XHTMLCSS里,属性值和标签名全部小写。


XHTML要求在<html>标签中包含xmlns属性,它的值为http://www. w3.org/1999/xhtmlXHTML需要在每次使用HTMLlang属性时都加上xml:lang属性,例如:xml:lang="en" lang="en"


XHTML要求所有元素都有开始和结束标签,所有属性都必须放在引号里而且其中必须有一个值。HTML则没有这么多要求。


HTML允许你在以下几个元素忽略开始标签:<html><head><body><tbody>。也允许你对某些元素忽略结束标签:<html><head><body><p><li><dt><dd><tr><th><td>HTML中,浏览器会默认它们的表现。在XHTML中,如果这些标签被忽略了的话,文档就不会通过校验了。


HTML对一些元素禁止使用结束标签,它们必须是空的:<meta><link><base><br><hr><area><img><param><input><option><col> XHTML要求所有元素都必须有结束标签。因此,规范的XHTML文档如果包含了其中的任何一个标签都将成为一个不规范的HTML文档,反之亦然。在HTML浏览器中,有一种折中的做法,它们并不要求文档必须成为规范的HTML可以对空元素使用一种XML缩写表示法,只要在结束的斜杠或小于号前加一个空格就可以了,如下所示:<meta /><link /><base /><br /><hr /><area /><img /><param /><input /><option /><col />对于其他空元素来说,需要再加一个结束标签,例如:<span></span>


优势


XHTML严格的编写要求使我们能够比HTML更清晰地看清文档的结构。在HTML中,浏览器会假设没有结束标签的元素属于下一个块状元素的开始。在前面的例子中,XHTML会在段落后解析<br/>,而HTML会把它看作段落的一部分。这就是XHTML中会存在一个额外的空行的原因。


当用CSS装饰文档的时候,规范的、清晰的结构是非常重要的,因为CSS选择符在选择元素的时候会基于它们的结构。正因为如此,我在所有的项目中都使用规范的XHTML,本书也不例外。


相关


DOCTYPE



标签:
友情链接
轻松育儿世界奇观
苏ICP备16066217号-2