【问题标题】:Browser specific CSS padding for firefox fieldFirefox 字段的浏览器特定 CSS 填充
【发布时间】:2013-11-03 08:45:43
【问题描述】:

我的应用程序中有一个下拉列表,为了使其居中,我必须在 Mozilla Firefox 上添加 padding-top 10px,但在 google chrome 上不需要填充。如何定位选择列表以设置此浏览器特定。我希望我可以做如下的事情:

select {
  -moz-padding-top: 10px;
  -webkit-padding-top: 0px;
}

关于如何解决这个问题的任何想法?如下所示的问题,如果你在 Chrome 和 Firefox 中检查这个,我想要它让文本总是在中间

http://jsfiddle.net/uHDa6/

【问题讨论】:

  • 填充是通用的:P ...如果您在 Firefox 中需要它但在 chrome 中不需要,问题出在另一个元素或属性上,请提供一些代码或 FIDDLE
  • 小提琴添加到问题
  • +1 解决问题。我喜欢挑战。但下一次,描述问题(即firefox 垂直对齐方式不同,vertical-align 什么都不做),而不是你试图破解它的方式。

标签: css firefox webkit


【解决方案1】:

注意:此答案的第一部分现已过时,因为此功能已从 Firefox 中删除。对于真正的答案,请继续阅读“但是”。


您的问题的答案是:是的,可以将特定于 Mozilla 的 CSS 放入样式表中。 (不在内联样式属性中。)
在这种情况下,你会写

@-moz-document url-prefix() {
    select {padding-top:10px;}
}

这只是@document规则的Mozilla前缀版本,其他浏览器无法识别。


但是,实际解决文本位置不匹配问题的方法是不设置高度,而只设置select的padding。没有黑客攻击。

style="font-size: 14px; padding: 11px 0 11px 5px;"

这在所有浏览器中都有预期的效果。见new fiddle

【讨论】:

  • 感谢Lister先生单独填充能够解决我已经尝试过但由于设置的高度搞砸了所以欢呼。
  • 这正是我解决类似问题所需要的。 Firefox 显示的 Arial 字体比 Chrome 和 IE 略窄,因此为了保持适当的菜单项宽度,我必须向 Firefox 添加自定义填充。这成功了。谢谢!
  • 这似乎已被弃用,我很幸运将 @media(min--moz-device-pixel-ratio:0) {} 与最新版本的 firefox 一起使用
  • @sofly 你说得对,最近的 Firefox 不再处理 @-moz-document。耻辱。我不知道其他使用前缀的黑客是否会继续工作很长时间。
猜你喜欢
  • 1970-01-01
  • 2014-03-03
  • 2011-12-21
  • 2021-08-30
  • 2017-08-22
  • 1970-01-01
  • 1970-01-01
  • 2021-02-25
  • 2013-12-19
相关资源
最近更新 更多