这是修改Shiny滑杆颜色的特定情况的最小示例:
library(shiny)
ui <- fluidPage(
# CSS styles
tags$style(HTML(".irs-bar {background: yellow}")),
tags$style(HTML(".irs-bar {border-top: 1px solid green}")),
tags$style(HTML(".irs-bar-edge {background: red}")),
tags$style(HTML(".irs-bar-edge {border: 1px solid red}")),
# Slider
sliderInput("slider", "Pick a value:", value = 4, min = 1, max = 10)
)
server <- function(input, output) {}
runApp(list(ui = ui, server = server))
Run Code Online (Sandbox Code Playgroud)
如果您使用支持它的浏览器(例如Chrome或Firefox),则可以右键单击网页并选择“检查元素”。这将打开一个查看器,向您显示HTML源代码和附加的样式等。它对于理解HTML元素的结构非常方便。
在其他答案之后,您也可以将此行添加到ui标签中,以更改选择突出显示的颜色:
tags$style(HTML("::selection {background: tomato}")),
Run Code Online (Sandbox Code Playgroud)
如果您发现自己正在修改许多不同的CSS样式并ui.R用style标签弄乱您的情况,则还可以将CSS编写在一个单独的.css文件中,并使用includeCSS函数将其包含在Shiny应用程序中-这将使您的代码成为可能更加干净,您将获得额外的好处,即可以从文本编辑器中突出显示CSS语法。
这是一个使用外部CSS文件创建“番茄主题”的示例,本质上将滑块和选择主题的颜色更改为tomato:
1.tomatoTheme.css在您的应用文件夹中创建一个名为的文件:
tags$style(HTML("::selection {background: tomato}")),
Run Code Online (Sandbox Code Playgroud)
2.使用includeCSS以下命令在您的用户界面中包括CSS :
::selection {
background: tomato
}
::-moz-selection {
background: tomato
}
.irs-single {background: tomato}
[class|="irs-bar"] {
background: tomato;
border: tomato
}
Run Code Online (Sandbox Code Playgroud)