0

我试图摆脱默认选择以使用更符合我网站风格的东西。

我创建了一个<button>来包装选择。给它 opacity: 0 和绝对定位和大小以使其适合按钮。使用一些 jquery,我做到了,以便活动选项也显示为按钮的文本,在<span>. 它看起来很不错。

问题是在 chrome 和 safari 上完美运行,而在 firefox 上却完全不行!

webkit即使不可见也会听选择的点击,moz不要(对IE和opera很好奇)。我真的不知道如何解决这个问题......

这里是一个重现问题的小提琴:http: //jsfiddle.net/bakaburg1/YyvRf/2/

欢迎任何帮助。

4

1 回答 1

0

您可以使用<div>而不是<button>

HTML:

<div class="btn btn-small select-container">
    <select>
        <option>title</option>
        <option>date</option>
        <option>author</option>
    </select>
</div>

CSS:

.btn.btn-small{
  padding-bottom: 2px;
  padding-top: 2px;
  color: #737373;
  font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
  font-size: 14px !important;
  font-variant: small-caps;
  font-weight: bold;
}

.btn.select-container {
  position: relative;
  padding-right: 24px;
}

.btn.select-container select {
  position: absolute;
  top: -1px;
  left: 0;
  height: 117%;
  width: 100%;
  opacity: 0;
  filter: alpha(opacity=0);
  z-index: 1000;
}

select.btn {
  width: initial;
  height: 23px;
  padding-right: 20px;
  -webkit-appearance: none;
}

select.btn:focus {
  outline: none;
}

.select-container {
  position: relative;
}

在这里看到它:http: //jsfiddle.net/YyvRf/3/

于 2012-09-01T20:55:48.897 回答