为什么通过了XHTML1.0验证却无法在firefox中正常

阅读:6410回复:11
2005-04-14 10:40
写私信
楼主#
<!-- w --><a class="postlink" href="http://www.cocobbs.com/index.asp">www.cocobbs.com/index.asp</a><!-- w -->

这是我的论坛首页,用动网的系统,不过自己已经把字符集改成了utf-8,并且不断修改首页,终于通过了xhtml1.0 Transitional 的w3c验证。

首页的文件头是:

<?xml version="1.0" encoding="UTF-8"?>
<!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" lang="zh-CN" xml:lang="zh-CN">

现在有一个比较大的问题,就是首页能正常在ie6.0中显示,但在firefox1.0.2中显示却完全错乱。

如果把第一行的xml声明去掉的话,在IE6中和firefox一样也无法正常显示了。

如果把doctype 和html的xmlns去掉,ie和firefox才能都正常显示,但是这样却通不过xhtml验证了。

各位dx,请问怎么回事?
用技术呈现美丽
www.21show.com
2005-04-14 10:40
写私信
1楼#
主要是CSS的问题而不是xhtml的问题.
另外,你加了DOCTYPE以后,特别是在你的网页可以通过W3C validator的条件下,Firefox也会以标准模式来解析你.
当你去掉DOCTYPE以后,Firefox认为你对标准支持的不好,以quirk mode来解析你,反而整齐了.
仔细检查你的css吧.
2005-04-14 10:40
写私信
2楼#
http://www.cocolee.cn/Skins/2005/css/main.css
http://www.cocobbs.com/z_OnlineSex.CSS
http://www.cocobbs.com/Dv_plus/Events/s ... DvSkin.css

这是我首页调用的三个css,刚刚我仔细修改了。
现在都已经通过了css验证。
可firefox还是老样子,不正常啊
用技术呈现美丽
www.21show.com
2005-04-14 10:40
写私信
3楼#
验证通过不代表没有错误.就象程序编译通过不代表没有bug,只代表没有语法错误一样.
我现在看到的问题是background-image中url的路径都不完整,虽然语法上没有错误,但是无法通过这个url找到图片
把类似下面这些
background-image: url(2005_bg.gif);

都改成
background-image: url(Skins/2005/css/2005_bg.gif);

也就是说给出完整和正确的路径.
2005-04-14 10:40
写私信
4楼#
大大们好强啊,看不懂的说
那一刻,繁华散尽
2005-04-14 10:40
写私信
5楼#
我按照4楼的方法修改了,还是没有用。

估计还不是路径的问题。

看来要用严格的xhtml标签,论坛里面的表格都要取消,使用div层代替才行了
用技术呈现美丽
www.21show.com
2005-04-14 10:40
写私信
6楼#
你试试把这部分代码去掉
lang="zh-CN" xml:lang="zh-CN"

把声明改成这样
<?xml version="1.0" encoding="UTF-8"?>
<!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">
It's not who I am underneath but what I do defines me.

2005-04-14 10:40
写私信
7楼#
http://www.a9vg.com/user/96000/95856/picbox/1162400461.jpg
兄弟如手足,老婆如衣服,谁动我衣服,我砍他手足;
老婆如衣服,兄弟如手足,谁动我手足,我穿他衣服。
2005-04-14 10:40
写私信
8楼#
飞雪尔:我按照4楼的方法修改了,还是没有用。

估计还不是路径的问题。

看来要用严格的xhtml标签,论坛里面的表格都要取消,使用div层代替才行了
回到原帖

你能说清楚你到底碰到的是什么问题么?
我看到的就是背景图片不正确的问题,只要给出正确路径就能解决.
如果你还有其他的问题,请描述清楚,只说"有问题",别人很难理解的.
2005-04-14 10:40
写私信
9楼#
如版主所说,问题主要出在css上。
ie系列和ff对css的解释是不一样的,简单来讲,ie6对css的支持仍然有bug,ie5更别提,也许你的页面在ie5下走形的更厉害。
ie系列比较著名的bug有ie5对box model的解释错误、浮动链接bug,浮动元素的双倍边距bug等(这个5和6都存在)
想要完全符合标准又想在所有的浏览器上看起来都一样是需要下功夫苦学的,建议你来这里看看
http://www.w3cn.org
http://www.blueidea.com/bbs/list.asp?Gr ... 7%A8%C0%B8
2005-04-14 10:40
写私信
10楼#
<?xml version="1.0" encoding="UTF-8"?>

注意加了这段代码会使ie6错误的关闭标准模式以quirk模式描绘页面
2005-04-14 10:40
写私信
11楼#
谢谢大家。

因为我是在dvbbs的基础上修改的。

后来我仔细读过很多web标准方面的文章。也去msdn上搜索了一些资料,才知道原来添加xml标记之后,ie会关闭标准模式。

而让ie使用标准模式显示的话,也和firefox的效果一样。

我再好好修改修改吧
用技术呈现美丽
www.21show.com