我想以粗体显示select
option
的文字,如下图所示。
该代码在Chrome以外的所有浏览器中都运行良好。我该如何解决这个问题?
<select style="font-weight:normal">
<option style="font-weight:bold">Bold text here</option>
<option style="font-weight:bold">Bold text here</option>
<option style="font-weight:bold">Bold text here</option>
<option style="font-weight:bold">Bold text here</option>
</select>
答案 0 :(得分:2)
基本理念是这个
<div id="list1" class="dropdown-check-list">
<span class="anchor">Select Fruits</span>
<ul class="items">
<li><b>Apple</b></li>
<li>Orange</li>
<li>Grapes </li>
<li>Berry </li>
<li>Mango </li>
<li>Banana </li>
</ul>
</div>
css
.dropdown-check-list {
display: inline-block;
}
.dropdown-check-list .anchor {
position: relative;
cursor: pointer;
display: inline-block;
padding: 5px 50px 5px 10px;
border: 1px solid #ccc;
}
.dropdown-check-list .anchor:after {
position: absolute;
content: "";
border-left: 2px solid black;
border-top: 2px solid black;
padding: 5px;
right: 10px;
top: 20%;
-moz-transform: rotate(-135deg);
-ms-transform: rotate(-135deg);
-o-transform: rotate(-135deg);
-webkit-transform: rotate(-135deg);
transform: rotate(-135deg);
}
.dropdown-check-list .anchor:active:after {
right: 8px;
top: 21%;
}
.dropdown-check-list ul.items {
padding: 2px;
display: none;
margin: 0;
border: 1px solid #ccc;
border-top: none;
}
.dropdown-check-list ul.items li {
list-style: none;
}
.dropdown-check-list.visible .anchor {
color: #0094ff;
}
.dropdown-check-list.visible .items {
display: block;
}
脚本
<script type="text/javascript">
var checkList = document.getElementById('list1');
checkList.getElementsByClassName('anchor')[0].onclick = function (evt) {
if (checkList.classList.contains('visible'))
checkList.classList.remove('visible');
else
checkList.classList.add('visible');
}
</script>
这将让你开始。这使用最小的JavaScript。你可以做得更多。 摆弄并试验。
答案 1 :(得分:1)
可以给我们更多关于你需要什么的信息吗?
例如:如果你需要加粗所选的选项,我使用了这样的黑客,当你选择一个选项时,它变成粗体:
小提琴:http://jsfiddle.net/Gt7Yq/
html:
<select>
<optgroup id='111' label="111" style="display:none"></optgroup>
<option value="111">111</option>
<optgroup id='222' label="222" style="display:none"></optgroup>
<option value="222">222</option>
</select>
js:
$('select').on('change',function(){
$('optgroup').hide();
$('select option').show();
$('select option:selected').hide();
$('#'+$('select option:selected').val() ).show();
});
但是如果你想显示一个特殊的选项,即使它没有被选中......我也帮不了你...(但是答案让我感到不安)