【发布时间】:2012-01-09 05:12:53
【问题描述】:
我正在开发一个 jQuery 主题,其中包含尽可能多的表单元素的样式。 最初它是为 Webkit (Chrome) 开发的。现在我想让它也适用于 Firefox。
问题是; Firefox 在某些特定于 Webkit 的语法方面存在问题。
例如:
input[type="range"]::-webkit-slider-thumb,
input[type=radio],
input[type=checkbox] {
-webkit-appearance: none !important;
-moz-appearance: none;
width: 1.2em;
height: 1.2em;
border: 1px solid black;
background: #666666 url(images/ui-bg_highlight-soft_50_666666_1x100.png) 50% 50% repeat-x;
}
问题在于input[type="range"]::-webkit-slider-thumb, 位。删除它,Firefox 就可以正常工作了。它也为其他语法(如 ::-webkit-file-upload-button、::selection 和所有其他使用 ::-webkit-... 标签的东西)执行此操作。它可以识别它自己的 ::-moz-... 标签,例如 ::-moz-selection 就好了。
Webkit 似乎只是忽略了 ::-moz- 标签。
有没有什么方便的方法可以让 Firefox 忽略 ::-webkit-... 标签或以其他方式处理这个问题,而不必维护每个 CSS 块的多个副本?
使用最新版本的 Chrome 和 Firefox。
【问题讨论】:
-
当你说 WebKit 忽略
::-moz-标签是什么意思?它是否仍然应用规则,只忽略具有该前缀的伪元素? (不应该……) -
@BoltClock 我的意思是 WebKit 只是呈现规则。好像
::-moz-标签不存在;仅忽略具有该前缀的伪元素。如果你有div, span::-moz-whatever, p { color: red; },WebKit 会将规则应用于 div 和 p。
标签: css firefox google-chrome webkit css-selectors