当我需要用下拉列表拼凑自定义表单时,我常常不得不使用下拉框(select),由于某些部分是浏览器特定的,如下拉箭头,我花了一段时间去搞清楚如何只使用css轻松地美化下拉框。
select标签非常的常用。大部分人都是使用框架,取代了原生select,导致很多人不会select标签了。因此我们很有必要对SELECT的优化做一次彻底的美化。
下面是一个默认样式的下拉框的长相:
<select> <option>www.xttblog.com</option> <option>www.codedq.net</option> </select>
一个选择框的某些部分我们是可以美化的,比如字体、边框、颜色、内边距和背景颜色。
但是烦人的下拉箭头还是保持不变。没有直接美化它的方式,但解决方案还是非常简单的,首先我们需要用一个div容器包裹在select元素外围:
<div class="style-select"> <select> <option>www.xttblog.com</option> <option>www.codedq.net</option> </select> </div>
下一步我们需要加入一些css,以确保选择框元素被以某种方式美化:
.style-select select { background: transparent; width: 268px; padding: 5px; font-size: 16px; border: 1px solid #ccc; height: 34px; -webkit-appearance: none; /*for chrome*/ }
我们需要确保选择框的跨度比外围的div容器更宽,这样默认的下拉箭头就会消失(译者注:选择框比外面的div宽大,默认的下拉箭头就会被隐藏)。
我们的div容器需要被美化成新的下拉箭头出现在我们预想的位置:
.style-select { width: 240px; height: 34px; overflow: hidden; background: url(new_arrow.png) no-repeat right #ddd; }
知道这点解决办法将使你非常容易的,不用别的只使用css就能美化您的选择框。