2

我正在寻求一些关于出现在某些表单项上的不必要滚动条的建议。该问题的屏幕截图如下所示。请注意,最右边的滚动条是不必要的。

bad_scrollbars http://img21.imageshack.us/img21/9307/scrollfu.png

罪魁祸首似乎是以下 css,overflow: auto;在基于 gecko 的浏览器的窗口中添加表单项(问题出现在 Firefox 上):

.ext-gecko .x-window-body .x-form-item {
    outline: medium none;
    overflow: auto;
}

删除这种风格可以解决问题,但我对可能的副作用持谨慎态度 - 虽然我还没有注意到任何副作用,但显然包含这种风格是有原因的。

有谁知道更多关于 Ext 样式的人知道重写这个 css 以删除overflow: auto;样式是否会导致其他问题?

顺便说一句,这只是某个组件的问题(到目前为止) - Ext.ux.form.MultiSelect 组件的自定义扩展 - 即使其他组件使用更多垂直空间。有谁知道这可能的原因?

谢谢你的帮助。

4

1 回答 1

1

overflow: auto 如果元素的内容大于元素客户区减去任何填充,则告诉浏览器向元素添加滚动条。摆脱 CSS 中的滚动条就是这样做的。无论如何,它都会使滚动条消失。

您解决的副作用是如果客户端之外有内容,用户将无法看到它。此外,这不仅会发生在此表单上,而且会发生在应用程序中的每个表单上,除非您在自定义类中应用您的解决方法。

正确的解决方法是找出为什么您的内容区域大于表单的客户区域。Firebug 可以提供很大的帮助,因为您可以检查 DOM 并查看容器的大小以及所有子项的大小。

我怀疑您的清除选择控件(这是一个自定义控件吗?)本身的大小不正确(即在您的表单布局中,您告诉它的大小是 x 像素高,但实际上它本身的大小是 x+1(记住边距和填充) . 表单布局正在做所有的工作来决定使包装区域(带有滚动条的区域)有多大,并且控件必须适合该区域。

于 2011-01-14T13:15:19.147 回答