【问题标题】:shinydashboard Sidebar Menu Overflowshinydashboard 侧边栏菜单溢出
【发布时间】:2015-12-17 13:42:15
【问题描述】:

有什么方法可以在shinydashboard 上使用自动换行来放置某种文本?默认行为似乎是让它溢出到身体区域。

我想避免直接修改 css,但是如果有一种解决方法涉及修改 CSS 作为服务器/ui 代码本身的一部分,那么我愿意接受。

ui <- dashboardPage(
   dashboardHeader(
      title = "Sidebar spill"

   ),
   dashboardSidebar(
      sidebarMenu(
         menuItem(text = "sfsdf sfaosh oas fwue wi aseiu wehw wuer woeur owuer  ")
         )
      ),
   dashboardBody(
      fluidRow(

      )
   )
)

server <- function(input, output) {

}

shinyApp(ui, server)
}

【问题讨论】:

  • 这听起来像是可以通过设置 CSS 来解决的问题。像这样的东西:w3schools.com/cssref/css3_pr_word-wrap.asp
  • 我已经尝试过它和其他一些 CSS 技巧,但无法获得解决方案。我管理过的最好的是带有overflow 的滚动条。
  • 如果您想将其作为代码的一部分进行修改,您可以随时使用tags$head(tags$style(PUTCSSCODEHERE))。如果您愿意从 renderUI 返回这些标签,您可以随时以编程方式将 CSS 粘贴在一起
  • 你能举个例子吗?

标签: css r shiny shinydashboard


【解决方案1】:

文件“AdminLTE.min.css”(在这个版本的 Shinydashboard 中仍然是这个版本)为“sidebar-menu”类以及“li”元素指定了“white-space: nowrap !important”类“header”是“sidebar-menu”类元素的直接后代。我看到我的 Shinydashboard 应用程序侧边栏菜单中的“li”元素没有“header”类,所以我覆盖了“white-space: nowrap !important”(因为“ul”元素包含menu 属于“sidebar-menu”类),通过将以下 CSS 添加到自定义 CSS 文件:

.sidebar-menu > li {
    white-space: normal;
}

【讨论】:

    【解决方案2】:

    这样的事情呢

    ...
      dashboardSidebar(
        sidebarMenu(
          tags$div(class="header", checked=NA,
                   tags$p("sfsdf sfaosh oas fwue", tags$br(), "wi aseiu wehw wuer woeur owuer")
          )
        )
      ),
    ...
    

    【讨论】:

    • 这适用于这种孤立的情况。它可能不适用于不同的显示器或不同的项目。
    • 也许你应该在你的问题中添加另一个例子(或者你说不同的显示):)
    • 每当我更改文本时,我都需要重新计算tags$br() 的位置。这就是为什么它不适用于不同的项目。
    猜你喜欢
    • 2021-09-28
    • 2016-01-03
    • 1970-01-01
    • 2021-08-09
    • 2014-07-03
    • 1970-01-01
    • 2017-05-29
    • 1970-01-01
    • 2016-04-13
    相关资源
    最近更新 更多