13

次のコードを使用して、選択ドロップダウン矢印をカスタマイズしています。

HTML :

<span class="selectWrapper">
    <select id="rowselect" class="pageinfoselect input-mini">
        <option>...</option>
    </select>
</span>

CSS :

span.selectWrapper {
    position: relative;
    display: inline-block;
          width:65px;
}

span.selectWrapper 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: #f5f5f5;
    height:30px;
    color:#666666;
    border:1px solid #dddddd;
}




/* Select arrow styling */
span.selectWrapper:after {
    content: url("../images/arrow_down.png");
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    line-height: 30px;
    padding: 0 7px;
    background: #f5f5f5;
    color: white;
    border:1px solid #dddddd;
    border-left:0px;
}

これは正常に機能し、デフォルトのドロップダウン矢印を置き換えますが、問題は矢印の画像をクリックできないことです。選択ボックスをクリックすると開きますが、矢印の画像をクリックしても開きたい

4

1 に答える 1

45

次のルールを追加します

pointer-events:none;

編集:

ただし、IE はまだこのプロパティをサポートしていないことに注意してください ( caniuseによると- IE11 でサポートされる予定です)。

しかし、それでもこの方法が必要な場合は、Modernizer または条件付きコメント (IE < 10 の場合)とこの CSS ハック(IE10 の場合)を使用して、IE を標準の組み込み矢印に戻すことができます。

/*target Internet Explorer 9 and Internet Explorer 10:*/
@media screen and (min-width:0\0) { 
    span.selectWrapper:after
    {
        display:none;
    }
}

ただし、これには回避策(および別の解決策)があります。これについては、こちらの回答で言及しています-これには、このCodepenも含まれています

于 2013-07-23T13:47:00.980 に答える