4

我必须删除Firefox中的默认选择框箭头我使用了下面的代码

-webkit-appearance: none;
-moz-appearance:none; 
background: rgba(0,0,0,0);

它在铬中工作良好。但它在Firefox中不起作用。

4

6 回答 6

22

更新:这已在 Firefox v35 中修复。有关详细信息,请参阅完整要点


刚刚想出了如何从 Firefox 中删除选择箭头。诀窍是混合使用-prefix-appearance,text-indenttext-overflow。它是纯 CSS,不需要额外的标记。

select {
    -moz-appearance: none;
    text-indent: 0.01px;
    text-overflow: '';
}

在 Windows 8、Ubuntu 和 Mac、最新版本的 Firefox 上测试。

现场示例:http: //jsfiddle.net/joaocunha/RUEbp/1/

有关该主题的更多信息:https ://gist.github.com/joaocunha/6273016

于 2013-08-25T13:44:12.603 回答
1

可以通过以下方式处理此问题:1)您的 html 可能是这样的:

<div class="select-box">
    <select>
        <option>Mozilla Firefox</option>
        <option>Google Chrome</option>
        <option>Apple Safari</option>
        <option>Internet Explorer</option>
    </select>
</div>

2)你的CSS应该是这样的:

.select-box select{width:100%}
/* For Microsoft IE */
select::-ms-expand {    display: none; }

/* For Webkit based browsers Google Chrome, Apple Safari and latest Gecko browsers */
select{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

试试看。我希望这有帮助。使用最新版本的 firefox、chrome、ie 和 safari,如果不是在所有版本上。但是请检查所有浏览器的所有版本。

于 2015-07-08T13:07:13.420 回答
0

我认为在 Firefox 中没有简单的方法,特别是对于 Linux 和 Mac OS 版本。将选择框的不透明度更改为 0,然后使用 div/span 来包含选择框。之后,在该容器上添加一些样式。这是一个不推荐的解决方法,如果我们只想更改选择框的样式,成本太高。但是,无论如何它都能解决问题。希望这可以帮助。=)

原文:

<select>
    <option>Value 1</option>
    <option>Value 2</option>
</select>

新的:

<span class="select-container">
    <select>
        <option>Value 1</option>
        <option>Value 2</option>
    </select>
</span>

风格:

.select-container {
    width: 100px;
    height: 30px;
    position: relative;
    border: 1px solid #ccc;
    background: url("path of the arrow image") no-repeat right center;
    background-size: 25px;
}
select {
    position: absolute;
    opacity: 0;
    outline: 0;
}

然后,添加一些 Javascript 以在容器中显示所选值。

于 2013-09-16T09:53:34.833 回答
0

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

select {
        /*for firefox*/
        -moz-appearance: none;
        /*for chrome*/
        -webkit-appearance:none;
      }

/*for IE10*/
select::-ms-expand {
    display: none;
}
<select>
 <option>India</option >
 <option>India</option >
 <option>India</option >    
</select>

于 2015-09-17T06:21:52.133 回答
-1

gcyrillus在这个网站上为这个问题提出了一个简洁的解决方案。

http://css-tricks.com/forums/topic/remove-select-arrow-for-chrome-and-firefox/

于 2014-12-19T10:08:35.427 回答
-1

    $(document).ready(function(){
        $(".selsect_class").each(function(){
            $(this).after("<span class='select_holder'></span>");
        });
        $(".selsect_class").change(function(){
            var selectedOption = $(this).find(":selected").text();
            $(this).next(".select_holder").text(selectedOption);
        }).trigger('change');
    })
.selsect_id{
		background: url("http://a1lrsrealtyservices.com/demo/ot-select.png") no-repeat scroll right center #fff;
		border: 1px solid #ccc;
		border-radius: 2px;
		box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.05) inset;
		box-sizing: border-box;
		display: block;
		font-size: 12px;
		height: 29px;
		margin: 0 5px 5px 0;
		width: 100%;
	}
	.selsect_class{
		cursor: pointer;
		font-size: 14px;
		height: 29px;
		opacity: 0;
		position: relative;
		width: inherit;
		z-index: 4;
	}
	.selsect_class option{padding: 3px 15px;}
	.select_holder{position: absolute;left: 30px;top: 5px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="selsect_id">
	<select class="selsect_class">
		<option value="">- Choose One -</option>
		<option value="1">jillur</option>
		<option value="2">korim</option>
		<option value="3">rohim</option>
		<option value="4">Uncategorized</option>
	</select>
</div>

预览图像

于 2015-12-21T16:46:21.243 回答