<select>
100pxサイズで表示しなければならないのですが、<option>
中の方が長いので全体を表示したいので、で囲んでサイズを100px<select>
に<div>
しました。ドロップダウン矢印の背景画像を使用しました。私の問題は、以下のリンクでわかるように、テキストが画像に重なっているということです。テキストが画像に重ならないようにする方法は?
プラグインを使いたくない。
<select>
100pxサイズで表示しなければならないのですが、<option>
中の方が長いので全体を表示したいので、で囲んでサイズを100px<select>
に<div>
しました。ドロップダウン矢印の背景画像を使用しました。私の問題は、以下のリンクでわかるように、テキストが画像に重なっているということです。テキストが画像に重ならないようにする方法は?
プラグインを使いたくない。
背景画像をdivに適用する代わりに、:after
擬似要素を使用して背景画像を適用し、選択の上に配置できます。
次のようになります。
.styled-select {
width: 100px;
padding: 2px;
overflow: hidden;
position: relative;
}
.styled-select:after {
content: '';
background: url("http://i.stack.imgur.com/DNROu.jpg") no-repeat right;
width: 20px;
height: 18px;
display: block;
position: absolute;
top: 0;
right: 0;
pointer-events: none;
}
pointer-events: none;
矢印の画像をクリックしたときにクリックしても選択がトリガーされるように、 を追加したことに注意してください。ブラウザ間の互換性が完全ではない可能性があります。それについて調査する必要があるかもしれません...
あなたのフィドルを更新しました: http://jsfiddle.net/hf5CV/24/
私は別の解決策を見つけました。
ここから: