如何设置 <option>只有CSS? [英] How to style the <option> with only CSS?

查看:24
本文介绍了如何设置 <option>只有CSS?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

注意:这个问题与制作自定义下拉菜单无关.这只是关于在 CSS 中的 select 元素中设置 元素样式的可能性

如何设置具有跨浏览器兼容性的 <选择的选项>选择</选项><option>蓝色</option><option >红色</option><option>绿色</option><option>黄色</option><option>棕色</option></选择>

我问的是仅使用 CSS 可以实现什么,同时兼容 IE9+、Firefox 和 Chrome.

我想要这样或尽可能接近的风格.

我在这里尝试了 http://jsfiddle.net/jitendravyas/juwz3/3/,但除了字体颜色之外,Chrome 不会显示任何样式,而 Firefox 会显示更多样式.如何在 Chrome 中获得边框和内边距?

解决方案

EDIT 2015 May

免责声明:我从下面链接的答案中提取了片段:

重要更新!

除了 WebKit,从 Firefox 35 开始,我们将能够使用 appearance 属性:

<块引用>

在组合框上使用 -moz-appearancenone 值现在删除下拉按钮

所以现在为了隐藏默认样式,就像在我们的 select 元素上添加以下规则一样简单:

select {-webkit 外观:无;-moz-外观:无;外观:无;}

对于 IE 11 支持,您可以使用 [::-ms-expand][15].

select::-ms-expand {/* IE 11 */显示:无;}

旧答案

不幸的是,使用纯 CSS 无法满足您的要求.但是,您可以选择类似的方法作为解决方法.检查下面的实时代码.

div {边距:10px;填充:10px;边框:2px纯紫色;宽度:200px;-webkit-border-radius: 5px;-moz-border-radius: 5px;边框半径:5px;}div >ul { 显示:无;}div:悬停 >ul {显示:块;背景:#f9f9f9;边框顶部:1px 纯紫色;}div:悬停 >升 >li { 填充:5px;边框底部:1px 实心 #4f4f4f;}div:悬停 >升 >li:悬停{背景:白色;}div:悬停 >升 >李:悬停>{ 颜色:红色;}

选择<ul><li><a href="#">项目 1</a></li><li><a href="#">项目 2</a></li><li><a href="#">项目 3</a></li>

编辑

这是您前段时间提出的问题.如何为

发送“验证码”获取 | 15天全站免登陆