2013-04-24 71 views
0

我有问题来设置我的XUL按钮的宽度。我有这样的代码:为什么忽略XUL按钮的宽度属性?

<button label="Ok" width="16" maxwidth="16" height="16" maxheight="16"/> 

通过与该代码,我的整个窗口的大小发生变化,不仅是按钮。

当我写:

<button label="Ok" width="16" height="16"/> 

只有高度变化。这是为什么?

回答

1

XUL使用flexible box model进行定位。 widthheight属性定义元素的固有大小,而不是它们显示的大小。您的按钮显然位于一个垂直框中(不一定是实际的vbox element,而是具有orient="vertical"的任何元素)。默认情况下,一个盒子的align attribute被认为具有价值stretch - 这样一个垂直框会一直在水平方向拉伸它里面的元素:

<vbox> 
    <!-- this button is stretched horizontally to match the width of its container --> 
    <button label="Ok" width="16" height="16"/> 
</vbox> 

您可以明确地设置align属性来避免这种情况:

<vbox align="center"> 
    <!-- this button is centered inside its container --> 
    <button label="Ok" width="16" height="16"/> 
</vbox>