如何让GWT CSSResource解析not()选择器
我意识到GWT使用的CSS解析器只处理CSS2,但我的目标是iPhone Safari,所以我希望能够使用一些CSS3的东西。对于属性,我可以很好地使用GWT提供的如何让GWT CSSResource解析not()选择器,gwt,css,cssresource,Gwt,Css,Cssresource,我意识到GWT使用的CSS解析器只处理CSS2,但我的目标是iPhone Safari,所以我希望能够使用一些CSS3的东西。对于属性,我可以很好地使用GWT提供的literal函数,但是CSS3选择器有问题,特别是not()伪类 我有点像这样的CSS: .iMore:not (.__lod ):active { color: #fff } 当GWT将此文件作为资源加载时,我得到: 遇到“(”。应为“{”中的一个 literal函数对属性很有效,但我尝试了以下方法: .iMore:li
literal
函数,但是CSS3选择器有问题,特别是not()
伪类
我有点像这样的CSS:
.iMore:not (.__lod ):active {
color: #fff
}
当GWT将此文件作为资源加载时,我得到:
遇到“(”。应为“{”中的一个
literal
函数对属性很有效,但我尝试了以下方法:
.iMore:literal("not (.__lod )"):active {
color: #fff
}
刚刚收到一条不同的错误消息:
遇到“非(.\u lod):”。应为以下之一:
我将literal
放在整个块的周围,错误消息消失了,但我认为如果没有@external
调用使用此选项的选择器中引用的所有内容(此文件中还有许多其他内容),则这将无法工作
这样行吗
有没有更优雅的方法
您可以用反斜杠转义选择器中的括号。因此,对于CSS:
.iMore:not \(.__lod \):active {
color: #fff
}
我理解一些“酷”的CSS3,比如转换等等。但是:not
几乎不值得这么做,因为唯一的“优雅”我所看到的只是破解CSS解析器以接受CSS3选择器。问题是我继承了其他人的CSS文件。我有权编辑它,但我不想全部重新创建。css2与上述语句的等价物是什么?我认为没有一个简单的选项?谢谢你的回答,但我很久以前就放弃了,所以我没有代码来测试它。哦,好吧。它是为子孙后代准备的:-)+1这是有效的。值得注意的是,使用足够的反斜杠可以转义更粗糙的not()选择器。例如,not([type=“search”])
变成not\(\[type\=”search\]\)
。另一个注意事项:转义的右括号前的空格很重要。.iMore:not\(.\uu lod\)
当前将导致错误“[error]以下未模糊的类存在于严格的CssResource:[error]\uu lod\”中。”