Misha
Misha

Reputation: 173

Remove bold in a shiny sidebar in R

I'm new to Shiny and can't figure out how to "unbold" labels (feed rate and operation in the screenshot attached). Here's my code for the UI part:

ui <- fluidPage(titlePanel(""),
                sidebarLayout(
                  sidebarPanel(
                    # adding the new div tag to the sidebar            
                    tags$div(class="header", checked=NA,
                             tags$h4(strong("Duty"))),
                    selectInput('id1', 'Feed rate (m^3/h)', c("All", main$metric[1:3])),
                    selectInput('id2', 'Operation', c("All", main$metric[4:5])),
                  mainPanel(DT::dataTableOutput("table"))
                ))

And here's the screenshot:

enter image description here

Upvotes: 4

Views: 1202

Answers (2)

emr2
emr2

Reputation: 1732

This is another option (you don't have to create a file)

library(shiny)

remove_bold <-"
#expr-container label {
  font-weight: 400;
}
"

ui <- fluidPage(
  
  titlePanel("My app"),
  
  sidebarLayout(
    sidebarPanel(
      tags$style(remove_bold), ####### NEW CODE
      tags$div(id = "expr-container", ####### NEW CODE
      textInput(inputId = "data2", "Data1", value = "data"))
    ),
    
    mainPanel(
    )
  )
)


server <- function(input, output) {
}

shinyApp(ui = ui, server = server)

Inspired in this post: How to change the pickerinput label to fine instead of bold

Upvotes: 0

Simon Larsen
Simon Larsen

Reputation: 742

You can do this by adding your own style sheet to your Shiny app. First we give the sidebar panel a class sidebar so we can refer to it. Then we can add the following to a file www/style.css:

.sidebar label {
  font-weight: 400;
}

Finally we set the theme parameter of your fluidPage to "style.css".

ui <- fluidPage(theme="style.css", titlePanel(""),
   # content here
))

The result should look like this:

enter image description here

Upvotes: 4

Related Questions