我有一个带有两级侧边栏菜单的网站。主菜单元素位于屏幕的左侧(top: 0
,left: 0
)。子菜单元素是主要元素的子元素,位于其旁边(top: 0
,left: 200px
)。他们都有position: fixed
,height: 100%
和width: 200px
。
我在两个元素上都设置了overflow-y: auto
,这样当它们对于窗口大小来说太大时,它们就会变成垂直可滚动的。
在某些情况下,这似乎会导致一个奇怪的问题(仅在Retina显示屏上显示Chrome,在所有显示屏上显示Safari)。主菜单元素的行为与overflow-x: hidden
的行为相同,因为它具有固定的宽度,子元素(子菜单)是不可见的。明确设置overflow-x: visible
无济于事。
Here's a simple codepen证明了这个问题。你应该看到两列,红色和蓝色,彼此相邻。如果您的浏览器存在问题,则只能看到左侧问题,但只要删除overflow-y: auto
,问题就会消失。