Windows上几乎所有浏览器都有滚动条(Mac没有)

5
我有一个作为弹出窗口的div(绝对定位等)。 现在我在不同平台上进行测试时发现,在Windows上的几乎所有浏览器中都会出现滚动条,即使没有需要滚动的内容... 但在Mac上却不会出现。 我附上了一张图片,这只是众多情况之一。 我不想要那些滚动条,我该怎么办? 我尝试了overflow:hidden;并且搜索了很多资料,但似乎找不到解决方案!非常感谢任何帮助!

this is the right end of a div I use as a "popup"


在Mac OS X上,滚动条不是已经隐藏了吗?只有在你实际滚动时才会显示出来吧? - Uwe Keim
4个回答

2
我也遇到了这个问题,后来在谷歌上找到了以下内容:https://css-tricks.com/almanac/properties/o/overflow/。对我来说,解决方法是将div的溢出设置为hidden。我没有意识到我的CSS仍然设置为“scroll”,即使在PC浏览器(使用Chrome和IE尝试)上不必要也会呈现滚动条,但在我使用的任何Mac OS浏览器上(Safari,Firefox,Chrome和Opera)都不会出现这种情况。下面是div选项: div { overflow: visible | hidden | scroll | auto | inherit }。

2

没有看到您的实际代码,很难确定,但很可能您在CSS中的某个地方指定了属性overflow: visible,这将强制导航显示。

如果是这样,您需要将overflow: visible更改为overflow: auto,这样只有在页面/元素需要滚动时才会显示滚动条。

最初的回答:

若无法查看您的实际代码,则难以确定问题。但很可能您在CSS中的某处使用了overflow:visible属性,这会导致导航显示。如此一来,您需要将overflow:visible更改为overflow:auto,这样只有在需要滚动页面或元素时才会显示滚动条。


1
与ekfuhrmann所说的类似,如果您将overflow的值更改为overflow: auto,则它仅在必要时显示滚动条。
您还可以通过执行overflow-x: autooverflow-y: hidden来非常具体地控制滚动条。

0
如果您的意图是创建一个弹出窗口,您可以使用position: fixed,但这与您所问的无关。
我建议使用Chrome开发者工具来确定滚动条究竟附加在哪里。这应该能帮助您找出问题所在。

谢谢D34...是的,我试过了,但找不到它。我真的认为这是Windows做的事情,因为在Windows上的所有浏览器中都有它。 - Melvin
@Melvin 你最终解决了这个问题吗? - user2168130
@user2168130 很抱歉回复晚了。不幸的是,我找不到一个合适的解决方案。 - Melvin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接