代码之家  ›  专栏  ›  技术社区  ›  Rick Kukiela

CSS3 IE9点击通过伪元素?

  •  4
  • Rick Kukiela  · 技术社区  · 12 年前

    我有下面的小提琴和一个关于如何用CSS3设计选择框的样本。我在IE9遇到了麻烦。这个 label:before label:after 伪元素阻止了它们所在的下拉箭头的“点击”操作。这在除IE9之外的所有浏览器中都能很好地工作。有人知道如何调整这个功能吗?我洗耳恭听!

    http://jsfiddle.net/CXJTv/

    附言:我只对css的想法感兴趣。我不希望JavaScript成为正确工作的必要条件。

    2 回复  |  直到 11 年前
        1
  •  2
  •   Paul Sweatte    8 年前

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

        <!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>
        2
  •  0
  •   Community Dai    7 年前

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

    这是 a fiddle 其中,我使用条件语句仅在类是非IE浏览器的情况下解析该类。

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