选择选项的“选定”颜色是否有样式?例如:
<HTML>
<BODY>
<FORM NAME="form1">
<SELECT NAME="mySelect" SIZE="7" style="background-color:red;">
<OPTION>Test 1
<OPTION>Test 2
<OPTION>Test 3
<OPTION>Test 4
<OPTION>Test 5
<OPTION>Test 6
<OPTION>Test 7
</SELECT>
</FORM>
</BODY>
</HTML>
当我选择一个选项变成蓝色时,我想覆盖它并且 使它成为一种不同的颜色。在我期望的样式 “选择颜色”,但它不存在。
答案 0 :(得分:16)
粗暴的做法 -
var sel = document.getElementById('select_id');
sel.addEventListener('click', function(el){
var options = this.children;
for(var i=0; i < this.childElementCount; i++){
options[i].style.color = 'white';
}
var selected = this.children[this.selectedIndex];
selected.style.color = 'red';
}, false);
答案 1 :(得分:14)
<select name=protect_email size=1 style="background: #009966; color: #FFF;" onChange="this.style.backgroundColor=this.options[this.selectedIndex].style.backgroundColor">
<option value=0 style="background: #009966; color: #FFF;" selected>Protect my email</option>;
<option value=1 style="background: #FF0000; color: #FFF;">Show email on advert</option>;
</select>;
http://pro.org.uk/classified/Directory?act=book&category=120
在FF中测试过,Opera,Konqueror工作得很好......
答案 2 :(得分:5)
您不能依赖CSS来表单元素。所有浏览器的结果差别很大。我认为Safari根本不允许您自定义任何表单元素。
最好的办法是使用像jqTransform这样的插件(使用jQuery)。
编辑:该页面目前似乎不起作用。还有Custom Form Elements支持MooTools,并且可能在将来支持jQuery。
答案 3 :(得分:2)
目前CSS不支持此功能。
您可以使用DIVs / CSS构建自己的插件或使用模拟此行为的插件。
答案 4 :(得分:2)
此语法在XHTML中有效,但在IE6中不起作用,但这是一种非JavaScript方式:
option[selected] { background: #f00; }
如果您想要即时执行此操作,那么您必须使用其他人建议的方式使用javascript ....
答案 5 :(得分:2)
我认为您可能正在寻找的解决方案是:
option:checked {
box-shadow: 0 0 10px 100px #FFFF00 inset; }
答案 6 :(得分:0)
原则上,您可以使用选项[selected]作为选择器来设置样式,但这在许多浏览器中都不起作用。此外,这只允许您设置所选选项的样式,而不是具有悬停焦点的选项。
经测试可在Chrome 9和Firefox 3.6中使用,但无法在Internet Explorer 8中使用。
答案 7 :(得分:0)
我意识到这是一个旧帖子,但是如果它有帮助,你可以应用这个CSS让IE11为<select>
元素的焦点指示画一个虚线轮廓,使它类似于Firefox的焦点指示:
select:focus::-ms-value {
background: transparent;
color: inherit;
outline-style: dotted;
outline-width: thin;
}
答案 8 :(得分:-2)
在CSS中:
SELECT OPTION:选中{background-color:red; }
答案 9 :(得分:-4)
我们可以将蓝色覆盖为我们的自定义颜色 它适用于Internet Explorer,Firefox和Chrome:
在CSS下面使用以下内容:
option: checked, option: hover {
Color: #ffffff;
background: #614767 repeat url("data:image/gif;base64,R0lGODlh8ACgAPAAAGFGZQAAACH5BAAAAAAALAAAAADwAKAAAAL+hI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8YhMKpfMpvMJjUqn1Kr1is1qt9yu9wsOi8fksvmMTqvX7Lb7DY/L5/S6/Y7P6/f8vv8PGCg4SFhoeIiYqLjI2Oj4CBkpOUlZaXmJmam5ydnp+QkaKjpKWmp6ipqqusra6voKGys7S1tre4ubq7vL2+v7CxwsPExcbHyMnKy8zNzs/AwdLT1NXW19jZ2tvc3d7f0NHi4+Tl5ufo6err7O3u7+Dh8vP09fb3+Pn6+/z9/v/w8woMCBBAsaPIgwocKFDBs6fAgxosSJFCtavIhRVgEAOw");
}