Javascript 在较少的CSS中使用CSS条件注释

Javascript 在较少的CSS中使用CSS条件注释,javascript,html,css,less,Javascript,Html,Css,Less,在集成较少的CSS时,我遇到了一些CSS中的条件注释,如 [if IE 7] margin-top: -2px; [if IE 8] margin-top: -3px; [if Webkit] margin-top: -1px; 当然,它们不能用较少的编译器编译成CSS 所以对于IE,我找到了一种方法来避免条件注释,并使它们工作,如前所述 但是,除了通过JS检测Webkit并添加一个类之外,[IF-Webkit]似乎没有其他方法 有人能告诉我这一点吗?在指定要使用的样式表时,您应该使用条件注释

在集成较少的CSS时,我遇到了一些CSS中的条件注释,如

[if IE 7] margin-top: -2px;
[if IE 8] margin-top: -3px;
[if Webkit] margin-top: -1px;
当然,它们不能用较少的编译器编译成CSS

所以对于IE,我找到了一种方法来避免条件注释,并使它们工作,如前所述

但是,除了通过JS检测Webkit并添加一个类之外,[IF-Webkit]似乎没有其他方法


有人能告诉我这一点吗?

在指定要使用的样式表时,您应该使用条件注释,而不是在样式表中。。像这样:

<!--[if IE 6]>
    <link rel="stylesheet" href="style_ie6.css">
<![endif]-->
并确保在html中适当地使用class.ie6


在某些情况下,使用特定于浏览器的样式表可能是一个好主意,但如果可能的话,我强烈建议不要测试浏览器,而是测试特性。签出

在指定要使用的样式表时,应该使用条件注释,而不是在样式表内。。像这样:

<!--[if IE 6]>
    <link rel="stylesheet" href="style_ie6.css">
<![endif]-->
并确保在html中适当地使用class.ie6


在某些情况下,使用特定于浏览器的样式表可能是一个好主意,但如果可能的话,我强烈建议不要测试浏览器,而是测试特性。请查看

虽然从技术上讲它是无效的CSS,但您仍然可以通过某些转义黑客获得它:

.cond(@c, @p, @v) {
    -: ~"; [if @{c}] @{p}: @{v}";
}

div {
    .cond(IE 7,   margin-top, -2px);
    .cond(IE 8,   margin-top, -3px);
    .cond(Webkit, margin-top, -1px);
}
这是一个简化的极简示例,生成虚拟
-:在输出中(通过在此处搜索
~“
”,您将找到更多精彩的转义黑客示例)


顺便说一句,我给出这个答案只是为了以防万一,也就是说,为了表明你可以用更少的时间获得这些字符串,但这并不能消除这样一个事实,即这个CSS本身是非常值得怀疑的(
[如果Webkit]
?-它在什么浏览器/库中受支持?

虽然从技术上讲它不是有效的CSS,但你仍然可以通过某些转义黑客获得它:

.cond(@c, @p, @v) {
    -: ~"; [if @{c}] @{p}: @{v}";
}

div {
    .cond(IE 7,   margin-top, -2px);
    .cond(IE 8,   margin-top, -3px);
    .cond(Webkit, margin-top, -1px);
}
这是一个简化的极简示例,在输出中生成dummy
-:;
(通过在此处搜索
~“
,您将找到更多华丽的转义黑客示例)


顺便说一句,我给出这个答案只是为了以防万一,也就是说,表明你可以用更少的时间获得这些字符串,但这并不能消除这个CSS本身非常可疑的事实(
[if Webkit]
?-它在什么浏览器/库中受支持?

那些
[if…]
位不是有效的CSS。如果它们在
.css
文件中工作,我会有点惊讶。条件注释仅适用于IE(确切地说是IE 5到9),其他浏览器无法呈现条件注释中的逻辑。其他浏览器只是把它们看作注释。那些
[if…]
位不是有效的CSS。如果它们在
.css
文件中工作,我会有点惊讶。条件注释仅适用于IE(确切地说是IE 5到9),其他浏览器无法呈现条件注释中的逻辑。其他浏览器只是把这些简单地看作是评论。耶!我已经这样做了。。。参考我上面提到的文档,但它似乎只为IE工作。[IF webkit]有什么方法吗我不确定webkit是否有一个
条件标记
(只需谷歌一下),但我强烈建议
功能检测
。检查更新的答案。耶!我已经这样做了。。。参考我上面提到的文档,但它似乎只为IE工作。[IF webkit]有什么方法吗我不确定webkit是否有一个
条件标记
(只需谷歌一下),但我强烈建议
功能检测
。检查更新的答案。