纯CSS选择菜单/下拉菜单:如何制作右箭头功能?

时间:2012-08-02 23:40:51

标签: html css css3 drop-down-menu

我根据此处的解决方案使用自定义选择/下拉菜单:https://stackoverflow.com/a/10190884/1318135

此功能很棒,只有在单击该框时才会显示选项。单击右侧的“箭头”不会显示下拉选项。什么是解决方法?

http://jsfiddle.net/XxkSC/553/

HTML:

<label class="custom-select">
 <select>
  <option>Sushi</option>
  <option>Blue cheese with crackers</option>
  <option>Steak</option>
  <option>Other</option>
 </select>

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;
   }

.no-pointer-events .custom-select:after {
    content: none;
    }

2 个答案:

答案 0 :(得分:6)

根据您的客户群, 一段非常简单的代码:

pointer-events:none;

请在此处查看浏览器支持:http://caniuse.com/pointer-events

编辑:只是在床上,可能想到另一个解决方案,但无法在我的手机上测试,但也许jQuery mousedown触发器可能是一个选项,在点击之前暂时隐藏箭头,可能吗?

或者这个,不确定它是如何使用的,但是在另一个线程中看到它:     $( '#选择-ID')显示()聚焦()点击(); ...

如果我在我的电脑上,我会测试它......

答案 1 :(得分:1)

那太好了。谢谢(你的)信息。喜欢使用内容。没有Android,但是我在Mac,FF,Saf和Chrome上看到它的效果非常好。可以尝试添加:

-moz-border-radius: 0px 20px 20px 0px;
-webkit-border-radius: 0px 20px 20px 0px;
border-radius: 0px 20px 20px 0px;`=

到它.custom-select:后对齐边框。