无法使用 Vaadin 中的 scss 删除面板和页面顶部之间的边距
Cannot remove the margin between the panel and the top of the page with scss in Vaadin
我想使用面板作为我的 UI 的内容,而不是 Window,但我仍然希望 header 部分存在于 Window class。所以我尝试了这个,但效果不佳:
@Theme("mytheme")
@CDIUI("")
public class MyUI extends UI {
@Inject
private CDIViewProvider provider;
@Override
protected void init(VaadinRequest request) {
Navigator navigator = new Navigator();
navigator.addProvider(provider);
navigator.navigateTo("mypanel");
}
}
然后,在我的 MyPanel class 中,我将 header 设置为这样的面板;
@CDIView("mypanel")
public class MyPanel extends com.vaadin.ui.Panel implements View {
@Inject
private MySubPanel mySubPanel;
@Override
public void enter(ViewChangeListener.ViewChangeEvent event) {
FormLayout layout = new FormLayout();
Panel headerPanel = new Panel();
headerPanel.addStyleName("header-panel");
layout.addComponent(headerPanel);
layout.addComponent(mySubPanel);
this.setContent(layout);
}
}
最后,在 mytheme.css
我有以下内容:
@import "../valo/valo.scss";
@mixin mytheme {
// some scss code
}
.header-panel {
height: 50px;
width: 100%;
background: red repeat-x;
margin: 0px;
padding-top: 0px;
}
headerPanel
以正确的尺寸和背景颜色显示,但它仍然是面板上方和左侧的白色小空 space。我怎样才能删除那个边距?
我认为你的 css 应该在 mythem 标签内:
@import "../valo/valo.scss";
@mixin mytheme {
.header-panel {
height: 50px;
width: 100%;
background: red repeat-x;
margin: 0px;
padding-top: 0px;
}
}
你可以尝试设置:
setMargin(false);
setSpacing(false);
在您的 FormLayout 上
我想使用面板作为我的 UI 的内容,而不是 Window,但我仍然希望 header 部分存在于 Window class。所以我尝试了这个,但效果不佳:
@Theme("mytheme")
@CDIUI("")
public class MyUI extends UI {
@Inject
private CDIViewProvider provider;
@Override
protected void init(VaadinRequest request) {
Navigator navigator = new Navigator();
navigator.addProvider(provider);
navigator.navigateTo("mypanel");
}
}
然后,在我的 MyPanel class 中,我将 header 设置为这样的面板;
@CDIView("mypanel")
public class MyPanel extends com.vaadin.ui.Panel implements View {
@Inject
private MySubPanel mySubPanel;
@Override
public void enter(ViewChangeListener.ViewChangeEvent event) {
FormLayout layout = new FormLayout();
Panel headerPanel = new Panel();
headerPanel.addStyleName("header-panel");
layout.addComponent(headerPanel);
layout.addComponent(mySubPanel);
this.setContent(layout);
}
}
最后,在 mytheme.css
我有以下内容:
@import "../valo/valo.scss";
@mixin mytheme {
// some scss code
}
.header-panel {
height: 50px;
width: 100%;
background: red repeat-x;
margin: 0px;
padding-top: 0px;
}
headerPanel
以正确的尺寸和背景颜色显示,但它仍然是面板上方和左侧的白色小空 space。我怎样才能删除那个边距?
我认为你的 css 应该在 mythem 标签内:
@import "../valo/valo.scss";
@mixin mytheme {
.header-panel {
height: 50px;
width: 100%;
background: red repeat-x;
margin: 0px;
padding-top: 0px;
}
}
你可以尝试设置:
setMargin(false);
setSpacing(false);
在您的 FormLayout 上