html – 设计选择标记

前端之家收集整理的这篇文章主要介绍了html – 设计选择标记前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试设计一个Select标签,如下图所示:

不知怎的,我设法通过将select标签包装在div中来设计它.但问题是,当我点击设计的箭头时,选择标签不起作用或显示所有列表.

我期待的是当我点击箭头时,select标签应该显示所有选项.因为箭头部分是使用父包装元素伪元素生成的,所以没有发生这种情况.因为it seems to be not working,我没有使用伪元素选择器选择标签.

我可以使用background-image来解决这个问题到父包装器,但由于我有权尽可能地更改html,我正在寻找更好的方法而不使用图像或javascript,即只使用CSS.

这是fiddle.

<div class="select-wrapper">
    <select>
        <option>EEE</option>
        <option>ECE</option>
        <option>EIE</option>
    </select>
</div>
.select-wrapper {
    display:inline-block;
    border:1px solid #bbbbbb;
    position:relative;
    width:120px;
    -webkit-border-radius:5px;
    -moz-border-radius:5px;
    border-radius:5px;
    margin-top: 10px;
}
.select-wrapper:before{
    content: "";
    position:absolute;
    right: 5px;
    top:8px;
    border-width: 5px 5px 5px 5px;
    border-style: solid;
    border-color: #666666 transparent  transparent  transparent ;
    z-index:3;
}
.select-wrapper:after {
    content:"";
    display:block;
    position:absolute;
    top:0px;
    bottom:0px;
    width:20px;
    right:0px;
    border-left:1px solid #bababa;
    background-color:#ededed;
    -webkit-border-top-right-radius:5px;
    -moz-border-top-right-radius:5px;
    border-top-right-radius:5px;
    -webkit-border-bottom-right-radius:5px;
    -moz-border-bottom-right-radius:5px;
    border-bottom-right-radius:5px;
}
select {
    width:100%;
    background-color:#ededed;
    border:none;
    outline:none;
    padding:0px;
    margin:0px;
    position:relative;
}

解决方法

添加指针事件:无;你的伪元素类.

FIDDLE

注意:IE10-不支持指针事件属性(caniuse表示IE11会这样)

对IE来说:

要么你必须解决箭头不能点击或

您可以使用Modernizr来检测是否支持指针事件 – 如果不支持(IE10-) – 还原为标准的内置箭头. (在这种情况下不使用您的特殊样式类)

.select-wrapper:before{
    content: "";
    position:absolute;
    right: 5px;
    top:8px;
    border-width: 5px 5px 5px 5px;
    border-style: solid;
    border-color: #666666 transparent  transparent  transparent ;
    z-index:3;
    pointer-events:none; /* <-- */
}
.select-wrapper:after {
    content:"";
    display:block;
    position:absolute;
    top:0px;
    bottom:0px;
    width:20px;
    right:0px;
    border-left:1px solid #bababa;
    background-color:#ededed;
    -webkit-border-top-right-radius:5px;
    -moz-border-top-right-radius:5px;
    border-top-right-radius:5px;
    -webkit-border-bottom-right-radius:5px;
    -moz-border-bottom-right-radius:5px;
    border-bottom-right-radius:5px;
    pointer-events:none; /* <-- */
}
原文链接:https://www.f2er.com/html/227131.html

猜你在找的HTML相关文章