2016-01-26 24 views
8

मैं tabsetPanels का उपयोग करके एक चमकदार एप्लिकेशन को कस्टमाइज़ करना चाहता हूं ताकि चयनित पैनल सफेद टेक्स्ट के साथ एक काले रंग की पृष्ठभूमि में दिखाई दे, और अचयनित टैब काले रंग के साथ एक सफेद पृष्ठभूमि दिखाते हैं।चमकदार टैब में टैब का पृष्ठभूमि रंगपैन

उदाहरण के लिए, नीचे दिए गए आवेदन में, जब "हैलो" टैब चयनित है, मैं चाहते हैं "हैलो" एक काले रंग की पृष्ठभूमि पर सफ़ेद पाठ में किया जाना है। लेकिन मैं अभी भी पैनल सामग्री (इनपुट फ़ील्ड) की पृष्ठभूमि सफेद रहना चाहता हूं।

निकटतम बात मैं इस सवाल से आते हैं ढूँढने में सक्षम किया गया है: Tab Box CSS for shinydashboard

कि कोड लागू करना tabsetPanel भर में सभी तरह से एक रंगीन पृष्ठभूमि पैदावार है, लेकिन मैं अभी भी इस संशोधित करने के लिए एक तरह से नहीं मिल सकता है केवल टैब की पृष्ठभूमि को बदलने के लिए। इसके अलावा, .nav-tabs-custom सीएसएस में जो कुछ भी मैं बदलता हूं, वह किसी भी प्रभाव को नहीं लेता है।

मैं लगातार tab-pane टैग सीएसएस में परिवर्तन लागू करने का प्रयास करने के लिए प्रेरित हूं, लेकिन यह शीर्षक बॉक्स में नहीं, टैब के शरीर में परिवर्तन को धक्का देता है।

पृष्ठभूमि रंग बदलने के लिए शीर्षक बॉक्स प्राप्त करने के लिए मैं क्या बदल सकता हूं पर कोई विचार?

ui <- shinyUI(
    fluidPage(
    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; 
}"), 
    tabsetPanel(
     tabPanel(
     title = "Hello", 
     textInput(inputId = "text", label = "Input") 
    ), 
     tabPanel(
     title = "World" 
    ) 
    ) 
) 
) 

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


}) 

shinyApp(ui=ui, server=server) 

उत्तर

6

संपादित करें: चमकदार संस्करणों के लिए> = 0.14 here देखें।

आप एनएवी इसके बारे में तुरंत वंशज के रूप में एक 'सक्रिय' वर्ग के साथ लिंक का चयन करते हैं मुझे लगता है कि तुम क्या आप के बाद कर रहे हैं मिल सकता है। यूआई शायद एक चमकदार सीएसएस परिवर्तन के कारण

