对于CMS的后端解决方案,我想让用户将任何CMS元素切换为float:故意离开。但是,我不得不发现,因为我的所有容器元素也使用相对定位,所以放置在浮动元素旁边的任何元素将与该元素重叠(仅作为块,而不是内容),从而使用户无法使用任何其他元素控件。
<div id="container1" class="elContainer" style="float: left;"></div>
<div id="container2" class="elContainer" style=""></div>
.elContainer {
position: relative;
}
您可以尝试使用此jsFiddle设置来测试问题:http://jsfiddle.net/PNktA/ 如果从第一个外部容器中删除浮动,则可以单击“编辑”按钮。如果保留浮动,则无法单击它。
我试图找到一个可以在这里工作的解决方案,但我没有这样做。有谁知道我怎么解决这个问题?
如果解决方案仅适用于FF和Safari,那就没关系,因为我可以要求在后端使用这些浏览器。
感谢您的帮助!
答案 0 :(得分:2)
如果在第一个elContainer元素上设置比第二个更高的z-index,则可以成功单击编辑控件。
答案 1 :(得分:2)
Brighty 已经提供了解决方案,但也许我可以解释为什么“问题”实际发生。
据我所知,它与子弹点1有关,因为第2点:
定位的元素位于浮动的非定位兄弟之上。
在渲染树中出现以后的元素在上面的兄弟姐妹上面。
在您的示例中,带有红色框的.elContainer
实际上已定位。所以上面的规则1不适用,但我还是把它包括在内,因为知道它很有用。但是,带有红色框的.elContainer
会在源/渲染树中的.elContainer .someTextBlock
之前显示,因此文本块会在红色框顶部绘制。如果您在文本框中添加background-color
,您会在视觉上注意到它是在红色框上方绘制的。见http://jsfiddle.net/PNktA/2/