CSS3 IE9点击伪元素?

时间:2012-08-08 15:50:31

标签: html css internet-explorer-9 pseudo-element

我设置了以下小提琴,其中包含如何使用CSS3设置选择框样式的示例。我在IE9中遇到了麻烦。 label:beforelabel:after伪元素阻止了它们所在的下拉箭头的“点击”操作。除了IE9之外,每个浏览器都可以正常工作。有谁知道如何调整这个工作?我都是耳朵!

http://jsfiddle.net/CXJTv/

P.S。我只对css的想法感兴趣。我不希望JavaScript成为使其正常工作的必要条件。

2 个答案:

答案 0 :(得分:2)

使用零不透明度的第二个选择:

    <!DOCTYPE html>
    <html>
      <head>
        <style>
          #real { position: absolute; clip:rect(2px 51px 19px 2px); z-index:2; }
          #fake { position: absolute; opacity: 0; }
          
          body > span { display:block; position: relative; width: 64px; height: 21px; background: url(http://www.stackoverflow.com/favicon.ico) right 1px no-repeat; }
        </style>
      </head>
      <span>
        <select id="real">
          <option value="">Alpha</option>
          <option value="">Beta</option>
          <option value="">Charlie</option>
        </select>
        <select id="fake">
          <option value="">Alpha</option>
          <option value="">Beta</option>
          <option value="">Charlie</option>
        </select>
      </span>
    </html>

答案 1 :(得分:0)

如果IE对您当前的实现有问题,您可以始终使用Modernizer或conditional statements使IE恢复到下拉列表的标准内置箭头。

这里是a fiddle我使用条件语句只解析一个类,如果它是一个不是IE的浏览器。

Over here我回答了一个问题,它可能会帮助您使用纯css为您的选择下拉菜单使用自定义样式。