<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
这些都有啥不同?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">这样的比较好。
Html 和 Xhtml 的最大区别的就是Css的继承性。然后才是Xhtml的 代码规则严谨。
Xhtml比如在table中设置Css的字体大小,内部的所有元素都会继承到他的属性。而这就导致了在Xhtml中无法制作适应性窗口。(宽高属性没有任何自动适应性)
而Xhtml的开发目的,就是降低处理器要求,比如手机上网。而因为Xhtml的(无法制作适应性窗口)导致部分人用Js去修改宽高。
这就出问题了。Xhtml就是为了提高速度,降低计算机要求。
而增加Js……那还不如直接用Html来得容易。
Html,主要用来开发美观,多设计的东西。
而Xhtml一般用来开发数据类的东西。
代码如下:
修改DOCTYPE 到以下查看:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body>
<table width="200" height="20" border="1" cellspacing="0" bordercolor="#FF0000">
<tr>
<td><table height="100" bgcolor="#0000FF">
<tr>
<td> </td>
</tr>
</table></td>
<td><table height="100%" bgcolor="#0000FF">
<tr>
<td> </td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
关于CSS的说法,我没做个测试,但table绝对不是像你所说的那样. 在dtd为xhtml时,IE下确实是无法自动适应,但这并不是说Xhtml中table的宽高不能自动适应 按照W3C规定的XHtml1.0标准,表格的宽度是可以自动适应的,包括常用到的部分行或列宽高固定,其它行或列自动适应都是可以的,并且有明确的算法。IE中即使是在非Xhtml dtd声明时,表格的自动适应也是不可靠的,存在bug的.而在这方面除IE外的浏览器,如Safari Opera Firefox 在Xhtml Dtd声明的情况下都是能够正确自动适应表格的宽高的。
在Xhtml DTD声明时 页面的表现能力可以说是表现更强(不要给我提 IE且 版8的浏览器) 而不使用Xhtml 可以在某些方面减小IE和其它浏览器的差异,如表格的处理
事实的确是如此,Html和Xhtml其实是有些混乱的,也的确是有BUG 如同:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
他们所带来的效果是不同的。这点我并不知道原因。也许是BUG,也许是我代码有误。总之……我不明白。
但是多了dtd后,的确也会无法自动适应。
而你说的 “按照W3C规定的XHtml1.0标准,表格的宽度是可以自动适应的” 也许他考虑到了这功能,或者说明里也写出了有这功能,但是无论怎么样,他的确是没有这功能。Xhtml的css继承性,导致了他无法做到。为了自动适应,在XHTML上,我花几天来研究和搜索代码 CSS+XHTML是无法做到的。
目前遇到一个问题
加了
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
个别JS效果展示不出来
不加吧,页面CSS宽度不美观
XHTML 与 HTML 之间的差异:http://www.86w3.com/art_165.html
通过开始编写严格的 HTML,你可以为 XHTML 做好准备。
如何为 XHTML 做好准备
XHTML 与 HTML 4.01 标准没有太多的不同。
所以将你的代码升级至 4.01 是个不错的开始。《HTML 4.01 参考手册》会帮助你做到这一点。
另外,你应该马上使用小写字母编写HTML代码,同时绝不要养成忽略类似 </p> 标签的坏习惯。
最主要的不同:
XHTML 元素必须被正确地嵌套。
XHTML 元素必须被关闭。
标签名必须用小写字母。
XHTML 文档必须拥有根元素。
元素必须被正确地嵌套
在 HTML 中,某些元素可以像这样彼此不正确地嵌套:
<b><i>This text is bold and italic</b></i>在 XHTML 中,所有的元素必须像这样彼此正确地嵌套:
<b><i>This text is bold and italic</i></b>提示:在嵌套列表中一个容易犯的错误,是忘记内部列表必须位于li元素中,就像下面这样:
这是错误的:
<ul>
<li>Coffee</li>
<li>Tea
<ul>
<li>Black tea</li>
<li>Green tea</li>
</ul>
<li>Milk</li>
</ul>这是正确的:
<ul>
<li>Coffee</li>
<li>Tea
<ul>
<li>Black tea</li>
<li>Green tea</li>
</ul>
</li>
<li>Milk</li>
</ul>注意:在正确代码的例子中,我们在</ul>之后插入了一个</li>标签。
XHTML 元素必须被关闭
非空标签必须使用结束标签。
这是错误的:
<p>This is a paragraph
<p>This is another paragraph这是正确的:
<p>This is a paragraph</p>
<p>This is another paragraph</p>空标签也必须被关闭
空标签也必须使用结束标签,或者其开始标签必须使用/>结尾。
这是错误的:
A break: <br>
A horizontal rule: <hr>
An image: <img src="happy.gif" alt="Happy face">这是正确的:
A break: <br />
A horizontal rule: <hr />
An image: <img src="happy.gif" alt="Happy face" />XHTML 元素必须小写
XHTML 规范定义:标签名和属性对大小写敏感。
这是错误的:
<BODY>
<P>This is a paragraph</P>
</BODY>这是正确的:
<body>
<p>This is a paragraph</p>
</body>XHTML 文档必须拥有一个根元素
所有的 XHTML 元素必须被嵌套于 <html> 根元素中。其余所有的元素均可有子元素。子元素必须是成对的且被嵌套在其父元素之中。基本的文档结构如下:
<html>
<head> ... </head>
<body> ... </body>
</html>
直接不加 DOCTYPE 比较省事 哈哈~ 从手机浏览器访问《生活宝典》 |