我有一个多选列表。我正在尝试选择任何具有背景颜色的内容,以及选择没有背景颜色的任何内容。
表单> 归档> 选择> 选项我称之为表单id=opti 我试过了
#opti option:focus {
background-color: #ffd56f;
}
#opti option:active {
background-color: #ffd56f;
}
#opti option:hover {
background-color: orange;
}
悬停有效,但我有兴趣在选择时更改所选选项元素的背景颜色,而不仅仅是在悬停时。
如果在CSS中没有一个选项,那么一个很好的替代方案(不是给我一个Premade第三方软件的链接),也许在更改项目选择时运行的JavaScript函数,或者选择一个选择并选择一个.
任何帮助都会很棒
您可以使用:checked
伪类。(有关 :checked 伪类的更多信息)
但是浏览器和操作系统通常会单独处理选择/选项元素,并且不允许使用部分或全部样式。
例如在 Firefox (macOS) 上,background-color
from 样式会被忽略。但是你可以利用box-shadow
来改变背景的颜色。
但是要在您的页面中拥有完全自定义的选择元素,在所有浏览器上的外观和行为都相同,您还可以使用像Select2这样的替换库。
select option:hover {
background-color: yellow;
}
select option:checked {
background-color: red; /* NOT working on Firefox (macOS) */
box-shadow: 0 0 0 10px orange inset; /* working on Firefox (macOS) */
}
<select multiple>
<option value="1">Lorem</option>
<option value="2">Ipsum</option>
<option value="3">Stack</option>
<option value="4">Overflow</option>
</select>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句