Shinydashboard侧边栏matrixInput组件文本颜色修改问题
解决Shinydashboard侧边栏中matrixInput输入时文字不可见的问题
你的问题出在CSS选择器不够精准:原代码只选中了matrix输入单元格的容器,但实际承载输入文字的是容器内的<input>元素,而且当输入框处于聚焦状态时,Shinydashboard的sidebar样式会强制把文字设为白色,和白色背景冲突。
你需要修改CSS,直接针对输入框的普通状态和聚焦状态设置文字颜色,同时提高选择器优先级来覆盖原有样式:
.skin-blue .sidebar .matrix-input-cell input, .skin-blue .sidebar .matrix-input-cell input:focus { color: #444 !important; }
修改后的完整代码如下:
library(shiny) library(shinydashboard) library(shinyMatrix) mat <- matrix(rep("text", 9), 3, 3) ui <- dashboardPage( dashboardHeader(), dashboardSidebar( tags$style( ".skin-blue .sidebar .matrix-input-cell input, .skin-blue .sidebar .matrix-input-cell input:focus { color: #444 !important; }" ), matrixInput( "mInput", value = mat, class = "character" ) ), dashboardBody() ) server <- function(input, output) { } shinyApp(ui = ui, server = server)
这里用!important确保样式优先级足够,覆盖Shinydashboard原有的sidebar输入框聚焦样式,同时选中输入框的普通和聚焦两种状态,保证输入过程中文字始终可见。
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

