是什么导致Firefox中出现HTML/CSS呈现问题?

是什么导致Firefox中出现HTML/CSS呈现问题?,html,css,xhtml,Html,Css,Xhtml,风格: h2{ 颜色:#71D0FF; 字体大小:11px; 字体大小:粗体; 保证金:0px 0px 5px 0px; } a、 盒子{ 颜色:#FFFFFF!重要; 光标:指针; 显示:块; 填充:10px; 文本对齐:对齐; } a、 框:悬停{ 背景色:#0c; } a、 箱跨向下{ 显示:块; 颜色:#D04242; 浮动:对; 字体大小:11px; 左边距:5px; } a、 箱跨{ 显示:块; 颜色:#71D013; 浮动:对; 字体大小:11px; } 斯潘·努布{ 颜色:#FF

风格:

h2{
颜色:#71D0FF;
字体大小:11px;
字体大小:粗体;
保证金:0px 0px 5px 0px;
}
a、 盒子{
颜色:#FFFFFF!重要;
光标:指针;
显示:块;
填充:10px;
文本对齐:对齐;
}
a、 框:悬停{
背景色:#0c;
}
a、 箱跨向下{
显示:块;
颜色:#D04242;
浮动:对;
字体大小:11px;
左边距:5px;
}
a、 箱跨{
显示:块;
颜色:#71D013;
浮动:对;
字体大小:11px;
}
斯潘·努布{
颜色:#FFA142;
}
span.pro{
颜色:#A142A1;
}
HTML(基本上每个链接都会重复):


我不理解的是为什么它在Firefox中偶尔呈现出不同的效果。有时它会像预期的那样出现,有时它会以一种奇怪的形式出现,如图所示:


我以前从未发生过这样的事,有人知道是什么原因吗?它会为其他人做这件事吗?就像我之前说过的,有时候它加载得很好(完全相同的HTML、CSS和所有内容),有时候则不然。这似乎有点随机。它在IE中运行良好,没有任何奇怪的问题。

在Safari、Chrome和Firefox 3.5中运行良好

我试着反复刷新。没有运气重复你的问题。您是否尝试过清除缓存

检查Safari或Web Developer(FF插件)中的元素也不会发现任何异常


N00B BLAZE是否总是在每次看到问题时都会出错?还是它是随机出现的?

对我来说,有时候Firefox无法正确加载CSS,它通常是全部,而不是部分地发生在你身上。对我来说,虽然装载正确。您最近是否有机会更改过它,并且不允许正确刷新

我有点惊讶,它没有比它表现得更糟糕

您已将块元素(
h2
)放在内联元素(
a
)中。标记被破坏了,不同的浏览器会做不同的事情来充分利用它。可能发生的一件事是浏览器在块元素之前添加链接的结束标记


我们使用一个内联标记而不是
h2
标记,并使用CSS将其样式设置为您想要的样式。

有趣。我完全可以在FF3.6上复制它,事实上,我越来越频繁地得到损坏的版本

我现在无法理解它,但在Firefox中看到它时,链接出现了一些问题。如果在Firebug中打开“inspect element”,您将注意到呈现的DOM在完整视图和破损视图之间肯定会发生变化。Firebug还将在链接中添加
\u moz-rs-heading
,这在某种程度上已经解释过了


第一步肯定是检查它是否仍然发生

当我通过蜂鸣器访问您的站点时,问题出现在FF3.6中。使用Firebug查看HTML,问题在于错误显示的行在
中的文本周围有一个额外的
包裹。也许你的数据库中包含了一些HTML,它应该是文本?

我也有同样的问题

我已经把范围缩小到这个了。仅当我在多个元素周围放置链接时才会发生这种情况(在我的示例中,它涉及一个(或多个)块元素和一个(或多个)内嵌元素

这是非常奇怪的,因为它似乎只影响您使用上述方法创建的“每隔一个”错误。它将修改第一个和第三个div输出,但不会修改第二个。(起初它只影响第二个,但我部分修复了问题。)(它过去也会弄乱H2,但将链接放在H2周围只会使它们避免出错

因此,归根结底,它只能在一个块元素周围放置一个链接,我没有用多个块元素测试错误,只有一个块元素和多个内联元素不匹配

如果有人在firefox中对此问题有任何解决方法,请告诉我。在IE、Opera或Chrome中似乎不会出现这种情况


同样,对于那些认为这是糟糕的标记的人来说,它被包含在下一版本的html5中是有效的,并且这是唯一的方法(没有javascript/etc)做这些类型的链接。Firefox显然是为了正确地显示这个标记而编码的,但由于某些原因,它有一些类型的错误,使得它有时由于未知的原因以不同的方式呈现。无论它需要修复还是开发一个解决方案,我都可以使每个元素都有一个单独的块并可能修复它,但这是一个很大的问题xtra不必要的代码。

我已经玩了一点,似乎总是第二个链接出错。我注意到,每当我上传一个新版本的页面,它第一次正确显示,当我刷新页面时,它又出错了……这是很好的一点,可能是问题的根源,但它仍然没有真正解决解释为什么它会在刷新之间改变行为(确实如此)。将所有h2标记更改为带有类的span似乎已经解决了这个问题,但我不知道如何在span和它下面的文本之间添加5px的空格,而不使用块级元素。目前它没有访问数据库,它只是PHP文件中的纯HTML,以便我可以测试它的外观。