CSS怎么去掉select的下拉箭头样式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSS怎么去掉select的下拉箭头样式相关的知识,希望对你有一定的参考价值。

css是无法去掉默认select的下拉箭头的,除非自己用div+js+css实现自定义select控件。

1、定义html中的select标签

<form> 
<a class="btn-select" id="btn_select"> 
<span class="cur-select">请选择</span> 
<select> 
<option>选项一</option> 
<option>选项二</option> 
<option>选项三</option> 
<option>选项四</option> 
<option>选项五</option> 
</select> 
</a> 
</form> 

2、定义css样式:

*  
margin: 0; 
padding: 0; 
 
body  
padding: 50px 50px; 
 
.btn-select  
position: relative; 
display: inline-block; 
width: 150px; 
height: 25px; 
background-color: #f80; 
font: 14px/20px "Microsoft YaHei"; 
color: #fff; 
 
.btn-select .cur-select  
position: absolute; 
display: block; 
width: 150px; 
height: 25px; 
line-height: 25px; 
background: #f80 url(ico.png) no-repeat 125px center; 
text-indent: 10px; 
 
.btn-select:hover .cur-select  
background-color: #f90; 
 
.btn-select select  
position: absolute; 
top: 0; 
left: 0; 
width: 150px; 
height: 25px; 
opacity: 0; 
filter: alpha(opacity: 0;); 
font: 14px/20px "Microsoft YaHei"; 
color: #f80; 
 
.btn-select select option  
text-indent: 10px; 
 
.btn-select select option:hover  
background-color: #f80; 
color: #fff; 
 

3、定义点击事件JS:

var $$ = function (id)  
return document.getElementById(id); 
 
window.onload = function ()  
var btnSelect = $$("btn_select"); 
var curSelect = btnSelect.getElementsByTagName("span")[0]; 
var oSelect = btnSelect.getElementsByTagName("select")[0]; 
var aOption = btnSelect.getElementsByTagName("option"); 
oSelect.onchange = function ()  
var text=oSelect.options[oSelect.selectedIndex].text; 
curSelect.innerHTML = text; 
 
 

4、最终效果:

参考技术A   有很多种方案,有用css的,有用js的,我给你一种简单的方案吧,原理是外面套一个div,它的大小比select窄一点,盖掉下拉箭头的位置:
  <!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.styled-select
width: 240px;
height: 34px;
overflow: hidden;

.styled-select select
background: transparent;
width: 268px;
padding: 5px;
font-size: 16px;
border: 1px solid #ccc;
height: 34px;
-webkit-appearance: none; /*for chrome*/

</style>
</head>
<body>
<div class="styled-select">
<select name="citylist">
<option value="0">北京</option>
<option value="1">上海</option>
<option value="2">深圳</option>
<option value="3">广州</option>
</select>
</div>
</body>
</html>

以上是关于CSS怎么去掉select的下拉箭头样式的主要内容,如果未能解决你的问题,请参考以下文章

css3怎样去掉select中三角箭头的背景

css清除select的下拉箭头样式

清除Css中select的下拉箭头样式

请教一下高手,怎么改变select下拉菜单的样式。右边那个默认的箭头很丑,怎么换成一个好看的箭头。

<select>隐藏边框及下拉箭头

如何把html的select控件的下拉箭头改成图