我正在寻求关于某些表单项上出现的不必要滚动条的一些建议。该问题的屏幕截图如下所示。请注意,这是最不需要的滚动条。
bad_scrollbars http://img21.imageshack.us/img21/9307/scrollfu.png
罪魁祸首似乎是以下css,在基于gecko的浏览器中添加overflow: auto;
以在窗口中形成项目(问题出现在Firefox上):
.ext-gecko .x-window-body .x-form-item {
outline: medium none;
overflow: auto;
}
删除这种风格可以解决问题,但我对可能的副作用持谨慎态度 - 虽然我还没有注意到任何副作用,但这种风格显然是有原因的。
知道更多关于Ext样式的人知道是否重写此css以删除overflow: auto;
样式会导致其他问题吗?
顺便说一句,这只是一个问题(到目前为止)与某个组件 - Ext.ux.form.MultiSelect组件的自定义扩展 - 即使其他组件使用更多的垂直空间。有谁知道可能的原因吗?
感谢您的帮助。
答案 0 :(得分:1)
overflow:auto告诉浏览器如果元素的内容大于元素客户区减去任何填充,则向元素添加滚动条。摆脱CSS中的滚动条就是这样。无论如何,它都会使滚动条消失。
您的工作的副作用是,如果客户端之外有内容,则使用将无法看到它。此外,除非您在自定义类中应用解决方法,否则这不仅会发生在此表单中,而且会发生在应用程序中的每个表单中。
正确的解决方法是弄清楚为什么您的内容区域大于表单的客户区域。 Firebug对此非常有帮助,因为您可以检查DOM并查看容器的大小以及所有子项的大小。
我怀疑你的清晰选择控件(这是一个自定义控件吗?)没有正确调整自己的大小(即在你的表单布局中你告诉它是x像素高但它实际上是自己调整x + 1(记住边距)表单布局正在完成所有工作,以决定包装区域(带滚动条的区域)的大小,控件必须适合该区域。