参考 Shiny 小工具库,我想知道是否可以更改小工具的颜色方案?具体来说,虽然有些小工具似乎会继承 CSS 主题元素,但是一些小工具(如 sliderInput)则保留了默认的蓝色。
另外,高亮显示 Shiny 应用程序中的文本也采用蓝色。我相信有一种简单的方法可以按照同样的方式更改这个颜色?
参考 Shiny 小工具库,我想知道是否可以更改小工具的颜色方案?具体来说,虽然有些小工具似乎会继承 CSS 主题元素,但是一些小工具(如 sliderInput)则保留了默认的蓝色。
另外,高亮显示 Shiny 应用程序中的文本也采用蓝色。我相信有一种简单的方法可以按照同样的方式更改这个颜色?
以下是一个最简单的示例,演示如何修改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))
ui
标签中添加此行以更改选定的高亮颜色:tags$style(HTML("::selection {background: tomato}")),
ui.R
中混杂着style
标签的情况下,您也可以在单独的.css
文件中编写CSS,并使用includeCSS
函数将其包含在Shiny应用程序中-这将使您的代码更加简洁,并且您还可以从文本编辑器中获得CSS语法高亮显示的额外好处。
以下是使用外部CSS文件创建“番茄主题”的示例,基本上将滑块和选择主题颜色更改为tomato
:
1. 在您的应用程序文件夹中创建一个名为tomatoTheme.css
的文件:
::selection {
background: tomato
}
::-moz-selection {
background: tomato
}
.irs-single {background: tomato}
[class|="irs-bar"] {
background: tomato;
border: tomato
}
2. 使用includeCSS
将CSS包含在您的UI中:
library(shiny)
ui <- fluidPage(
# CSS styles
includeCSS("tomatoTheme.css"),
# Slider
sliderInput("slider", "Pick a value:", value = 4, min = 1, max = 10)
)
server <- function(input, output) {}
runApp(list(ui = ui, server = server))
bootstrap.min.css
的蓝色。我已经浏览了 w3schools 的参考资料,但找不到应该更改哪个属性? - Jordan Mackie.irs-single
,因此使用.irs-single {background: tomato}
应该可以起作用。 - Mikko Marttila我从未使用过这个,但它似乎是基于Bootstrap构建的,因此每个项目都具有相同的元素。
.well
是灰色背景,它具有默认的背景和边框:background-color: #f5f5f5; border: 1px solid #e3e3e3;
h3
是页面上的标题,例如'Action Button,
Single Checkbox'等等。
.btn-default
是基本按钮,具有以下基本样式:color: #333; background-color: #fff; border-color: #ccc;
至于更改突出显示的选择:
::selection {
background: red; /* WebKit/Blink Browsers */
}
::-moz-selection {
background: red; /* Gecko Browsers */
}
color
属性在高亮的同时更改文本颜色。
bootstrap.min.css
获取其主题,但滑块不是这样。如果你想改变它们,它们的CSS类是.irs-bar
和.irs-bar-edge
(假设你知道如何操作CSS属性)。 - Mikko Marttila.iris-bar
属性。我尝试了颜色、背景颜色、底部边框颜色等,但都没有起作用。你能给予建议吗? - Jordan Mackiebackground-color
应该可以解决问题。我在答案中发布了一个短小的工作示例,看看是否有帮助。 - Mikko Marttila