2011-09-26 105 views
0

我會嘗試和充足,我可以描述這個問題。產生的股利導致災難

我開發的Vaadin(GWT狀框架),我使用模態窗口的顯示錶和其他信息的Web應用程序。

模態窗口都在不同的大小,但我想使用相同的CSS類爲所有這些顯而易見的原因。因此我在CSS之外指定了大小特定的參數,而在創建模式窗口時在java代碼中指定了大小特定的參數。例如:

public class InventoryAssignSubscription extends Window { 

    Panel mainPanel = Cf.panel(I18N.get("inventory.assignsubscription.single.header")); 

    public void init(Object customer) { 

     setResizable(false); 

     setModal(true); 
     setWidth("730px"); 
     center(); 

     mainPanel.addStyleName("m2m-modalwindow-mainpanel"); 

但是,我發現了一個問題。

當我創建一個Panel組件來保存窗口中的所有內容時,它的寬度將填充窗口的內容寬度,但是當我查看通過Firebug生成的標記時,我看到另一個組件生成,Panel內的VerticalLayout具有比Panel小的寬度。我不知道它是如何到達那裏的。我得到的問題是,VerticalLayout太大,導致面板底部的水平滾動。這是它的外觀在Firebug:

enter image description here

我已經找到解決這個問題的唯一辦法是通過與M2M-modalwindow-的mainPanel設置面板中的所有VerticalLayout的公司的最大寬度CSS類名稱:

.v-panel-content-m2m-modalwindow-mainpanel .v-verticallayout { 
    max-width: 1000px; 
} 

但是,這隻適用於一個窗口,即內容以1000像素寬度顯示的人。 Windows slimmer將不會有他們的VerticalLayout受此CSS類影響,因爲它們的寬度應該低於1000px .... =(

有沒有人有我如何解決此問題的想法..?也許莫名其妙當我創建面板時,我可以通過某種方式告訴它它生成的組件(div)應該具有最大寬度。?

如果我的問題過於生動地描述,或者您需要更多信息幫我解決,那麼請不要猶豫,問

謝謝

編輯:!我添加的CSS面板襯墊和Firebug顯示問題的圖像。存在這樣遺憾的是沒有在圖像顯示面板底部的滾動..

CSS

.v-panel-content-m2m-modalwindow-mainpanel { 
    padding: 15px; 
} 

圖片: enter image description here

回答

2

每個面板中Vaadin具有垂直佈局中默認。事實上,您已將730設置爲Panel的寬度,並且佈局僅爲704像素寬,這表明您的面板中有一定的邊距。嘗試使用Firebug中的佈局選項卡查看造成差異的原因。

一大堆的工作是由Vaadin開發者獲得上漿權利,不應該有不解釋有什麼投入。

這是張貼到Vaadin's forum你的問題是一個好主意。

+0

我明白了...謝謝你的回答。我明白你的目標。如果你看看我的編輯,我在Panel內容中有一個15px的填充。填充會影響左側,頂部和(可能)底部邊緣,但不會影響右側邊緣。但是,相反,組件正在填充與填充相同數量的像素。如果這給你任何其他線索,那就太好了!但我也會在論壇上發佈這個問題。 =) 謝謝! – AndroidHustle