html - Chrome 53 中的 <select> 高度

标签 html css google-chrome

更新到 Chrome 53.0.2785.101 后,我注意到 <select> 的高度元素现在比以前少了一个像素。

enter image description here

下面的代码将在 Chrome 中显示高度为 17,在 Firefox 中显示为 19。

document.write("height: "+$("#myselect").height())
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="myselect">
  <option>Just one</option>
</select>

我可以添加填充来补偿,但这会改变其他浏览器中的外观。除了实现特定于 Chrome 的 CSS 之外,是否有一些方法可以规范化 <select> 的高度元素在浏览器中具有一致的外观?我尝试了标准的 reset.css,但这并没有什么不同。

Extra credit:他们在 Chrome 53 中究竟做了什么改变来实现这一变化?我没有在变更日志中清楚地看到它。

最佳答案

玩弄 CSS 我发现只需添加标准 font-family font-size 并设置 border0。移除另一个像素有点困难。我最终不得不将 -webkit-appearance-moz-appearance 设置为 none,然后应用 min-height。这是代码示例:

#myselect {
  background: lightblue;
  font-size: 12px;
  font-family: verdana;
  border:0;
  -webkit-appearance : none;
  -moz-appearance : none;
  min-height: 20px;
}

updated your js.fiddle如果你想测试结果。顺便说一句,我必须将 border 设置为 0 的原因是因为我已将 JS 更改为 outerHeight。如果将其设置为 height 并删除 border: 0;,它会显示相同的值。

关于html - Chrome 53 中的 <select> 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39419155/

相关文章:

html - 为什么我无法到达这个 div?

javascript - jQuery 动画/悬停和淡入淡出

javascript - ext-6 gpl Hello World

css - 将导航栏菜单对齐到底部中心

javascript - jQuery 选择不具有包含特定单词的类的 div

google-chrome - Chrome 代码检查器——«== $0» 是什么意思?

html - jQuery 1.7+ 中等效的 jQuery livequery 插件

javascript - 重置组合框时隐藏文本框

reactjs - 子组件的统计信息并不总是在 Chrome 性能选项卡的用户计时部分中可用

android - 未找到 android chromeview 的实现