shinydashboard徽章menuitem

shinydashboard徽章menuitem

问题描述:

如何使菜单项徽章与默认对齐方式不同? 在shinyUI:shinydashboard徽章menuitem

menuItem("Test", tabName = "test", icon = icon("line-chart"),badgeLabel = "2nd", badgeColor = "green") 

完整例如:

library(shiny) 
library(shinydashboard) 
# Default shiny 
ui <- dashboardPage(
dashboardHeader(title = "Example"), 
dashboardSidebar(
sidebarMenu(
    menuItem("Test", tabName = "test", icon = icon("line-chart"), 
    badgeLabel = "2nd", badgeColor = "green") 
)), 
dashboardBody(
tabItems(
    tabItem(tabName = "test", 
     box(title = "How-to",status = "primary",solidHeader = TRUE,collapsible=TRUE, width = 8, 
     sliderInput("bins", 
       "Number of bins:", 
       min = 1, 
       max = 50, 
       value = 30), 
    # Show a plot of the generated distribution 
    plotOutput("distPlot") 
    ) 
    ) 
))) 
# Define server logic required to draw a histogram 
server <- function(input, output) { 
    output$distPlot <- renderPlot({ 
    # generate bins based on input$bins from ui.R 
    x <- faithful[, 2] 
    bins <- seq(min(x), max(x), length.out = input$bins + 1) 

    # draw the histogram with the specified number of bins 
    hist(x, breaks = bins, col = 'darkgray', border = 'white') 
    }) 
} 
# Run the application 
shinyApp(ui = ui, server = server) 

在浏览器检查它示出了下面的代码/:

<small class="badge pull-right bg-green">2nd</small> 

测试PIC

enter image description here

我需要:

<small class="badge center-block bg-green">2nd</small> 

所需PIC

enter image description here

任何想法?

+0

欢迎来到SO。请参阅[我如何提出一个好问题?](https://stackoverflow.com/help/how-to-ask),特别是包含足够的代码以允许其他人重现问题。有关此方面的帮助,请阅读[如何创建最小,完整和可验证示例](https://stackoverflow.com/help/mcve)。它将帮助每个人重现相同的问题并帮助你。 – rmjoia

您可以使用CSS如下: tags$style(type = 'text/css',".badge{min-width: 200px;}")

在你的代码,它会来是这样的:

library(shiny) 
    library(shinydashboard) 
    # Default shiny 
    ui <- dashboardPage(
     dashboardHeader(title = "Example"), 
     dashboardSidebar(
     ##The added css 
     tags$style(type = 'text/css',".badge{min-width: 200px;}"), 
     sidebarMenu(
      menuItem("Test", tabName = "test", icon = icon("line-chart"), 
        badgeLabel = "2nd", badgeColor = "green") 
     )), 
     dashboardBody(
     tabItems(
      tabItem(tabName = "test", 
        box(title = "How-to",status = "primary",solidHeader = TRUE,collapsible=TRUE, width = 8, 
         sliderInput("bins", 
            "Number of bins:", 
            min = 1, 
            max = 50, 
            value = 30), 
         # Show a plot of the generated distribution 
         plotOutput("distPlot") 
       ) 
     ) 
     ))) 
    # Define server logic required to draw a histogram 
    server <- function(input, output) { 
     output$distPlot <- renderPlot({ 
     # generate bins based on input$bins from ui.R 
     x <- faithful[, 2] 
     bins <- seq(min(x), max(x), length.out = input$bins + 1) 

     # draw the histogram with the specified number of bins 
     hist(x, breaks = bins, col = 'darkgray', border = 'white') 
     }) 
    } 
    # Run the application 
    shinyApp(ui = ui, server = server) 

你得到这样的事情:enter image description here

希望它能帮助!

+0

谢谢!它可以工作,因此标签$ style可以更改袋子。 – varbirog

+0

实际上,'tag $ style'可以用来使用原始CSS来设计不同的元素。 – SBista