Home  >  Article  >  Web Front-end  >  用纯css改变下拉列表select框的默认样式 - dehua.Chen

用纯css改变下拉列表select框的默认样式 - dehua.Chen

WBOY
WBOYOriginal
2016-05-21 08:42:201319browse

将浏览器默认的下拉框样式清除,然后应用上自己的,再附一张向右对齐小箭头的图片即可。

 1 select {
 2 /*Chrome和Firefox里面的边框是不一样的,所以复写了一下*/
 3   border: solid 1px #000;
 4 
 5 /*很关键:将默认的select选择框样式清除*/
 6   appearance:none;
 7   -moz-appearance:none;
 8   -webkit-appearance:none;
 9 /*在选择框的最右侧中间显示小箭头图片*/
10   background: url("http://ourjs.github.io/static/2015/arrow.png") no-repeat scroll right center transparent;
11 /*为下拉小箭头留出一点位置,避免被文字覆盖*/
12   padding-right: 14px;
13 }
14 /*清除ie的默认选择框样式清除,隐藏下拉箭头*/
15 select::-ms-expand { display: none; }

IE8/9并不支持  appearance:none  CSS属性,想要支持的话可能需要非常特殊的方法,参考SF: 我们需要为其添加一个父容器,容器是用来覆盖小箭头的,然后为select添加一个向右的小偏移或者宽度大于父级元素。设置父级的CSS属性为超出部分不可见,即可覆盖即小箭头。然后再为父级容器添加背景图片即可。

1 div id="parent">
2   select>
3       option>whatoption>
4       option>theoption>
5       option>helloption>
6   select>
7 div>
1 #parent {background: url('yourimage') no-repeat; width: 100px;
2 height: 30px; overflow: hidden;}
3 #parent select {background: transparent; border: none; padding-left: 10px; width: 120px; height: 100%;}

 input 背景透明代码

background-color: transparent;

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn