小智 34
我一直在研究同样的问题.想出了一个非常简单的解决方案,使用一个比下拉本身短的持有者div.我还使用背景图像让下拉箭头看起来像我喜欢的样子.看看http://www.danielneumann.com/blog/how-to-style-dropdown-with-css-only/
您只需要选择标记和2个CSS类的div.
HTML:
<div class="mainselection">
<select name="State" id="input7">
<option></option>
<option value="Alabama">Alabama</option>
...
<option value="Wisconsin">Wisconsin</option>
<option value="Wyoming">Wyoming</option>
</select>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
.mainselection {
overflow:hidden;
width:350px;
margin-left:35px;
background: url("images/dropdown_arrow.png") no-repeat #fff 319px 2px;
/* dropdown_arrow.png is a 31x28 image */
}
select {
border:0;
background:transparent;
height:32px;
border:1px solid #d8d8d8;
width:350px;
-webkit-appearance: none;
}
Run Code Online (Sandbox Code Playgroud)
然后经过一点Javascript验证后,我还可以将div上的类切换.dropdownbad为红色边框.
.dropdownbad {
border:2px solid #c13339;
}
Run Code Online (Sandbox Code Playgroud)
此处显示默认和错误状态:

您可以使用SELECT选择器应用样式或将类名应用于SELECT元素.但是,你会遇到IE <8的问题,将边界应用于元素.
然后,您可以使用OPTION选择器来定位选项.
SELECT { border: solid 1px red; font-weight: bold; }
OPTION { background:green; font-style: italic; }
Run Code Online (Sandbox Code Playgroud)
应该使用粗体文本为您提供带红色边框的下拉菜单(如果在标准模式下使用FF或IE8),并且选项应为绿色背景的斜体.
| 归档时间: |
|
| 查看次数: |
96709 次 |
| 最近记录: |