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

Dash Plotly下拉菜单选中项字体颜色变为蓝色问题求助

你遇到的问题核心由两个原因导致:一是使用了不存在的font-color属性,CSS中设置文本颜色统一使用color;二是仅配置了下拉菜单默认状态的样式,选中态的样式由浏览器默认伪类样式控制,需要单独覆盖。

原生HTML下拉框解决方案

直接在CSS中添加以下样式即可覆盖默认选中样式:

/* 下拉框默认样式 */
select {
  color: #C0C0C0;
  font-family: Arial;
}
/* 选中项样式 */
select option:checked {
  color: #C0C0C0 !important;
  background-color: #ffffff; /* 可根据需求修改背景色 */
}
/* 覆盖文本选中高亮的默认蓝色 */
select::selection {
  color: #C0C0C0;
  background-color: transparent;
}

框架内联样式解决方案

如果是在React、Vue等框架中使用内联样式,因为内联样式不支持伪类,有两种实现方式:

  • 把上述样式写到组件的样式文件中,给下拉框绑定对应类名即可
  • 如需完全用内联样式实现,可以监听选中值变化,动态给选中项绑定样式,React示例如下:
import { useState } from 'react'

const DropdownDemo = () => {
  const [selectedVal, setSelectedVal] = useState('')
  const options = [
    { label: '选项1', value: '1' },
    { label: '选项2', value: '2' }
  ]

  return (
    <select
      style={{ color: '#C0C0C0', fontFamily: 'Arial' }}
      onChange={(e) => setSelectedVal(e.target.value)}
    >
      {options.map(item => (
        <option
          key={item.value}
          value={item.value}
          style={{ color: selectedVal === item.value ? '#C0C0C0' : '#000000' }}
        >
          {item.label}
        </option>
      ))}
    </select>
  )
}

如果修改后仍不生效,可以给color属性添加!important强制覆盖浏览器默认的高优先级样式。

内容的提问来源于stack exchange,提问作者Raha Ajand

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 09:06:03