Chrome30CSS黑客
为什么css规则在Chrome中不起作用 css: 或Chrome30CSS黑客,css,google-chrome,Css,Google Chrome,为什么css规则在Chrome中不起作用 css: 或 首先,这不是一次黑客攻击。同样,这不仅仅适用于ChromeV30。同样的功能也适用于所有其他现代浏览器 根据CSS2.1规范中的定义: …括号(())、括号([])和大括号({})必须始终成对出现,并且可以嵌套 当您添加一个()时(例如,Chrome将在尝试应用任何样式之前等待关闭)。但是,没有CSS属性像这样包装在括号中,因此没有应用样式 举个例子: 选择器{ (颜色:#f00;)/*无效,已忽略*/ 字体大小:粗体;/*有效,不可忽略*
首先,这不是一次黑客攻击。同样,这不仅仅适用于ChromeV30。同样的功能也适用于所有其他现代浏览器 根据CSS2.1规范中的定义: …括号(
()
)、括号([]
)和大括号({}
)必须始终成对出现,并且可以嵌套
当您添加一个(
)时(例如,Chrome将在尝试应用任何样式之前等待关闭)
。但是,没有CSS属性像这样包装在括号中,因此没有应用样式
举个例子:
选择器{
(颜色:#f00;)/*无效,已忽略*/
字体大小:粗体;/*有效,不可忽略*/
}
这里,颜色
声明在括号中,而字体重量
声明不在括号中。Chrome将完全忽略color
属性,因为这不是一个有效的CSS声明,但仍会正常处理font-weight
:
括号、括号和类似的大括号都是无效的CSS声明,它们最终会被忽略,就像下面的方法一样:
选择器{
颜色;/*无效,已忽略*/
字体大小:粗体;/*有效,不可忽略*/
}
还值得注意的是,Chrome将把括号和方括号之间的任何内容都视为单个CSS声明。在您的例子中,(;属性:value;)代码>被视为一个声明,而不考虑额外的分号
还值得注意的是,如果在结束选择器之前(使用}
)未能匹配结束对,则之后给出的任何选择器都不会被处理()。首先,这不是黑客行为。同样,这不仅仅适用于ChromeV30。同样的功能也适用于所有其他现代浏览器
根据CSS2.1规范中的定义:
…括号(()
)、括号([]
)和大括号({}
)必须始终成对出现,并且可以嵌套
当您添加一个(
)时(例如,Chrome将在尝试应用任何样式之前等待关闭)
。但是,没有CSS属性像这样包装在括号中,因此没有应用样式
举个例子:
选择器{
(颜色:#f00;)/*无效,已忽略*/
字体大小:粗体;/*有效,不可忽略*/
}
这里,颜色
声明在括号中,而字体重量
声明不在括号中。Chrome将完全忽略color
属性,因为这不是一个有效的CSS声明,但仍会正常处理font-weight
:
括号、括号和类似的大括号都是无效的CSS声明,它们最终会被忽略,就像下面的方法一样:
选择器{
颜色;/*无效,已忽略*/
字体大小:粗体;/*有效,不可忽略*/
}
还值得注意的是,Chrome将把括号和方括号之间的任何内容都视为单个CSS声明。在您的例子中,(;属性:value;)代码>被视为一个声明,而不考虑额外的分号
还值得注意的是,如果在结束选择器之前(使用}
)未能匹配结束对,则之后给出的任何选择器都不会被处理()。这组特定的CSS奇点实际上是已知的,这就是所谓的Safari括号破解(是的,它们有一个名称)。他们也在Chrome上工作到第28版。目前它在Safari的7.0及更高版本中工作(在我编写本更新时,版本8是Safari的当前版本)。这一特定的CSS奇点集实际上是已知的,称为Safari的括号破解(是的,它们有一个名称)。他们也在Chrome上工作到第28版。目前Safari的7.0版和更高版本都可以使用它(在我编写本更新时,8版是Safari的当前版本)。我认为它们不起作用,因为它不是有效的CSS。如果你在现代web浏览器上使用CSS黑客,你就犯了严重错误。说真的,告诉我们为什么你认为你需要对Chrome进行CSS破解,我很肯定会有更好的解决方案。@Spudley是的,你是对的。我没有重置输入的边距和填充等等,但它们在firefox和chrome中有不同的值。因此它们对其他html标记有不同的影响。我认为它们不起作用,因为它不是有效的CSS。如果你在现代web浏览器上使用CSS黑客,你就犯了严重错误。说真的,告诉我们为什么你认为你需要对Chrome进行CSS攻击,我很肯定会有更好的解决方案。@Spudley是的,你说得对。我没有重置输入的边距和填充等,但它们在firefox和Chrome中有不同的值。因此它们对其他html标记有不同的影响。
.selector { (;property: value;); }
.selector { [;property: value;]; }