2015-08-26 2 views
3

Я пытаюсь изменить стиль вкладки для tabBox в shinydashboard. Мне удалось изменить фон выбранных вкладок, но я не могу изменить фон выбранной вкладки или текст, который появляется на каждой вкладке. Это то, что я добавил в файл custom.css изменить невыбранные вкладки фоны:Tab Box CSS для shinydashboard

.nav-tabs { 
    background-color: #006747; 
} 

Я пробовал такие вещи, как .nav-tabs .active, но я не мог получить что-нибудь работать.

Также, если кто-нибудь знает, как изменить небольшую цветную ленту, которая появляется рядом с выбранной вами вкладкой, это также было бы оценено.

+0

Я новичок в R, следовательно, в Shiny, как вы добавляете '.nav-tabs' ?, я имею в виду, у меня есть что-то вроде' box (width = 3, ....) ', в каком месте я должен добавить это? –

+0

'.nav-tabs' на самом деле не R-код, это CSS, я считаю, что я не понимаю и едва ли могу имитировать. Поскольку это не код R, вы фактически не добавляете его в свой R-файл или какие-либо из таких функций, как 'box'. Вы должны создать файл .css и вызвать его в своем приложении. Я не уверен, как сделать собственное форматирование для каждого элемента окна, потому что я сделал глобальные изменения. Вот веб-сайт, чтобы помочь [http://shiny.rstudio.com/articles/css.html](http://shiny.rstudio.com/articles/css.html) –

ответ

2

Инструмент разработки и «элемент проверки» очень полезны, чтобы выяснить, из каких классов вы должны изменить css.

Чтобы изменить щепку и цвет выбранной вкладки, вы можете сделать:

.nav-tabs-custom .nav-tabs li.active:hover a, .nav-tabs-custom .nav-tabs li.active a { 
    background-color: transparent; 
    border-color: transparent; 
} 

.nav-tabs-custom .nav-tabs li.active { 
    border-top-color: #FFF; 
} 

Вот пример (магистральный код из here):

library(shiny) 
library(shinydashboard) 
body <- dashboardBody(
     fluidRow(tags$style(".nav-tabs { 
    background-color: #006747; 
} 

.nav-tabs-custom .nav-tabs li.active:hover a, .nav-tabs-custom .nav-tabs li.active a { 
background-color: transparent; 
border-color: transparent; 
} 

.nav-tabs-custom .nav-tabs li.active { 
    border-top-color: #FFF; 
}"), 
       tabBox(
         title = "First tabBox", 
         # The id lets us use input$tabset1 on the server to find the current tab 
         id = "tabset1", height = "250px", 
         tabPanel("Tab1", "First tab content"), 
         tabPanel("Tab2", "Tab content 2") 
       ) 

)) 

shinyApp(
     ui = dashboardPage(
       dashboardHeader(title = "tabBoxes"), 
       dashboardSidebar(), 
       body 
     ), 
     server = function(input, output) { 
     } 
) 
+0

Справочная служба в моей компании на самом деле сказала мне, что То же самое и привело меня к тому же ответу, так что это была очень хорошая проверка здравомыслия. –