跨浏览器滚动条不一致

发布于 2024-11-16 16:39:40 字数 618 浏览 2 评论 0原文

我很难想出词语来描述这个问题。

请参阅此小提琴获取示例代码。

此问题源于使用 jQuery 插件[1] 用更可定制的内容替换 select 元素。本质上,我想要一个绝对定位的 div 具有最小宽度。

当列表没有滚动条时,浏览器似乎会以相同的方式呈现 div。

当列表太长时:

  • IE9将滚动条添加到内容区域的外部,添加到最小宽度
  • 所有其他浏览器将滚动条添加到内容区域的内部,保持最小宽度,同时在必要时添加水平滚动条。
  • 兼容模式下的 IE9 会恢复为与其他浏览器类似地显示滚动条。

我希望能够为所有浏览器呈现相同的列表。理想情况下,我希望有一个纯 CSS 解决方案,没有任何浏览器黑客或条件注释。

[1] 我与“abeautifulsite.net”没有任何关系

I'm having a hard time coming up with the words to describe this problem.

Please see this fiddle for example code.

This problem stemmed from using a jQuery plugin[1] to replace select elements with something more customizable. Essentially, I want an absolutely positioned div to have a minimum width.

When the list doesn't have a scrollbar, browsers seem to render the div identically.

When the list is too long:

  • IE9 adds the scrollbar to the outside of the content area, adding to the minimum width
  • all other browsers add the scrollbar to the inside of the content area, maintaining the minimum width, while adding a horizontal scrollbar if necessary.
  • IE9 in compatibility mode reverts to displaying the scrollbar similarly to other browsers.

I'd like to be able to render the list the same for all browsers. Ideally I'd like to have a pure CSS solution without any browser hacks or conditional comments.

[1] I am in no way affiliated with "abeautifulsite.net"

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

泪是无色的血 2024-11-23 16:39:40

正如您所了解的,所有浏览器对滚动条的处理方式都不同。所有不同的宽度和某些宽度已包含在元素宽度中,即使它们未使用,而其他宽度在显示时已添加到元素的宽度中。

使用以下 jQuery 插件 jScrollPane,您可以使用 CSS 自定义滚动条。这不是一个完美的解决方案,因为您将丢失所有默认滚动条。但从好的方面来说,您可以对元素宽度进行精确的跨浏览器控制。

http://www.kelvinluck.com/assets/jquery/jScrollPane/jScrollPane.html

All browsers handle scroll-bars differently as you've learned. All different widths and some are already included in the element width even when they're not used where others are added to the element's width when they show up.

With the following jQuery plugin, jScrollPane, you can customize the scroll-bars using CSS. It's not a perfect solution since you'll lose any default scroll-bars. But on the plus side, you'll have precise cross-browser control over your element widths.

http://www.kelvinluck.com/assets/jquery/jScrollPane/jScrollPane.html

在巴黎塔顶看东京樱花 2024-11-23 16:39:40

这似乎在 FF 3.6 和 IE8 中对我显示相同,没有 IE9 所以无法分辨:

  #scroll
{
border:  5px  solid #000;
height: 100px;
left:  0;
padding: 10px;
position: absolute;
top:  0;
min-width: 100px;
overflow-y:  scroll;
overflow-x:  visible;
}

This seem to display the same for me in FF 3.6 and IE8, don't have IE9 so can't tell:

  #scroll
{
border:  5px  solid #000;
height: 100px;
left:  0;
padding: 10px;
position: absolute;
top:  0;
min-width: 100px;
overflow-y:  scroll;
overflow-x:  visible;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文