2013-12-11 29 views
6

正如屏幕截圖所示 - 側欄面板只使用它覆蓋的面積的大約50%。這也不會改變,如果我拿出'fileInput'(它只能水平延伸儘可能多的空間)。減少未使用的側欄面板

enter image description here

UI代碼是完全鍋爐板這就是爲什麼我不認爲這是在發佈它遠點。即使我取出所有UI輸入字段,效果也保持不變。事實上,側邊欄面板的寬度顯然是獨立於其內容計算的,但取決於固定比例。

我想手動調整大小或sidebar-/mainPanel-比率。我怎麼能做到這一點?

回答

10

這適用於我。將這個shinyUI對象之外:

narrowSidebar <- HTML('<style>.span4 {min-width: 265px; max-width: 265px; }</style>') 

,並把這個在sidebarPanel的頂部:

tags$head(narrowSidebar), ... 

您可以通過重複上述過程更改主面板,但改變「span4」到「span8 」。

這可能有助於瞭解發生了什麼。默認的ShinyUI使用Bootstrap進行格式化。 Bootstrap使用12單位網格來佈局內容。你使用「span#」來讓任何容器跨越大部分網格。

Shiny對側欄(4/12 =頁面的1/3)使用span4,對主面板使用8(8/12 =頁面的2/3)。

我真的認爲它應該是3/9或2/12,但是使用上面的技巧並不是很難對任何樣式進行設計。

+0

感謝,特別是對於額外的信息 - 這是伎倆 – Raffael

+0

這不適合我!除此之外,還有其他方法嗎? –

2

我不知道什麼時候,但sidebarPanelmainPanel現在有一個額外的參數width。因此,您可以直接按照通常的網格概念調整面板大小。 (值1至12)