为什么LESS将#fff转换为白色?

时间:2014-09-03 09:31:15

标签: css less dotless

如果我有:

.foo
{
   background-color:#fff;
}

很少将其转换为:

.foo
{
    background-color:white;
}

这是为什么?浏览器是否比HEX值更快地处理命名颜色?

我正在使用dotless实现LESS。这可以进行转换吗?如果是这样,为什么呢?

1 个答案:

答案 0 :(得分:3)

less.js和无点

之间的差异
  

色彩压缩

     

在dotless中,我们更喜欢使用color关键字而不是十六进制代码,如果匹配。压缩时选择较短的一个。 #FFF,#FFFFFF,白色然后选择#FFF,但是在红色的情况下,将使用关键字red。

     

在less.js中,每个颜色都替换为十六进制代码。

以上引用来自 official Dotless GitHub page

注意:

  1. 该引言的第二部分听起来与第一部分相矛盾,但我认为第一部分陈述对预期的行为已经足够明确了。
  2. 正如seven-phases-maxhis comment指出的那样,他们计划修复此问题,并且根据Issue #332's log已添加DisableColorCompression标志以禁用此压缩。
  3. 十六进制代码映射的color关键字似乎在Color.cs源文件中保留。
  4. Issue 317Issue 168是另外两个仍处于 open 状态的类似问题,因此我不确定DisableColorCompression标志是否代表十六进制代码完全为颜色名称转换项目着色。