Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gwt 如何在使用RootLayoutPanel和DockPanel时设置5%的边距_Gwt_Layout_Css - Fatal编程技术网

Gwt 如何在使用RootLayoutPanel和DockPanel时设置5%的边距

Gwt 如何在使用RootLayoutPanel和DockPanel时设置5%的边距,gwt,layout,css,Gwt,Layout,Css,我一直在玩GWT2,我发现很难得到我想要的基本页面布局。基本上,我使用的是DocLayoutPanel,其中我添加了一个北(页眉)、南(页脚)、西(导航)和内容区域。我希望文档面板占据90%的页面并居中。那会有5%的利润。然而,由于GWT使用了顶部、左侧、右侧和底部样式,它使用我的正常策略(margin:auto)来居中不起作用 我怎样才能通过GWT方式实现我想要的目标?从阅读您的问题来看,不清楚您在问什么,但我认为您希望整个码头面板有5%的利润率 GWT2.0中所有新的*LayoutPanel

我一直在玩GWT2,我发现很难得到我想要的基本页面布局。基本上,我使用的是DocLayoutPanel,其中我添加了一个北(页眉)、南(页脚)、西(导航)和内容区域。我希望文档面板占据90%的页面并居中。那会有5%的利润。然而,由于GWT使用了顶部、左侧、右侧和底部样式,它使用我的正常策略(margin:auto)来居中不起作用


我怎样才能通过GWT方式实现我想要的目标?

从阅读您的问题来看,不清楚您在问什么,但我认为您希望整个码头面板有5%的利润率

GWT2.0中所有新的*LayoutPanel都使用css绝对定位,这就是为什么您会看到顶部/左侧/右侧/底部样式。这就是为什么你要制定利润战略:汽车不起作用

DockLayoutPanel实际上只是用于布局。我建议调整DockLayoutPanel中的小部件的边距,以达到您想要的效果

我自己也试过这个,我接近于一个答案,但它并不完美。我在每个dockpanel中放置了一个边距为10px的标签,但右边框和下边框不显示边距

<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
    xmlns:g="urn:import:com.google.gwt.user.client.ui">

<ui:style>.label {
        background: #666;
        color: #fff;
        font-size: 14pt;
        padding: 5px;
        margin: 10px;
        height: 100%;
        width: 100%;
    }</ui:style>

<g:DockLayoutPanel unit='PCT'> 
        <g:north size='10'> 
                <g:Label addStyleNames="{style.label}">Top</g:Label> 
        </g:north> 
        <g:center> 
                <g:Label addStyleNames="{style.label}">Body</g:Label> 
        </g:center> 
        <g:west size='10'> 
                <g:Label addStyleNames="{style.label}">West</g:Label> 
        </g:west> 
        <g:south size="10"> 
                <g:Label addStyleNames="{style.label}">South</g:Label> 
        </g:south> 
</g:DockLayoutPanel> 

.标签{
背景:#666;
颜色:#fff;
字号:14pt;
填充物:5px;
利润率:10px;
身高:100%;
宽度:100%;
}
顶部
身体
西部
南方

为DockLayoutPanel的父元素添加边距。例如,如果要将DockLayoutPanel添加到RootLayoutPanel:

DockLayoutPanel dockLayoutPanel = new DockLayoutPanel(Unit.EM);
RootLayoutPanel rootPanel = RootLayoutPanel.get();
rootPanel.setStylePrimaryName("rootLayoutPanel");
rootPanel.add(dockLayoutPanel);
并添加CSS

.rootLayoutPanel {
    margin: 5px;
}

我现在觉得有点愚蠢,但是没有使用宽度90%和边距:0自动;我切换到只给文档布局面板留一个空白。到目前为止似乎在ie6/ie8/firefox 3.5中工作。因为你是唯一一个发帖子的人,而且你有一个有趣的想法,所以你得到了投票和答案。谢谢