Java 瓦丁反应柱
我刚开始使用Vaadin,一直在尝试如何在全屏显示时使两个组件并排显示,但在屏幕移动时,这两个组件会堆叠在一起Java 瓦丁反应柱,java,css,vaadin,responsive,Java,Css,Vaadin,Responsive,我刚开始使用Vaadin,一直在尝试如何在全屏显示时使两个组件并排显示,但在屏幕移动时,这两个组件会堆叠在一起 我目前的理解是,水平布局将事物并排放置。垂直布局将事物置于彼此之上。那么,如何使用这两种布局的功能呢?您可以组合布局,您可能希望在垂直布局中放置两个水平布局。想想“盒子里的盒子”。从那里你可以通过css微调你的布局,只需分析生成的HTML 不久前,这可能会有所帮助。您需要研究使用不同的布局类型。Vaadin为您提供CssLayout和CustomLayout以及标准垂直和水平布局 目前
我目前的理解是,水平布局将事物并排放置。垂直布局将事物置于彼此之上。那么,如何使用这两种布局的功能呢?您可以组合布局,您可能希望在垂直布局中放置两个水平布局。想想“盒子里的盒子”。从那里你可以通过css微调你的布局,只需分析生成的HTML
不久前,这可能会有所帮助。您需要研究使用不同的布局类型。Vaadin为您提供CssLayout和CustomLayout以及标准垂直和水平布局 目前,我个人最喜欢的是使用CssLayout,然后使用定制使组件响应 Java:
@StyleSheet("MyStyleSheet.css")
public class ResponsiveLayout extends CssLayout {
private static final long serialVersionUID = -1028520275448675976L;
private static final String RESPONSIVE_LAYOUT = "responsive-layout";
private static final String LABEL_ONE = "label-one";
private static final String LABEL_TWO = "label-two";
private Label labelOne = new Label();
private Label labelTwo = new Label();
public ResponsiveLayout() {
config();
addComponents(labelOne, labelTwo);
}
private void config() {
addStyleName(RESPONSIVE_LAYOUT);
labelOne.addStyleName(LABEL_ONE);
labelTwo.addStyleName(LABEL_TWO);
}
}
.responsive-layout {
display: grid !important;
grid-template-rows: auto;
grid-template-columns: 1fr 1fr;
display: -ms-grid !important; /* IE */
-ms-grid-rows: auto; /* IE */
-ms-grid-columns: 1fr 1fr; /* IE */
}
.label-one {
grid-column: 1;
-ms-grid-column: 1; /* IE */
}
.label-two {
grid-column: 2;
-ms-grid-column: 2; /* IE */
}
@media all and (max-width : 992px) {
.responsive-layout {
grid-template-columns: 1fr;
-ms-grid-columns: 1fr; /* IE */
}
.label-one {
grid-column: 1;
-ms-grid-column: 1; /* IE */
}
.label-two {
grid-column: 1;
-ms-grid-column: 1; /* IE */
}
}
CSS:
@StyleSheet("MyStyleSheet.css")
public class ResponsiveLayout extends CssLayout {
private static final long serialVersionUID = -1028520275448675976L;
private static final String RESPONSIVE_LAYOUT = "responsive-layout";
private static final String LABEL_ONE = "label-one";
private static final String LABEL_TWO = "label-two";
private Label labelOne = new Label();
private Label labelTwo = new Label();
public ResponsiveLayout() {
config();
addComponents(labelOne, labelTwo);
}
private void config() {
addStyleName(RESPONSIVE_LAYOUT);
labelOne.addStyleName(LABEL_ONE);
labelTwo.addStyleName(LABEL_TWO);
}
}
.responsive-layout {
display: grid !important;
grid-template-rows: auto;
grid-template-columns: 1fr 1fr;
display: -ms-grid !important; /* IE */
-ms-grid-rows: auto; /* IE */
-ms-grid-columns: 1fr 1fr; /* IE */
}
.label-one {
grid-column: 1;
-ms-grid-column: 1; /* IE */
}
.label-two {
grid-column: 2;
-ms-grid-column: 2; /* IE */
}
@media all and (max-width : 992px) {
.responsive-layout {
grid-template-columns: 1fr;
-ms-grid-columns: 1fr; /* IE */
}
.label-one {
grid-column: 1;
-ms-grid-column: 1; /* IE */
}
.label-two {
grid-column: 1;
-ms-grid-column: 1; /* IE */
}
}
你可以用一个。使用网格系统
您可以查看一个这是如何解决OP问题的?如果您将组件放在
水平仪中,它将始终尝试调整它们的大小,使其与屏幕上的水平仪相适应。