तरह
ui <- shinyUI(
    fluidPage(
     tags$style(HTML(" 
     .tabs-above > .nav > li[class=active] > a { 
      background-color: #000; 
      color: #FFF; 
     }")), 
     tabsetPanel(
      tabPanel(
       title = "Hello", 
       textInput(inputId = "text", label = "Input") 
      ), 
      tabPanel(
       title = "World" 
      ) 
     ) 
    ) 
) 

enter image description here

+1

ऐसा करता है! मेरे भविष्य के संदर्भ के लिए, मैं '.tabs-above> .nav> li> a' के साथ अचयनित टैब को कस्टमाइज़ कर सकता हूं। बहुत बहुत धन्यवाद। – Benjamin

+0

धन्यवाद बहुत उपयोगी मैं इसे shinydashboard के लिए करना चाहता हूं क्या मुझे तरल पदार्थ बनाना है? –

+1

@DimitriPetrenko मैं एक समय में एक चमकदार उपयोग नहीं किया है, तो आप एक नया सवाल – jenesaisquoi

5

ऊपर के उदाहरण जाहिरा तौर पर (संस्करण 0.14.0 से) टूट गया है लगेगा,। इसके अतिरिक्त पोस्ट का शीर्षक वास्तव में वास्तविक प्रश्न और समाधान से अधिक वादा करता है। तो मैंने एक नया और व्यापक उदाहरण लिखा।

  • यह एक्वा और ब्लैक टेक्स्ट होने के लिए डिफ़ॉल्ट टैब पृष्ठभूमि सेट करता है।
  • यह सफेद टेक्स्ट के साथ स्पष्ट रंग (जब वे सक्रिय नहीं होते) होने के लिए कई टैब का रंग सेट करता है।
  • यह सक्रिय टेक्स्ट पृष्ठभूमि को सफेद पाठ के साथ काला होने के लिए सेट करता है।

    library(shiny) 
    ui <-shinyUI(fluidPage(
        h1("Colored Tabs"), 
        tags$style(HTML(" 
        .tabbable > .nav > li > a     {background-color: aqua; color:black} 
        .tabbable > .nav > li > a[data-value='t1'] {background-color: red; color:white} 
        .tabbable > .nav > li > a[data-value='t2'] {background-color: blue; color:white} 
        .tabbable > .nav > li > a[data-value='t3'] {background-color: green; color:white} 
        .tabbable > .nav > li[class=active] > a {background-color: black; color:white} 
        ")), 
        tabsetPanel(
        tabPanel("t0",h2("normal tab")), 
        tabPanel("t1",h2("red tab")), 
        tabPanel("t2",h2("blue tab")), 
        tabPanel("t3",h2("green tab")), 
        tabPanel("t4",h2("normal tab")), 
        tabPanel("t5",h2("normal tab")) 
    ) 
    )) 
    server <- function(input, output) {} 
    shinyApp(ui=ui,server=server) 
    

    यहाँ एक स्क्रीन शॉट है:

या नहीं, इन सभी रंगों को देखने के एक यूआई बिंदु से एक अच्छा विचार कर रहे हैं एक और सवाल है ...

यहाँ कोड है:

enter image description here

और मामले यह फिर से टूट जाता है, और कोड है में समायोजित करने की, यहाँ है वर्तमान सीएसएस/एचटीएमएल जो इसका उत्पादन कर रहा है:

<body> 
    <div class="container-fluid"> 
    <h1>Colored Tabs</h1> 
    <style> 
    .tabbable > .nav > li > a     {background-color: aqua; color:black} 
    .tabbable > .nav > li > a[data-value='t1'] {background-color: red; color:white} 
    .tabbable > .nav > li > a[data-value='t2'] {background-color: blue; color:white} 
    .tabbable > .nav > li > a[data-value='t3'] {background-color: green; color:white} 
    .tabbable > .nav > li[class=active] > a {background-color: black; color:white} 
    </style> 
    <div class="tabbable"> 
     <ul class="nav nav-tabs"> 
     <li class="active"> 
      <a href="#tab-5851-1" data-toggle="tab" data-value="t0">t0</a> 
     </li> 
     <li> 
      <a href="#tab-5851-2" data-toggle="tab" data-value="t1">t1</a> 
     </li> 
     <li> 
      <a href="#tab-5851-3" data-toggle="tab" data-value="t2">t2</a> 
     </li> 
     <li> 
      <a href="#tab-5851-4" data-toggle="tab" data-value="t3">t3</a> 
     </li> 
     <li> 
      <a href="#tab-5851-5" data-toggle="tab" data-value="t4">t4</a> 
     </li> 
     <li> 
      <a href="#tab-5851-6" data-toggle="tab" data-value="t5">t5</a> 
     </li> 
     </ul> 
     <div class="tab-content"> 
     <div class="tab-pane active" data-value="t0" id="tab-5851-1"> 
      <h2>normal tab</h2> 
     </div> 
     <div class="tab-pane" data-value="t1" id="tab-5851-2"> 
      <h2>red tab</h2> 
     </div> 
     <div class="tab-pane" data-value="t2" id="tab-5851-3"> 
      <h2>blue tab</h2> 
     </div> 
     <div class="tab-pane" data-value="t3" id="tab-5851-4"> 
      <h2>green tab</h2> 
     </div> 
     <div class="tab-pane" data-value="t4" id="tab-5851-5"> 
      <h2>normal tab</h2> 
     </div> 
     <div class="tab-pane" data-value="t5" id="tab-5851-6"> 
      <h2>normal tab</h2> 
     </div> 
     </div> 
    </div> 
    </div> 
</body> 
+0

आप याद करने के लिए जो चमकदार इस परिवर्तन के संस्करण में बनाया गया था होता है? – Benjamin

+0

वास्तव में कोई विचार नहीं है। और अब देख रहे हैं कि जेनेल्सक्वाई का जवाब कितना हालिया है, मुझे आश्चर्य है कि यह पूरी कहानी भी है। –

+1

मैं सिर्फ व्यवस्थित (मैं वर्तमान में मेरे उत्पादन वातावरण में उपयोग कर रहा हूँ संस्करण) के बाद से 0.13.0 संस्करण के सभी के माध्यम से चला गया। पूरे 13 श्रृंखला @ jenesalsquoi के जवाब के साथ काम करता है, लेकिन अपने जवाब 14 श्रृंखला में शुरू की जरूरत है। क्या आप अपने उत्तर में एक नोट जोड़ना चाहते हैं जो इंगित करता है कि यह 0.14 और उसके बाद का सही उत्तर है? – Benjamin

संबंधित मुद्दे