<本文譯自Style a Select Box Using Only CSS>
當我需要用下拉列表拼湊自定義表單時,我常常不得不使用下拉框(select),由於某些部分是瀏覽器特定的,如下拉箭頭,我花了一段時間去搞清楚如何只使用css輕松地美化下拉框。
下面是一個默認樣式的下拉框的長相:
HTML code:
<select>
<option>Here is the first option</option>
<option>The second option</option>
</select>
一個選擇框的某些部分我們是可以美化的,比如字體、邊框、顏色、內邊距和背景顏色:
但是煩人的下拉箭頭還是保持不變。沒有直接美化它的方式,但解決方案還是非常簡單的,首先我們需要用一個div容器包裹在select元素外圍:
1 <div class="styled-select">
2 <select>
3 <option>Here is the first option</option>
4 <option>The second option</option>
5 </select>
6 </div>
下一步我們需要加入一些css,以確保選擇框元素被以某種方式美化:
.styled-select select {
background: transparent;
width: 268px;
padding: 5px;
font-size: 16px;
border: 1px solid #ccc;
height: 34px;
-webkit-appearance: none; /*for chrome*/
}
我們需要確保選擇框的跨度比外圍的div容器更寬,這樣默認的下拉箭頭就會消失(譯者注:選擇框比外面的div寬大,默認的下拉箭頭就會被隱藏)
下面是我們要用的新下拉箭頭:
我們的div容器需要被美化成新的下拉箭頭出現在我們預想的位置:
.styled-select {
width: 240px;
height: 34px;
overflow: hidden;
background: url(new_arrow.png) no-repeat right #ddd;
}
知道這點解決辦法將使你非常容易的,不用別的只使用css就能美化您的選擇框。
譯者注:在線調式地址http://jsfiddle.net/shishaomeng/KGrYB/ ,各位看官可自行進入調試