html - 独立于 <select> 调整 <option> 的大小

标签 html css google-chrome cross-browser

我们有一个带有大量数字选择元素的站点,该元素当前设置为各种“微调”轮,但我们需要将其更改为标准 <select><option>输入代替。问题是 Chrome 和新版本的 Safari 现在将下拉选项显示为与选择元素相同的字体大小,而 Firefox 以我们更喜欢的浏览器 native 字体大小显示下拉菜单。

这对于 Chrome/Safari 来说似乎是一种奇怪的行为,因为它们不允许其他样式继承自(字体、颜色等)。

这是一个jsfiddle为了演示,您可以在不同的浏览器中尝试查看不同的输出。

我们真的想坚持原生而不是设计一些自定义的东西来维护 iOS Safari、Android Chrome 等的原生移动选择界面。

非常感谢任何帮助,谢谢!

.select-wrapper {
  position: relative;
  display: block;
  font-size: 16px;
}

.selectClass {
  position: relative;
  display: block;
    font-size: 96px;
    text-transform: uppercase;
}

.selectClass option {
    font-size: 16px !important;
}

.selectClass .option-5 {
    font-size: 16px !important;
}
<div class='select-wrapper'>
<select class="selectClass">
  <option value="">Option 1</option>
  <option value="">Option 2</option>
  <option value="">Option 3</option>
  <option value="">Option 4</option>
  <option class='option-5' value="">Option 5</option>
  <option value="">Option 6</option>
  <option value="">Option 7</option>
</select>
</div>

最佳答案

这是一个有趣的问题,我自己也遇到过,但据我所知,现在有办法实现这一目标。阅读此 CSS Tricks文章以获得更完整的治疗。

一些浏览器会锁定某些组件,并且不会公开选项来修改它们的样式,而无需一些严肃的魔法。另一个相似但不同的例子是 checkbox ,虽然您可以自定义复选框,但这样做并非易事。

我建议您按照 CSS Tricks 作者的建议重新审视您的设计,或者您可以使用已经制定的解决方案,例如 Select2 Plugin , 或 Selectize ,或者您可以使用这些作为引用从头开始制作一个。

关于html - 独立于 <select> 调整 <option> 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45068911/

相关文章:

javascript - 文章比父 div 宽

javascript - 切换 HTML 元素类的大小时,过渡属性不起作用?

javascript - jquery 没有正确附加计数

html - 跨浏览器 HTML 工具提示的 Alt 或 title 属性?

ios - 有什么办法可以像谷歌为 iPhone 的搜索框所做的那样将语音转换为文本吗?

php - 将 CSS 中的背景图像添加到高级自定义字段 (ACF)

css - 侧标题 css 上的线具有不同的颜色

css - IE 拒绝解释@font-face 规则,即使首先使用 eot 文件,然后使用 "src: local(' ☺'), ..."hack 第二

javascript - 相同的跳跃高度改变重力

performance - Chrome 加载资源很慢 `(from disk cache)`