2015-11-24 14 views
8

Diciamo che ho una semplice applicazione lucida e vorrei cambiare lo sfondo del pannello della barra laterale . Ho provato con css, ma sono riuscito solo a cambiare tutto lo sfondo. Mi potete aiutare?R lucido - sfondo del pannello della barra laterale

mio ui.R:

library(shiny) 

    shinyUI(fluidPage(
     includeCSS("www/moj_styl.css"), 

     titlePanel("Hello Shiny!"), 

     sidebarLayout(
     sidebarPanel(
      sliderInput("bins", 
         "Number of bins:", 
         min = 1, 
         max = 50, 
         value = 30) 
     ), 

     mainPanel(
      plotOutput("distPlot") 
     ) 
    ) 
    )) 

e la mia server.R:

library(shiny) 

    shinyServer(function(input, output) { 

     output$distPlot <- renderPlot({ 
     x <- faithful[, 2] # Old Faithful Geyser data 
     bins <- seq(min(x), max(x), length.out = input$bins + 1) 

     hist(x, breaks = bins, col = 'darkgray', border = 'white') 
     }) 

    }) 

e moj_styl.css:

body { 
     background-color: #dec4de; 
    } 

    body, label, input, button, select { 
     font-family: 'Arial'; 
    } 

risposta

7

Prova questo:

library(shiny) 

ui <- shinyUI(fluidPage(
    tags$head(tags$style(
    HTML(' 
     #sidebar { 
      background-color: #dec4de; 
     } 

     body, label, input, button, select { 
      font-family: "Arial"; 
     }') 
)), 
    titlePanel("Hello Shiny!"), 

    sidebarLayout(
    sidebarPanel(id="sidebar", 
     sliderInput("bins", 
        "Number of bins:", 
        min = 1, 
        max = 50, 
        value = 30) 
    ), 

    mainPanel(
     plotOutput("distPlot") 
    ) 
) 
)) 

server <- shinyServer(function(input, output) { 

    output$distPlot <- renderPlot({ 
    x <- faithful[, 2] # Old Faithful Geyser data 
    bins <- seq(min(x), max(x), length.out = input$bins + 1) 

    hist(x, breaks = bins, col = 'darkgray', border = 'white') 
    }) 

}) 

shinyApp(ui=ui,server=server) 

La barra laterale non fa qualunque altro Attributi che 'col-sm-4' se inizializzato in modo puoi usare jQuery e qualche logica per capire quale sia la colonna propper da colorare (in modo da impostare solo lo sfondo della barra laterale), oppure puoi dare un id al form annidato nella colonna e colorare lo sfondo di questo modulo.

4

Questo ha una risposta da qualche parte, se ci riesco Trovalo. (Lo so perché ho trovato la risposta quando volevo cambiare il colore di sfondo delle mie barre laterali). Puoi utilizzare la funzione tags$style() per ottenere ciò che ti serve. Non ricordo esattamente se vuoi colorare il corpo o il pozzo, (a quanto pare ho fatto entrambe le cose), ma puoi giocarci un po 'fino a quando non ottieni il risultato.

sidebarPanel(
    tags$style(".well {background-color:[your_color];}"), 
    ...) 

Risulta che si desidera modificare solo il .well

+0

Penso che questi siano i collegamenti che mi hanno portato alla mia soluzione: http://stackoverflow.com/questions/19777515/r-shiny-mainpanel-display-style-and-font; http://stackoverflow.com/questions/19798048/r-shiny-how-do-you-change-the-background-color-of-the-header – Benjamin

+0

forse bello sapere che '[]' deve essere omesso e che puoi anche usare colori esadecimali come ad es '# 003399' – 5th