选择选项在Mozilla Firefox上是透明的

时间:2019-07-11 10:09:07

标签: css firefox select

我使用带有地标的lang切换器作为选择背景,当lang改变时,背景也会改变。

一切正常,但是在Mozilla Firefox上,除了悬停之外,其他选项都是透明的。我找不到任何解决方法。

我进行了一次堆叠炸弹射击,所以您可以更好地看到问题所在:(这些图像不是好图像,这就是为什么它呈现“丑陋”的原因) https://stackblitz.com/edit/angular-u5jgzt

感谢我的帮助/分享了可以帮助我的链接。

app.component.ts     从'@ angular / core'导入{组件};

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ]
})
export class AppComponent  {
  /**
   * define the current language in the app
   *
   * @type {('français' | 'english')}
   * @memberof LangSwitcherComponent
   */
  currentLang: 'français' | 'english' = 'français';

  /**
   * Change the translation language
   *
   * @param {*} event
   * @memberof LangSwitcherComponent
   * @returns {void}
   */
  changeLang(): void {
    this.currentLang = this.currentLang === 'français' ? 'english' : 'français';
  }
}

app.component.css

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  height: 21px;
  width: 21px;
  border-radius: 100%;
  background: url('https://upload.wikimedia.org/wikipedia/commons/thumb/3/3a/Flag_of_France_%281794%E2%80%931815%2C_1830%E2%80%931958%29.svg/250px-Flag_of_France_%281794%E2%80%931815%2C_1830%E2%80%931958%29.svg.png');
  background-size: cover;
  border: 1px solid #fff;
  color: transparent;
  cursor: pointer;
}
select.en {
  background: url('https://upload.wikimedia.org/wikipedia/commons/f/f2/Flag_of_Great_Britain_%281707%E2%80%931800%29.svg');
  background-size: cover;
}
select option {
  background-color: white;
  padding: 10px;
}
p {
  font-size: 15px;
  line-height: 19px;
  margin: auto;
  margin-top: 1px;
}

2 个答案:

答案 0 :(得分:2)

您还需要在选项中指定颜色CSS

select option {

    color: black;

}

答案 1 :(得分:1)

只需将select option样式更新为:

select option {
  background-color: white;
  padding: 10px;
  color: #000;
}

您正在将color: transparent设置为select{ }风格,然后一个级联到该选项。