0

有没有办法可以设置视口的最小宽度?视口应该在这个宽度之外像往常一样工作。我在项目中使用 GXT 2.2.5 和 GWT 2.4。

提前谢谢。

4

3 回答 3

1

像往常一样:设置类似

body {
  min-width: 1000px;
}

在您的 CSS 文件中。

如果您使用的是 RootLayoutPanel 或其他绝对定位的东西,则在该容器上设置最小宽度,例如

// Java:

  RootLayoutPanel.get().addStyleName("requires-min-width");

// CSS:

  .requires-min-width {
    min-width: 1000px;
  }
于 2012-10-08T21:19:51.050 回答
0

直接取自 GXT 2.2.5 源代码的类级别 javadoc 的第一句;

一个 LayoutContainer 填充浏览器窗口并监视窗口大小调整。

因此,您不必设置最小宽度。它将填满浏览器窗口。然后,如果浏览器窗口调整大小,它应该随之调整大小。

于 2012-10-08T16:15:02.160 回答
0

我自己也遇到了这个。GWT 2.8 和 GXT 4.0.1

扩展 Viewport 类并覆盖 onWindowResize 和 doLayout 方法如下

         Viewport viewport = new Viewport() {

            @Override
            protected void onWindowResize(int width, int height) {
                int minWidthChecked = Math.max(width, MIN_WIDTH);
                int minHeightChecked = Math.max(height, MIN_HEIGHT);

                super.onWindowResize(minWidthChecked, minHeightChecked);
            }

            @Override
            protected void doLayout() {
                Size size = getContainerTarget().getStyleSize();
                size.setWidth(Math.max(size.getWidth(), MIN_WIDTH));
                size.setHeight(Math.max(size.getHeight(), MIN_HEIGHT));
                getContainerTarget().setSize(size);

                super.doLayout();
            }

        };

这样,实现 RequiresResize 的所有视口子项都将获得正确的宽度和高度。如果页面小于分钟,则需要覆盖 doLayout 以更正初始加载时的大小。

最后确保应用了以下样式

html {
   overflow: auto !Important;
}

body {
   min-width: 1024px;
   min-height: 800px;
}

出于某种原因,我认为 GWT 将溢出隐藏添加到 html 中。另一个好主意是使用 GSS 的 @eval 构造来引用 MIN_WIDTH 和 MIN_HEIGHT 的值,就像它在一个地方定义的那样。

于 2017-02-14T15:03:33.390 回答