【发布时间】:2012-11-11 00:47:00
【问题描述】:
我想为多选下拉框中的选定项目赋予黄色。默认情况下,选择后它具有灰色背景,
如何在HTML、CSS 中执行此操作。
这个问题是关于 multiselect 但对于单选参考(相关但不重复):How to apply background-color to a selected option?
【问题讨论】:
标签: css multi-select html.dropdownlistfor
我想为多选下拉框中的选定项目赋予黄色。默认情况下,选择后它具有灰色背景,
如何在HTML、CSS 中执行此操作。
这个问题是关于 multiselect 但对于单选参考(相关但不重复):How to apply background-color to a selected option?
【问题讨论】:
标签: css multi-select html.dropdownlistfor
我们可以简单地借助下面的 CSS:
select option:checked{
background: #1aab8e -webkit-linear-gradient(bottom, #1aab8e 0%, #1aab8e 100%);
}
【讨论】:
<style>
.select2-container--default .select2-results__option[aria-selected=true] {
background-color: inherit;
color: lightgray;
}
</style>
在块中添加您自己的样式。
【讨论】:
我们可以使用 JS 来选择 DOM。
$('select').change(function() {
$('option').css('background', 'none');
$('option:selected').css('backgroundColor', 'red');
}).change()
<select>
<option>1111111</option>
<option>222222222</option>
<option>33333333</option>
<option>44444444</option>
</select>
【讨论】:
以下应该可以工作(对于允许样式选项标签的浏览器),但是在大多数情况下默认的选择样式将被覆盖。但是,您也许可以找到一种禁用此功能的方法:
css
select option.selected {
font-weight: bold;
color: red;
}
javascript
function highlight_options(field){
var i,c;
for(i in field.options){
(c=field.options[i]).className=c.selected?'selected':'';
}
}
标记
<select onchange="highlight_options(this)" multiple="multiple">
<option>One</option>
<option>Two</option>
<option>Three</option>
</select>
【讨论】:
纯 CSS 在这里会有所帮助:
option:checked
【讨论】:
你不能。 <option> 元素不接受 CSS 样式。
您可以使用基于 JavaScript 的替代方案。有许多<select> 替换脚本可用。
【讨论】: