为什么Sass或Scss将颜色#ffe转换为#ffffee并添加";" 这可能会使css文件加载速度变慢?

nop*_*ole 1 ruby-on-rails sass

Sass或Scss(.sass)在Ruby on Rails项目中很常见,但我发现它转换颜色如下:

background: #ffe
Run Code Online (Sandbox Code Playgroud)

background: #ffffee;
Run Code Online (Sandbox Code Playgroud)

为什么额外的字节?另外,为什么额外;的结尾?Sass应该自动编译成一个.css文件,所以如果用户直接编辑CSS文件,那么最后的"额外的分号"可以是一个很好的形式,但是Sass是关于自动编译的,所以为什么要添加一个;来增加页面加载时间?

第二,为什么普遍接受#ffe扩大为#ffffee?没有一个现代浏览器不理解它...(可能除了低端手机上的浏览器,但这些页面无论如何都是非常难以理解的.)

chr*_*ein 6

使用压缩输出模式输出Sass,它将删除最后一个分号并使用更紧凑的颜色版本.

例如

echo "div { color: #ffe; }" | sass -t compressed --scss
Run Code Online (Sandbox Code Playgroud)

返回

div{color:#ffe}
Run Code Online (Sandbox Code Playgroud)