R Shiny Sidebar中的水平规则hr()

tso*_*kis 12 css r shiny

在Shiny中使用hr()时,通常可以在UI元素下制作水平规则fluidRow(),但不能sideBarPanel()在文本下面进行.我如何制作横向规则或类似的其他内容来划分侧边栏中的文本和UI元素?

Big*_*ist 12

通常,线条是可见的,但与背景的对比度非常低.要使该行更加可见,您可以通过在ui部分中包含以下内容来修改CSS代码:

  tags$head(
    tags$style(HTML("hr {border-top: 1px solid #000000;}"))
  ),
Run Code Online (Sandbox Code Playgroud)

tags$style(HTML(...))您可以在您的应用程序的CSS.该行的html标记是hr.其余参数表示行选择,宽度,颜色等的规格.

有关完整的工作示例,请参见下文:

library(shiny)

ui <- fluidPage(
  tags$head(
    tags$style(HTML("hr {border-top: 1px solid #000000;}"))
  ),
   sidebarLayout(
      sidebarPanel(
         "text",
         hr(),
         uiOutput("out")
      ),
      mainPanel(
         plotOutput("distPlot")
      )
   )
)

server <- function(input, output) {
  output$out <- renderUI({
    sliderInput("bins",
                "Number of bins:",
                min = 1,
                max = 50,
                value = 30)
  })
}


shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)

  • 您还可以直接将样式参数传递给 hr(),例如: hr(style = "border-top: 1pxsolid #000000;") (6认同)