【问题标题】:Shinydashboard Tabbox HeightShinydashboard 选项卡框高度
【发布时间】:2015-08-07 08:26:26
【问题描述】:

我正在尝试创建一个跨越整个mainPaneltabBox。我能够获得跨越整个屏幕的宽度,但我无法获得相同的高度。我不希望使用以像素(或其他单位)为单位的绝对值,因为我希望该应用程序可以在不同的屏幕上使用。

我玩过这个例子,修改后的tabBoxexample 如下

fluidRow(
        tabBox(
            title = "First tabBox",
            # The id lets us use input$tabset1 on the server to find the current tab
            id = "tabset1", height = "450px",
            tabPanel("Tab1", "First tab content"),
            tabPanel("Tab2", "Tab content 2"),
            width = 12
        ),
        height = '20%',
        width = 12
    )

【问题讨论】:

    标签: css r shiny shinydashboard


    【解决方案1】:

    您可以使用定义为viewport height 1% 的vh css 单位,然后基本上按照this answer 中的示例设置css 中的相对高度:

      fluidRow(
        tabBox(
        tags$head(
          tags$style(HTML(" #tabBox { height:90vh !important; } "))
        ),
        id="tabBox",
        title = "tabBox",
        width = 12
        )
    

    当然,您也可以将其放在外部 css 文件中,尤其是当您要执行这些 css 技巧中的一个以上时。由于标题,100% 略微超过底部边缘。大约 90% 似乎工作正常。

    【讨论】:

    • 谢谢!我会在当天晚些时候试试这个,然后回复你。知道为什么 height = "100%" 不起作用吗?
    • 我刚刚检查了解决方案,虽然它适用于tabbox,但它似乎并不普遍适用。例如,在绘图中添加了一个height = 400px,它似乎覆盖了我在tag 函数中指定的高度。
    • 是的,如果您选择 400px 的固定高度,那么这将是绘图的固定高度。我相信你可以让你以与上面相同的方式相对于视图高度进行绘图。如果您需要混合它们,则需要进行一些实验来了解如何混合和匹配您想要相对的部分以及您想要固定高度的部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-16
    • 2013-01-26
    • 1970-01-01
    • 2018-08-27
    • 2011-07-16
    • 2012-08-30
    • 1970-01-01
    相关资源
    最近更新 更多