我想从HTML <select>元素中删除下拉箭头。例如:

<select style="width:30px;-webkit-appearance: none;">
    <option>2000</option>
    <option>2001</option>
    <option>2002</option>
    ...
</select>

在Opera、Firefox和ie浏览器中如何做到这一点?


当前回答

从选择中删除下拉箭头的简单方法

选择{ /*为Firefox */ -moz-appearance:没有; /* for Chrome */ -webkit-appearance:没有; } /*对于IE10 */ 选择:-ms-expand { 显示:没有; } <选择> <选项> 2000 > < /选项 <选项> 2001 > < /选项 <选项> 2002 > < /选项 < /选择>

其他回答

您无法使用全功能的跨浏览器支持来实现这一点。

试着取一个50像素的div,在它的右边浮动一个你想要的下拉图标

在这个div中,添加宽度为55像素的select标签(大于容器宽度)

我想你会得到你想要的。

如果你不想在右边放置任何图标,只需要执行所有的步骤,除了在右边浮动图像。在选择标签的焦点上设置outline:0。就是这样

前面提到的解决方案适用于chrome,但不适用于Firefox。

我发现了一个解决方案,在Chrome和Firefox(不是IE)都很好。将以下属性添加到SELECTelement的CSS中,并根据需要调整margin-top。

选择{ -webkit-appearance:没有; -moz-appearance:没有; indent: 1 px; 文本溢出:“; } <选择> <选项> > < /选项之一 <选项> < /两个选项> <选项> 3 < /选项> < /选择>

适用于所有浏览器和所有版本:

JS

jQuery(document).ready(function () {    
    var widthOfSelect = $("#first").width();
    widthOfSelect = widthOfSelect - 13;
    //alert(widthOfSelect);
    jQuery('#first').wrap("<div id='sss' style='width: "+widthOfSelect+"px; overflow: hidden; border-right: #000 1px solid;' width=20></div>");
});

HTML

<select class="first" id="first">
  <option>option1</option>
  <option>option2</option>
  <option>option3</option>
</select>

只是想把这个话题讲完。 很明显,这在IE9中是行不通的,但是我们可以通过一些css技巧来实现。

<div class="customselect">
    <select>
    <option>2000</option>
    <option>2001</option>
    <option>2002</option>
    </select>
</div>

.customselect {
    width: 80px;
    overflow: hidden;
   border:1px solid;
}

.customselect select {
   width: 100px;
   border:none;
  -moz-appearance: none;
   -webkit-appearance: none;
   appearance: none;
}

试试这个,对我有用,

<style> select{ border: 0 !important; /*Removes border*/ -webkit-appearance: none; -moz-appearance: none; appearance: none; text-overflow:''; text-indent: 0.01px; /* Removes default arrow from firefox*/ text-overflow: ""; /*Removes default arrow from firefox*/ } select::-ms-expand { display: none; } .select-wrapper { padding-left:0px; overflow:hidden; } </style> <div class="select-wrapper"> <select> ... </select> </div>

你不能隐藏,但是使用overflow hidden你可以让它消失。