You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 06:21:57