只用CSS美化選擇框


<本文譯自Style a Select Box Using Only CSS>

select_css_big

當我需要用下拉列表拼湊自定義表單時,我常常不得不使用下拉框(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-appearancenone; /*for chrome*/
}

我們需要確保選擇框的跨度比外圍的div容器更寬,這樣默認的下拉箭頭就會消失(譯者注:選擇框比外面的div寬大,默認的下拉箭頭就會被隱藏)

下面是我們要用的新下拉箭頭:

down_arrow_select

我們的div容器需要被美化成新的下拉箭頭出現在我們預想的位置:

.styled-select {
   width: 240px;
   height: 34px;
   overflow: hidden;
   background: url(new_arrow.png) no-repeat right #ddd;
}

知道這點解決辦法將使你非常容易的,不用別的只使用css就能美化您的選擇框。

 

譯者注:在線調式地址http://jsfiddle.net/shishaomeng/KGrYB/ ,各位看官可自行進入調試


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM