Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Internet Explorer css攻击负数和更少编译_Css_Internet Explorer_Less - Fatal编程技术网

Internet Explorer css攻击负数和更少编译

Internet Explorer css攻击负数和更少编译,css,internet-explorer,less,Css,Internet Explorer,Less,我有一个较少的文件,在那里我应用了IE8 css特定的黑客,比如: #example { height: 46px; //ALL BROWSERS height: 50px\9; //ONLY IE8 } 当从LESS编译到CSS时,上面的例子是有效的,使用负数会导致编译错误 #example { height: 46px; //ALL BROWSERS height: -50px\9; //ONLY IE8 BUT GIVES A COMPILATION ERROR

我有一个较少的文件,在那里我应用了IE8 css特定的黑客,比如:

#example {
   height: 46px; //ALL BROWSERS
   height: 50px\9; //ONLY IE8
}
当从LESS编译到CSS时,上面的例子是有效的,使用负数会导致编译错误

#example {
   height: 46px; //ALL BROWSERS
   height: -50px\9; //ONLY IE8 BUT GIVES A COMPILATION ERROR WITH LESS
}
我尝试了不同的解决方案,但除了手动修改css编译的文件外,没有一个有效。

根据反斜杠(
\
)字符表示字符转义。例如,
content
属性的值为表示换行。所以从技术上讲,
50px\9
是符合CSS规范的有效语法

但是,如果在此之前添加了否定运算符,解析将失败,因为
50px\9
不会被解释为数字,而是被视为匿名类型

因此,我们必须使用字符串操作和转义来形成输出值。将属性的整个值放在引号内(包括
\9
),然后使用
~
e()
函数,这样做会减少将值视为字符串,然后不带引号地输出

#example {
    height: 46px;
    height: ~"-50px\9";
}

编译的CSS:

#example {
    height: 46px;
    height: -50px\9;
}
参考文献:

#example {
    height: 46px;
    height: -50px\9;
}

不作为答案发布,因为这只是一个解决方法,但是
高度:~“-50px\9”
可以解决编译错误。它工作得很好,所以这正是我想要的答案。谢谢负高度是什么意思?@Ronnie:我根据max的评论更新了我的答案,但答案的关键仍然是一样的。留下一条评论,让你记录下这一变化。纠正我自己:到目前为止,我认为这并不是一个真正针对供应商的黑客行为:请参阅。也就是说,从技术上讲,
\e
只是一个带有代码9的转义字符(如果我没有弄错的话,因为标准对单个数字代码非常模糊)。但在这种特殊情况下,这意味着
50px\9
不会被解释为数字,而是被解释为“匿名类型”,因此尝试将其作为否定表达式的一部分进行解析失败。所以,是的,通常需要将
\*
内容放入qoutes中。@seven Phase max:True,同意Less应该将其视为字符串(?)来编译的观点。但是像
\9
这样的值在CSS中很少使用,除了用于此类黑客之外,因此我认为这不是一个真正需要优先修复的问题。当然,像
\00a0
这样的值在
content
属性中使用,但它们不会导致这样的问题。