このような選択オプションのマークアップがあります
<div class="styleselect">
<select onchange="setLocation(this.value)" class="selections">
<option selected="selected" value="position">Position</option>
<option value="name">Name</option>
<option value="price">Price</option>
</select>
</div>
ここで、選択オプションのデフォルトの矢印のスタイルを設定したいので、CSSを次のように変更しました
.styleselect {
background-color: #DFD3C3;
background-image: url("http://s21.postimg.org/nx05vn15f/dropdown_style.png");
background-position: 117px center;
background-repeat: no-repeat;
border: 1px solid #C5AF8A;
overflow: hidden;
vertical-align: middle;
width: 140px;
padding: 0;
margin: 0;
display: inline-block;
}
.styleselect select {
background-color: transparent;
margin: 0 0 1px;
padding: 4px;
vertical-align: middle;
width: 190px;
}
うまくいきました。しかし、オプションをクリックすると、オプションが実際の幅から余分な幅を持ち、実際には奇妙に見えるという1つの問題が発生しました。余分な幅は.styleselect select
、私が入れた幅から来ていることを知っていextra width
ます。しかし、それは矢印のスタイリングのために行われました。カスタム矢印が選択オプションのデフォルトの矢印に配置され、オプションの余分な幅も非表示になるように、余分な幅を修正する方法を教えてください。フィドルのリンクはこちら
どんな助けや提案も本当に価値があります。ありがとう