为什么可以为不同的浏览器我岂不组针对特定浏览器CSS选择器?(Why can I not group

2019-06-24 17:46发布

我只是试着写了以下规则来样式支持它的浏览器中输入占位符:

#main input::-webkit-input-placeholder,
#main input:-moz-placeholder
{
    color: #888;
    font-style: italic;
}

问题是,不适用该规则。 不过,如果我打破它,这样,而不是它工作得很好:

#main input::-webkit-input-placeholder
{
    color: #888;
    font-style: italic;
}
#main input:-moz-placeholder
{
    color: #888;
    font-style: italic;
}

为什么我不能组特定浏览器的选择,或者是有另一种方式做到这一点? 这感觉不对两次重复相同属性的相同元素。

更新:

刚刚发现这个资源 ,指出它不能这样做,但至今为何没有信息。 这似乎很奇怪的是,浏览器应该放弃整个规则只是因为它不承认的选择之一。

Answer 1:

如果一组选择的一个选择是无效的,浏览器必须把整个规则为无效。 或者至少这样说的W3C 。

我不知道为什么这种行为的任务,但一推,我想这是因为一个无效的选择可能会破坏一般CSS语法,使其无法在浏览器中可靠地猜出无效的选择结束和有效元素开始。



Answer 2:

最有可能的,一些浏览器放弃整个定义,因为他们不考虑选择有效。



Answer 3:

如果您愿意使用JavaScript,检查出的免费-prefix脚本。 它可以让你离开过像这些CSS属性的供应商特定的前缀(例如-webkit-或-moz-)。



文章来源: Why can I not group browser-specific CSS-selectors for different browsers?