【问题标题】:Calculation of element widths when floated in Opera 11.*在 Opera 11 中浮动时计算元素宽度。*
【发布时间】:2011-06-01 12:16:03
【问题描述】:

我正在处理 Opera 11.5 测试版中的一个问题(我假设这与所有 Opera 11 版本相关),其中浮动的块级元素(无序列表)被赋予任意固定宽度并导致子元素换行 - 以与 IE6 相同的方式。

元素向右浮动,目前没有兄弟姐妹。我的样式表中没有为列表指定宽度。

我想知道 Opera 在这些情况下使用什么样的逻辑来计算宽度?

我上传了一张图片,将 Opera 11.5 与 Firefox 4.1 与 Dragonfly/Firebug 输出进行比较。

http://twitpic.com/55f79o/full

jsFiddle:http://jsfiddle.net/i_like_robots/HKAQ9/

【问题讨论】:

标签: css layout opera css-float


【解决方案1】:

在我看来这是 Opera 中的一个错误。

当计算一个元素的宽度时,它会根据所有子元素的宽度的总和来计算,但如果你有 2 个 Div 元素作为子元素显示为块元素,那么实际上宽度并不是两个元素的总和。

要解决这个问题,您只需指定父元素的宽度,而不是让 Opera 进行计算。

@clairesuzy - 您可以使用我在此处发布的代码http://www.go4expert.com/forums/showthread.php?t=27000

看到正在运行的错误

【讨论】:

    【解决方案2】:

    我还不知道为什么(稍后再看)

    但 Opera 不喜欢没有宽度的 replace

    .replace {
        display:block;
        overflow:hidden;
        text-indent:-9999px;
        background: no-repeat 0 0;
        width: 10px;
    }
    

    我认为这个类(按它的名字)是用来放置一个替换的背景图像,所以在它上面放一个宽度应该可以吗?

    更新它连接到 text-indent 文本隐藏方法 - 没有文本缩进它在 Opera 中也很好

    【讨论】:

    • 很好的调查工作!我将对此进行研究,以确定它是否是我们可以忽略的明确错误或怪癖。
    猜你喜欢
    • 1970-01-01
    • 2012-04-20
    • 1970-01-01
    • 2016-08-16
    • 1970-01-01
    • 1970-01-01
    • 2019-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多