css - 如何使 ScrollPanel 仅在其内部小部件高于它时可见,而当其内部小部件低于它时不可见?

标签 css gwt user-interface gwtp scrollpane

好吧,假设我有一个 height="500px"的 ScrollPanel。在该 ScrollPanel 中有一个 HTMLPanel。

有时,HTMLPanel 包含更多内容,因此它会高于“500px”,例如:700px。另一次,HTMLPanel 的内容较少,因此它会比“500px”短,例如:300px。

当 HTMLPanel 高于 500px 时,会出现滚动条。这是有道理的。没问题。

但是,问题是当 HTMLPanel 小于 500px(例如,300px)时,没有出现滚动条,但 ScrollPanel 仍然显示 500px 的高度。所以有 200px 的高度差距没有使用,这是一种空间浪费,也是 Not Acceptable 。

请看这张图 enter image description here

那么,如何让 ScrollPanel 只在其内部 widget 高于它时可见,而当其内部 widget 低于它时不可见?

我们可以通过 Css 或编码修复它吗?

最佳答案

是的,你可以做到。您可以为 ScrollPanel 指定最大高度。

ScrollPanel p = new ScrollPanel();
p.getElement().getStyle().setProperty( "maxHeight", "500px" );

因此,当您的 HTML 面板为 300px 时,滚动面板的高度将为 300px。当 HTML 面板高度 > 500px 时,ScrollPanel 将显示滚动条

另一种方式:

假设您在 ScrollPanel 中添加了一个名为 .scp 的类,那么 css 将是

.scp
{
  max-height: 500px
}

然后将该类添加到您的滚动面板

ScrollPanel p = new ScrollPanel();
p.addStyleName( "scp" );

关于css - 如何使 ScrollPanel 仅在其内部小部件高于它时可见,而当其内部小部件低于它时不可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19105262/

相关文章:

jquery - 将数组列表中的颜色添加到 li 然后循环返回

eclipse - 安装以前版本的 GPE?

java - 如何设计美观的 GWT 应用程序?

java - 如何获取预定事件与 JavaFX GUI 交互

c++ - 如何让 UI 对象仅在单击按钮后出现在对话框中

html - 在 div 中转换图像

css - 导航器在浏览器中更改颜色

javascript - 按下按钮不会加载 gui

gwt - 为 GWT RPC 异步调用启用缓存

具有单独控制功能的 Java Swing 按钮网格