|
查看: 1227|回复: 12
|
XHTML的問題
[复制链接]
|
|
|
XHTML 1.0 specifies three XML document types that correspond to three DTDs: Strict, Transitional, and Frameset.
XHTML 1.0 Strict
----------------------------------------------------------------
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
----------------------------------------------------------------
Use this when you want really clean markup, free of presentational clutter. Use this together with Cascading Style Sheets.
XHTML 1.0 Transitional
----------------------------------------------------------------
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-----------------------------------------------------------------
Use this when you need to take advantage of HTML's presentational features and when you want to support browsers that don't understand Cascading Style Sheets.
XHTML 1.0 Frameset
----------------------------------------------------------------
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
----------------------------------------------------------------
Use this when you want to use HTML Frames to partition the browser window into two or more frames.
请问上面的文章在讲什么?
[ 本帖最后由 kr_kryptom 于 20-12-2005 02:33 PM 编辑 ] |
|
|
|
|
|
|
|
|
|
|
发表于 20-12-2005 08:16 PM
|
显示全部楼层
|
XHTML文件格式的声明方法。通常你要你的XHTML文件依照W3C的标准格式,你就需要用以上的方法声明所要用到的DTD文件。 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 21-12-2005 07:49 PM
|
显示全部楼层
怎么说呢?DTD是什么意思,只是声明,没有其他意义吗?好象对browser来说,那些tag带有其他意义
我还有其他两片文章不明白,昏。。。。 |
|
|
|
|
|
|
|
|
|
|
发表于 21-12-2005 08:09 PM
|
显示全部楼层
原帖由 kr_kryptom 于 21-12-2005 07:49 PM 发表
怎么说呢?DTD是什么意思,只是声明,没有其他意义吗?好象对browser来说,那些tag带有其他意义
我还有其他两片文章不明白,昏。。。。
怎么会没有意义呢?
DTD是XML文件类型描述,在这里可以定义XML文件中的元素、元素的属性、元素的拓扑结构方式、元素包含的内容等等。据个例子来说 XHTML Strict的DTD对文件的格式要求比较严谨,XHTML的格式必须完全符合XML的元素规格才能够显示;Transitional和Frameset就对格式要求没有这样严格,基本上只要是符合XHTML的标准就能够过关。此外,IE对不同的DTD也会有不一样的CSS效果。
如果还是不明白的话,可以到W3C看看,这里的资料很充足。
http://www.w3.org/TR/xhtml1/#h-A1 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 21-12-2005 08:35 PM
|
显示全部楼层
>><!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
上面这句代表什么意思?
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
那这个就是一个file?
请问strict/traditional/frameset,差别在哪?
比方:traditional和strict效果是一样的,那我干脆用traditional就好了啊,干麻那么麻烦
少了DTD会对一份网页有什么影响?
>>IE对不同的DTD也会有不一样的CSS效果。
这话什么意思 |
|
|
|
|
|
|
|
|
|
|
发表于 21-12-2005 08:59 PM
|
显示全部楼层
原帖由 kr_kryptom 于 21-12-2005 08:35 PM 发表
>><!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
PUBLIC "-//W3C//DTD XHTML 1.0 Fra ...
少了DTD文件的话,HTML文件本身是没有规格的,所有的元素也没有一定的格式。当你要加入一些必须配合HTML规格的东西,例如Javascript, CSS, DOM等,就可能会出现一些意想不到的问题。
XHTML本身是XML + HTML的结合体,除了具备HTML的特性外也必须符合XML的规格。Transitional和Strict基本上没有什么很大的不一样,不过要做到完全符合XML格式的话就需要用到Strict.此外,CSS2对Strict的兼容也很好。不过一些不同还是要注意的
http://www.zvon.org/xxl/xhtmlReference/Output/comparison.html
frameset就是Transitional框架的版本。
IE本身有一些CSS的Bugs,所以面对不同的DTD显示出来的效果会有差别,例如长短会不一样,走位等等问题。 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 27-12-2005 01:29 PM
|
显示全部楼层
大至上明白了,但这Use this together with <Cascading Style Sheets.>是什么意思?
顺便请问一下,鼓励我学XML吗?
我学网页编程目的是要懂得解读,目前只回html,xhtml
[ 本帖最后由 kr_kryptom 于 27-12-2005 01:50 PM 编辑 ] |
|
|
|
|
|
|
|
|
|
|
发表于 27-12-2005 02:28 PM
|
显示全部楼层
原帖由 kr_kryptom 于 27-12-2005 01:29 PM 发表
大至上明白了,但这Use this together with <Cascading Style Sheets.>是什么意思?
那traditional不需要那么严格,可以给个例子吗?
是Transitional 。
Transitional其实和普通的html没有很大的分别,只是W3C将它的格式优化了以及遵循XML的文件规格。如果是和CSS,Javascript的兼容的话,XHTML肯定是最好的选择了。
根据W3C提供的资料,CSS2.0,XHTML 1.0 Strict是最佳组合,所以这是为什么这边会这么说Use this together with <Cascading Style Sheets.>。不过,XHTML Transitional一样也可以很好的支持CSS 2.0,有什么不同我就不太清楚了。
如果你要测试你的文件,可以到 http://validator.w3.org 查查看你的文件是否正确。
试试看以下例子:
到以上网站去测试以下这个code
- <?xml version="1.0" encoding="utf-8"?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- <html>
- <head>
- <title>XHTML Test</title>
- <style type="text/css" media="all">
- div#Content { margin:2em;padding:10px;border:1px solid red;}
- div.testDiv { background-color:lightgrey;width:400px;margin:auto;}
- </style>
- </head>
- <body>
- <div id="Content">
- <a href="#">This is a link in the form</a>
- <div class="testDiv">Above is the forbidden a element in XHTML Strict</div>
- </div>
- </body>
- </html>
复制代码
如果正确的话,网页会显示 This Page Is Valid XHTML 1.0 Strict!
现在试试看把其中一个</div>改成</DIV>,你会看到有一些错误的信息。因为XHTML是遵循XML的规格的,所以element的大小写不同就会出现错误。
如果把DOCTYPE那一行改成
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<!--注意:如果把DOCTYPE改成HTML的话,记得要把第一行的<?XML 声明去掉。//-->
之后再去validate一次,你会发现错误信息不见了,因为基本上HTML是忽略大小写的。
[ 本帖最后由 kfchai1982 于 27-12-2005 02:29 PM 编辑 ] |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 27-12-2005 05:44 PM
|
显示全部楼层
顺便请问一下,鼓励我学XML吗?
我学网页编程目的是要懂得解读,目前只回html,xhtml
哦,让你白写了一部分 :p,因为traditional我已经明白了,因为之前我的理解能力差,后来在读过才明白 |
|
|
|
|
|
|
|
|
|
|
发表于 28-12-2005 09:48 AM
|
显示全部楼层
原帖由 kr_kryptom 于 27-12-2005 05:44 PM 发表
顺便请问一下,鼓励我学XML吗?
我学网页编程目的是要懂得解读,目前只回html,xhtml
哦,让你白写了一部分 :p,因为traditional我已经明白了,因为之前我的理解能力差,后来在读过才明白
当然鼓励啦,现在XML的重要性已经与日俱增,学起来当然有好处。 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 29-12-2005 07:41 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 29-12-2005 07:53 PM
|
显示全部楼层
原帖由 kr_kryptom 于 29-12-2005 07:41 PM 发表
用xhtml编出来的网页能用手机看到吗?
可以。 |
|
|
|
|
|
|
|
|
|
|
发表于 29-3-2011 07:31 AM
|
显示全部楼层
在这里问一个菜鸟问题,为什么我的Internet Explorer无法显示xhtml的网业?IE小弟使用IE8,xhtml是用strict的DTD。一直显示Webpage not found。我用Chrome或者Firefox就没问题哦~ |
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|