有没有人更了解Opera大纲bug?
检查出来:
我正在使用最新的Opera,我已经检查了两台具有不同Opera版本的不同机器,它们都呈现如下:
http://img156.imageshack.us/img156/3209/divs.png
那是什么?在任何FF / Safari / Chrome中,轮廓都会低于灰色区域,但在Opera中它仍然位于上方(即使div父级位于下方!)。
谷歌搜索仅提供“Opera 9.5+ CSS bug:渲染大纲超过绝对定位”链接,但它不想打开。
任何临时修复?或者也许我是盲人并在某处犯了一个可怕的错误?
答案 0 :(得分:5)
这更像是Opera缺少的规范而不是bug。根据规范,一个错误构成不起作用的东西,Opera根据步骤10遵循W3标准 - http://www.w3.org/TR/CSS21/zindex.html)
这是Opera缺少的规范,因为没有办法在最后一个块上面设置一个样式,即“轮廓”。
当我们可以使用边框或盒子阴影时,最好不要使用轮廓但我不能这样做,因为我有一个工具提示,成千上万的人独立加载到他们的网站上。而且我没有改变每个人的模板样式的奢侈,也不是我想要的。
我已向Opera(DSK-339836)提交了错误报告。希望他们能给我们一种方法来绘制最后绘制的东西(即大纲)
答案 1 :(得分:3)
这不是错误!
http://www.w3.org/TR/CSS21/ui.html#dynamic-outlines
使用轮廓属性创建的轮廓在“框”上方绘制, 即,轮廓始终位于顶部,并且不会影响轮廓 盒子或任何其他盒子的位置或大小。因此, 显示或抑制轮廓不会导致回流或溢出。
大纲不应该是“只是另一个边界”的财产。它更需要围绕某些元素进行调试或创建可视UI提示。
答案 2 :(得分:1)
这本身并不是“错误”,而是规范实施方式的差异。轮廓突出显示框的边缘。而已。它不应该用作边界。如果你仔细观察,你会发现只有红色轮廓与另一个盒子重叠,但是黑色边框没有。
您是否有理由使用边框和大纲和重叠的div?这似乎是一个奇怪的用例。如果你需要同时使用它们,你可以使用box-shadow作为一个黑客来获得你想要的效果在最近的浏览器:box-shadow: 0px 0px 0px 1px red;
。
答案 3 :(得分:0)
首先:我看到了很多话题,没有明智的答案。
第二:Opera中的outline属性似乎具有正Z-Index并且始终位于所有其他Z-Index之上。
第三:我来找一个修复或处理它,但反而得到了垃圾和意见,我们都知道什么意见。我将此视为一个浏览器代码问题,它将轮廓与元素分开,并为其提供一个正Z-Index高于其他所有内容。我尝试过的所有其他浏览器都可以正常工作,包括Opera以外的移动浏 我曾经喜欢Opera作为移动浏览器,但我现在看到更多的退缩了。
我在这一点上看到的唯一修复是一个浏览器ID脚本,它删除了Opera浏览器的outline属性。
答案 4 :(得分:-1)
是的,这是一个错误!
CSS 2.1轮廓在以下方面与边界不同: 大纲不占用空间。 轮廓可以是非矩形的。
所以没有任何地方指出轮廓应该在其他方框之上。边界不这样做!在自己的盒子上面绘制轮廓是好的,但就是这样。上面的另一个框具有更高的z-index,它不应该是可见的。
我甚至不能在带有轮廓的div上显示一个漂浮的弹出窗口,它会闪耀!这是完全错误的。没有其他浏览器这样做。