2013-04-26 117 views
0

我在使用GWT标签和html/css时遇到了一些麻烦。GWT标签对齐和CSS

我有一个horizo​​ntalPanel,我试图对齐2个标签,这样每1上的水平面板

1) [Label 1  --~500px--  Label 2] 

然而结束,似乎500像素被分成250像素每个标签都有一个白色空间。 (首先,我试图使它像这样)

2) [Label 1 Label 2 --~500 whitespace px-- ] 

,但发生的事情是这个

3) [Label 1 -~250 whitespace px- Label 2 -~250px whitespace-- ] 

我想这是像2),这样的话,我可以设置Horizo​​ntalAllignment的水平面板上到ALIGN_JUSTIFY这将放在每一端。我不知道该怎么做。我尝试使用显示:内联,但似乎没有工作,因为我希望(它使边界只是围绕文本,但空白在那里)

这是我乱搞的代码.border只是(边界:1px的固体红色​​),所以我可以想像如何边框和大小的计算

HorizontalPanel p = new HorizontalPanel(); 

p.setWidth("500px"); 


//p.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_LEFT); 
//p.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_JUSTIFY); 
Label l1 = new Label("Label 1"); 
Label l2 = new Label("Label 2"); 

l1.addStyleName("border"); 
l2.addStyleName("border"); 

p.add(l1); 
p.add(l2); 

回答

1

我只是把这个共同的记忆,给它一个尝试,让我知道,如果它像你期望的那样。

HorizontalPanel p = new HorizontalPanel(); 

p.setWidth("500px"); 
p.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_JUSTIFY); 

Label l1 = new Label("Label 1"); 
Label l2 = new Label("Label 2"); 

l1.addStyleName("border"); 
l2.addStyleName("border"); 

p.add(l1); 
p.setCellHorizontalAlignment(l1, HasHorizontalAlignment.ALIGN_LEFT); 
p.add(l2); 
p.setCellHorizontalAlignment(l2, HasHorizontalAlignment.ALIGN_RIGHT); 

如果不工作,你有没有尝试过在你的CSS的第二个标签设置text-align:right;

+0

是的,这的确如我所料。但仍然有一件事。每个标签占用大约250px。理想情况下,我希望它能够使标签占用尽可能多的空间,剩下的就是可用空间(正确的标签长度​​为250px,但应占用大约50px)。如果我对每个标签应用display:inline,它确实解决了这个问题,但我对“display:inline”是新手,我不确定它可能具有的其他含义。即使没有解决方案,你的方法应该工作!谢谢。 – bubbles 2013-04-26 05:13:28