【问题标题】:How to make ScrollPanel only visible when its inside widget is higher than it & not visible when its inside widget is shorter than it?如何使 ScrollPanel 仅在其内部小部件高于它时才可见,而当其内部小部件短于它时不可见?
【发布时间】:2013-10-01 12:51:04
【问题描述】:

好的,假设我有一个 height="500px" 的 ScrollPanel。 ScrollPanel 里面有一个 HTMLPanel。

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

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

但是,问题是当 HTMLPanel 短于 500px(例如 300px)时,没有出现滚动条,但 ScrollPanel 仍然显示 500px 的高度。所以有 200px 的高度间隙未使用,这是浪费空间和不可接受的。

请看这张图

那么,如何让 ScrollPanel 仅在其内部小部件高于它时可见,而在其内部小部件短于它时不可见?

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

【问题讨论】:

    标签: css gwt user-interface gwtp scrollpane


    【解决方案1】:

    是的,您可以这样做。您可以为 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" );
    

    【讨论】:

    • 您可以直接从 gwt 设置 css 属性。 p.getElement().getStyle().setProperty("maxHeight", "500px");
    猜你喜欢
    • 2011-11-16
    • 2022-07-05
    • 1970-01-01
    • 2021-11-28
    • 1970-01-01
    • 2023-03-06
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多