2012-10-01 147 views
18

我想從選擇框中刪除默認箭頭並想使用自定義圖標。從以前的SO回答中,我發現這是不可能的(使其與主流瀏覽器一起使用)。唯一的可能性是將選擇內容包裝在div中,並將其寬度設置爲大於div寬度並設置overflow:hidden。 我正在嘗試關注,但它不起作用。我做錯了什麼?CSS選擇框箭頭樣式

HTML:

<div class="selectParent"> 
    <select> 
      <option value="1">Option 1</option> 
      <option value="2">Option 2</option>   
    </select> 
</div> 

CSS:

.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; 
} 

的jsfiddle: http://jsfiddle.net/gcPmC/

回答

31

檢查了這一點

左側

http://jsfiddle.net/afshinprofe/qhCsJ/1/

右側

​​

+0

謝謝,但我想把箭頭放在右側,而不是左側。我試圖改變你的代碼,但它不適用於正確的。 – user1251698

+0

我chnaged我的答案看看。 – Afshin

+0

options元素的寬度大於select元素...你能修復它嗎? – vsync

0

嘗試更換

padding: 2px 30px 2px 2px; 

padding: 2px 2px 2px 2px; 

它應該工作。

+2

謝謝,但我的自定義圖標仍犯規出現。 – user1251698