如屏幕截图所示 - sidebarPanel仅使用其覆盖区域的约50%。如果我取出'fileInput'(它只能在空间可用的情况下水平扩展),这也不会改变。
UI代码完全是锅炉板,这就是为什么我认为发布它没有多大意义。即使我取出所有UI输入字段,效果也保持不变。事实上,sidebarPanel的宽度显然与其内容无关,但取决于固定的比率。
我想手动调整大小或侧边栏/主面板比率。我怎么能做到这一点?
答案 0 :(得分: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使用span4作为侧栏(4/12 =页面的1/3),8使用主面板(8/12 =页面的2/3)。
老实说,我认为它应该是3/9或2/12,但使用上述技巧并不是很难按照你想要的方式设计。
答案 1 :(得分:2)
我从何时开始都不知道,但sidebarPanel
和mainPanel
现在还有一个额外的参数width
。因此,您可以直接在通常的网格概念中调整面板大小。 (值1到12)