首頁  >  文章  >  web前端  >  css為select添加樣式(無腳本)實現

css為select添加樣式(無腳本)實現

yulia
yulia原創
2018-09-10 16:13:531327瀏覽

改變select預設的樣式,一般情況下透過ul,li來模擬來實現。有許多Jquery外掛就是透過這樣的方式來改變select預設樣式的。
根據程式哥哥那邊的反映,此種方式在form提交後無法取得數據,後來經過實驗,用了不同的JS/Jquery插件,都是同樣的結果:無法取得數據。

後來看一篇外國人寫的博客,用css的樣式來實現在select外面添加一個div,設定select的寬度小於父級div的寬度,然後透過設定div的background屬性,改變select預設箭頭的樣式。此種方法不失為一個好方法,不寫腳本,只用單純的css來實現。

不過這種方法也是有瑕疵的,就是在IE系列下,選取某個選項的時候會有背景色塊,IE7-IE10都有此bug。
在Opera下,設定div的背景圖不顯示,也就是select的下拉箭頭不顯示,這個不知道是什麼原因所致。

html程式碼:

<div class="select_style"> 
<select name="select"> 
<option>AAAAAAAAAAA</option> 
<option>BBBBBBBBBBB</option> 
<option selected>CCCCCCCCCCC</option> 
<option>DDDDDDDDDDD</option> 
</select> 
</div>

CSS程式碼:

.select_style {width:240px; height:30px; overflow:hidden; background:url(../images/arrow.png) no-repeat 215px; 
border:1px solid #ccc; 
-moz-border-radius: 5px; /* Gecko browsers */ 
-webkit-border-radius: 5px; /* Webkit browsers */ 
border-radius:5px; 
} 
.select_style select { padding:5px; background:transparent; width:268px; font-size: 16px; border:none; height:30px; 
-webkit-appearance: none; /*for Webkit browsers*/ 
}

 

以上是css為select添加樣式(無腳本)實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn