我正在处理Opera11.5测试版中的一个问题(我假设这与所有Opera11版本相关),其中一个浮动的块级元素(一个无序列表)被赋予一个任意的固定宽度,并导致子元素包装-与IE6的方式相同。
该元素向右浮动,当前没有同级元素。我的样式表中没有为列表指定宽度。
我想知道在这些情况下Opera使用哪种逻辑来计算宽度?
我已经上传了一张比较Opera11.5和Firefox 4.1的图片,上面有Dragonfly/Firebug输出。
http://twitpic.com/55f79o/full
jsFiddle:http://jsfiddle.net/i_like_robots/HKAQ9/
发布于 2011-06-02 00:08:07
我还不知道为什么(稍后再看)
但是Opera不喜欢没有宽度的replace类
.replace {
display:block;
overflow:hidden;
text-indent:-9999px;
background: no-repeat 0 0;
width: 10px;
}我假设这个类(按照它的名字)是用来放置一个替换的背景图像的,所以应该可以给它加上一个宽度吧?
更新了它连接到文本隐藏的text-indent方法-没有文本缩进,在Opera语言中也很好用
发布于 2011-10-23 14:25:22
根据我的说法,这是歌剧中的一个bug。
当计算一个元素的宽度时,它是根据所有子元素宽度的总和来计算的,但是如果你有2个Div元素作为子元素显示为block元素,那么实际上宽度并不是这两个元素的总和。
要解决这个问题,你需要做的就是指定父元素的宽度,而不是让Opera来计算。
@clairesuzy -你可以通过我在http://www.go4expert.com/forums/showthread.php?t=27000上发布的代码看到这个bug的实际效果
https://stackoverflow.com/questions/6200963
复制相似问题