2016-06-16 8 views
1

Ich habe eine sehr einfache InfoBox wie folgt, und möchte die Höhe anpassen, wie die aktuelle Höhe ist einfach viel zu viel für das, was ich bin.Passen Sie die Höhe der InfoBox in glänzenden Armaturenbrett

Irgendeine Idee, wie ich es tun kann? Ich habe versucht, was hier vorgeschlagen wurde: r shinydashboard - change height of valueBox. Aber das ändert sich nicht.

sidebar <- dashboardSidebar(
    sidebarMenu(id = 'sidebarmenu', 
       menuItem('About', tabName = 'about')) 
) 

about <- tabItem('about', fluidPage(
    fluidRow(
     infoBoxOutput('age') 
    ) 
) 
) 

body <- dashboardBody(
    tabItems(
    about 
) 
) 

ui <- dashboardPage(
    dashboardHeader(
    title = 'My App' 
), 
    sidebar = sidebar, 
    body = body 
) 

server <- function(input, output) { 
    output$age <- renderInfoBox({ 
    infoBox('Age: ', 50, icon = icon('list'), width = 6) 
    }) 
} 

shinyApp(ui = ui, server = server) 

Antwort

2

Sie müssen einige CSS-Regeln anwenden.

body <- dashboardBody(
    tags$head(tags$style(HTML('.info-box {min-height: 45px;} .info-box-icon {height: 45px; line-height: 45px;} .info-box-content {padding-top: 0px; padding-bottom: 0px;}'))), 
    tabItems(
     about 
    ) 
) 
+0

Funktioniert wie Charme. Ich wünschte nur, ich müsste mich nicht mit dieser Art von Code befassen und hätte statt dessen einen Parameter für 'infoBox' namens' height'. :) – Gopala

+1

Es gibt einige Shiny UI Elemente, die entweder 'height' oder' style = "height: 500px;" 'unterstützen. Aber in diesem Fall wird die Höhe tatsächlich durch mehrere Elemente (die Infobox und das Symbol) bestimmt. –

+0

@Xiongbing Jin, danke für die Tags $ head command, es hat mir auch bei meiner Anforderung geholfen, bitte helft mir mit diesem Link, der ein paar kleine Optimierungen benötigt. https://stackoverflow.com/questions/47154749/changing-the-width-height-and-alignment-of-the-shiny-widgets-in-r –