【发布时间】:2010-02-23 20:29:00
【问题描述】:
我现在在不同的浏览器(IE、FF、Safari、Chrome)中测试了我的网站,到目前为止 sIFR 运行良好。但是在 Opera 中,超过一行的文本会在一行中呈现而没有中断。
可以解决这个问题,使其正确呈现吗?
【问题讨论】:
-
这是 Opera 版本 10.10
-
你能把代码贴出来吗?
我现在在不同的浏览器(IE、FF、Safari、Chrome)中测试了我的网站,到目前为止 sIFR 运行良好。但是在 Opera 中,超过一行的文本会在一行中呈现而没有中断。
可以解决这个问题,使其正确呈现吗?
【问题讨论】:
好的,这很奇怪。我现在可以使用它,但我没有更改我的 sIFR 配置或与 sIFR 实施相关的任何其他内容。
我所做的是更改我的主 HTML 文件。我用<p>标签切换<span>,并相应地在相应的css文件中移动了一些标记语句,如
#div {
... markup that already was there and works in the other browsers
}
到
#div p {
... most of the markup here now
}
好吧,虽然我很高兴它现在可以工作。我真的很想知道这背后的问题是什么!?
【讨论】:
从逻辑上讲,Opera 似乎没有正确处理 spans 内的文本,因为它只是将封装在 p 标签内的文本包装起来(对于非段落文本,它会将其处理为 nowrap ...?)
对于文本来说,这似乎是一种奇怪的行为,但是 Flash 的引入以及 Opera 对此的处理,IMO 总是有点奇怪。也许这与文档顶部定义的标准有关。您使用的是严格的还是过渡的?或者也许这是一个怪癖模式?这可能与overflow (:visible) 以及 Opera 将新替换的 sIFR 文本解释为仅包含“某物”而不是文本的层有关吗?
抱歉,这与其说是一系列假设的答案,但我不能将此作为评论添加,因为我在 SO 上还没有足够高的代表。
您可能会从阅读诸如 http://www.cs.tut.fi/~jkorpela/quirks-mode.html 之类的文档中获得一些灵感,因为我发现 Opera 过去本身就有点古怪。有时符合标准可能太符合标准;-)
【讨论】: