2015-11-24 96 views
8

比方說,我有一個簡單的閃亮應用程序,我想更改側欄面板背景。我已經嘗試過使用CSS,但我只設法改變整個背景。你可以幫我嗎?R閃亮 - 側欄面板的背景

我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") 
     ) 
    ) 
    )) 

和我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') 
     }) 

    }) 

和moj_styl.css:

body { 
     background-color: #dec4de; 
    } 

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

回答

7

試試這個:

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) 

側邊欄不具有任何其他attributs比 'COL-SM-4' 初始化,所以當您可以使用jQuery和一些邏輯來確定哪些是propper列的顏色(以便我們只設置側邊欄的背景),或者您可以爲嵌套在列中的表單賦予一個id併爲此的背景着色形成。

4

這有一個答案的地方,如果我能找到它。 (我知道,因爲當我想改變側邊欄的背景顏色時,我找到了答案)。你可以使用tags$style()函數來獲得你所需要的。我記不清楚是否要爲身體或井上色,(顯然我都是這樣做的),但你可以稍微玩一下,直到你得到結果。

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

原來你只想改變.well

+0

我想這些是我的解決方案的鏈接: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

也許很高興知道''''必須被忽略並且您也可以使用十六進制顏色,例如'#003399' – 5th