我想从选择框中删除默认箭头,并使用自定义图标。从前面关于SO的回答中,我发现这是不可能的(让它在主要浏览器上工作)。唯一可能的方法是将select封装在div中,并将其宽度设置为大于div的宽度,并设置overflow: hidden。我正在尝试跟随,但它不起作用。我哪里做错了?
.selectParent {
width: 80px;
overflow: hidden;
}
.selectParent select {
width: 100px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
padding: 2px 30px 2px 2px;
border: none;
background: transparent url("http://cdn1.iconfinder.com/data/icons/cc_mono_icon_set/blacks/16x16/br_down.png") no-repeat right center;
}
<div class="selectParent">
<select>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
</div>
JSFiddle: http://jsfiddle.net/gcPmC/
发布于 2018-04-11 16:32:56
请按照如下方式操作:
.selectParent {
width:120px;
overflow:hidden;
}
.selectParent select {
display: block;
width: 100%;
padding: 2px 25px 2px 2px;
border: none;
background: url("http://cdn1.iconfinder.com/data/icons/cc_mono_icon_set/blacks/16x16/br_down.png") right center no-repeat;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
}
.selectParent.left select {
direction: rtl;
padding: 2px 2px 2px 25px;
background-position: left center;
}
/* for IE and Edge */
select::-ms-expand {
display: none;
}
<div class="selectParent">
<select>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
</div>
<br />
<div class="selectParent left">
<select>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
</div>
发布于 2012-10-01 14:34:05
尝试替换
padding: 2px 30px 2px 2px;
使用
padding: 2px 2px 2px 2px;
应该能行得通。
https://stackoverflow.com/questions/12668404
复制相似问题