html - 更改焦点时保留选项的背景颜色

标签 html css

在这个例子中:https://jsfiddle.net/pfc1qauz/10/当我选择 2 并将焦点更改为 C(右侧部分的任何内容)时,2 的背景颜色变为灰色。如何在不聚焦时保持红色?

HTML:

<select class="multiselect-left" size=4>
  <option>1</option>
  <option>2</option>
  <option>3</option>
</select>
<select class="multiselect-right" size=4>
  <option>A</option>
  <option>B</option>
  <option>C</option>
</select>

CSS:

option{
  background: #F00;
}

谢谢,

最佳答案

这可能是浏览器特定样式的结果。如您所见,如果您在 Google Chrome 中使用开发者工具 (F12):

select:-internal-list-box option:checked {
    background-color: -internal-inactive-list-box-selection;
    color: -internal-inactive-list-box-selection-text;
}

即使您使用自己的值添加相同的样式,它仍然不会正确覆盖它:

select:-internal-list-box option:checked {
    background-color: red!important;
    color: #FFF!important;
}

这是将您看到的样式应用到任何 <select> 中选中的选项元素,它不能真正被直接覆盖。

<select>众所周知,元素很难在任何一种跨浏览器的意义上进行样式化。如果这是您真正需要处理的事情,您可能需要 use a Javascript-based solution like select这将覆盖默认 <select>作为使用 <div> 的门面或其他用于样式目的的元素。

关于html - 更改焦点时保留选项的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36455491/

相关文章:

javascript - 设置列表元素宽度文本宽度

javascript - 带有谷歌地图和天气图像的网页只能在 IE 中使用,不能在 Chrome 中使用?

php - 设置输入值而不是让用户输入

css - 编辑 Wordpress 主题以减少两侧的填充

php - 在 WooCommerce 存档页面中使用自定义字段在表/ ListView 中显示特定产品

android - 从 HTML 引用 Assets 中的图像不起作用

css margin 头号问题

css - 什么是 Bootstrap 禁用按钮悬停类名称?

css - animate.css - 1 个 div 上的 2 个类

javascript - 更改字符/字体内的颜色