如何创建如下图所示的选择元素?
我的代码是
<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>
使用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 以满足您的需要。