下の画像のような選択要素を作成するにはどうすればよいですか?
私のコードは
<select>
<option>-- Select City --</optoin>
<option>Delhi</option>
<option>Gurgaon</option>
</select>
これはjQueryで利用できますが、純粋なCSSを使用したい.
これは CSS を利用した選択メニューです。必要に応じてカスタマイズできます。
label.custom-select {
position: relative;
display: inline-block;
}
.custom-select select {
display: inline-block;
padding: 4px 3px 3px 5px;
margin: 0;
font: inherit;
outline:none; /* remove focus ring from Webkit */
line-height: 1.2;
background: #000;
color:white;
border:0;
}
/* Select arrow styling */
.custom-select:after {
content: "▼";
position: absolute;
top: 0;
right: 0;
bottom: 0;
font-size: 60%;
line-height: 30px;
padding: 0 7px;
background: #000;
color: white;
pointer-events: none;
}
.no-pointer-events .custom-select:after {
content: none;
}
<label class="custom-select">
<select>
<option>Sushi</option>
<option>Blue cheese with crackers</option>
<option>Steak</option>
<option>Other</option>
</select>
</label>
it を使用するpointer-events:none;
と、矢印をクリックして選択フィールドをアクティブにすることができます。そのため、その要素の CSS は次のようになります。
.custom-select:after {
content: "▼";
position: absolute;
top: 0;
right: 0;
bottom: 0;
font-size: 60%;
line-height: 30px;
padding: 0 7px;
background: #000;
color: white;
pointer-events:none;
}
option{
background-image:url(image.png);
background-repeat: no-repeat;
}
Javascript なしでスクリーンショットに表示されているように、選択をカスタマイズする方法はありません。
この例では、色、パディング、ボーダーはカスタマイズできますが、ボタン自体はカスタマイズできないことがわかります。
選択ボックスに背景画像を追加しても、そのハンドラーを右側に隠すことはできません。これを使用することをお勧めします: http://jamielottering.github.com/DropKick/
必要に応じて CSS を少し変更する必要があります。