10

如何创建如下图所示的选择元素?

在此处输入图像描述

我的代码是

<select>
    <option>-- Select City --</optoin>
    <option>Delhi</option>
    <option>Gurgaon</option>
</select>

这在 jQuery 中可用,但我想使用纯 CSS。

4

5 回答 5

24

这是一个 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>

JSFiddle

于 2012-04-17T12:04:10.497 回答
4

使用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;
}
于 2014-05-09T12:24:01.187 回答
0
option{
  background-image:url(image.png);
  background-repeat: no-repeat;
}
于 2012-04-17T05:54:34.870 回答
0

没有 Javascript 就无法自定义您在屏幕截图中看到的选择。

您可以在此示例中看到您可以自定义颜色、填充和边框,但不能自定义按钮本身。

于 2012-04-17T05:55:51.460 回答
-1

即使您向选择框添加了背景图像,您也无法在右侧隐藏该处理程序。我建议使用这个:http: //jamielottering.github.com/DropKick/

您只需稍微修改 CSS 以满足您的需要。

于 2012-04-17T06:02:22.203 回答