我想以与选项本身相同的 colored颜色 显示所选选项.

<select>
  <option value="1" style="color:blue">Blue</option>
  <option value="2" style="color:red">Red</option>
</select>

这些选项可以正确显示为蓝色和红色,但一旦选中,它们就会变为黑色.是否可以将其显示为蓝色或红色,与所选选项相匹配?

PD:我知道如何在JS中做到这一点,但我不确定它是否能在CSS中完成

推荐答案

这可以用带有:has伪类的纯CSS来完成

select:has(option[value="1"]:checked) {
  color: blue;
}
select:has(option[value="2"]:checked) {
  color: red;
}
<select>
  <option value="1">Blue</option>
  <option value="2">Red</option>
</select>

Css相关问答推荐

视频嵌入在Bootstrap 5轮播中没有响应扩展

MUI Reaction移除焦点上的轮廓边框

如何使用在另一个层定义块中定义的sass层作用域变量

CSS Grid我不想要的东西

为什么在RadixUi上应用Tailwincss和自定义css类不起作用?

导航栏没有使用nextui获取页面的全部宽度

如何使TWebPanel具有圆角?

如何将CSS动画从第一列移动到第二列?

CSS:使用 Material Icon 作为 ::marker 或 ::before 使 li 元素不起作用

Bootstrap 和 Sass:将 SCSS 文件转换为 CSS 时出错.错误:$theme-colors-rgb 中未定义变量 @each $color、$value

Vuetify 抽屉标签溢出/z-index

有没有办法在 CSS 字体速记中使用数字字体粗细?

清除 CSS 中已设置的填充属性以恢复 SVG 的默认值

如何在流线型多页面应用程序中在表情符号和页面名称之间留出一些空白

纯 CSS 滚动动画

什么是 ::content/::slotted 伪元素,它是如何工作的?

在 Vuejs 中拥有全局 CSS 的最佳方式

如何使用 Bootstrap2 使 div 居中?

如何将页脚(div)与页面底部对齐?

height: 100% 或 min-height: 100% 用于 html 和 body 元素?