【发布时间】:2012-03-22 01:29:51
【问题描述】:
我正在比较 LESS 和 Compass(Sass) 的功能
我们可以使用http://aaronrussell.co.uk/legacy/cross-browser-rgba-support/这个方法在Compass中制作跨浏览器透明背景,它也可以与rgba代码一起生成透明图像。
compass-rgbapng plugin 用于提供跨浏览器兼容的 RGBA 通过为浏览器动态创建透明 PNG 来支持 不支持RGBA。使用纯 Ruby ChunkyPNG 库解决问题 免费安装和部署。
sudo gem install compass-rgbapng
require "rgbapng"
@import "rgbapng";
background: url('/images/rgbapng/000000bf.png?1282127952');
background: rgba(0, 0, 0, 0.75);
是否可以对 LESS 做同样的事情?我认为不是因为 LESS 是基于 JavaScript 的,而 JavaScript 的能力不如 ruby。我说的对吗?
【问题讨论】:
-
JavaScript 的能力不如 ruby 我一点也不同意。更重要的是,LESS/JS 中是否已经存在与您提到的 SASS/Ruby 类似的工具。
-
@AlexWayne - 它使用纯 Ruby ChunkyPNG 库
-
在这里吹毛求疵,但 JavaScript 是一种图灵完备的语言,所以说它没有能力是不诚实的。据我所知,JavaScript 的浏览器实现无法生成图像,但您可以使用 NodeJs 等服务器端实现来生成图像。
-
其实可以用纯JS生成图片。 您只需要一项微小的浏览器功能,即数据 URL。文件只是具有定义结构的字节数组,使用 Javascript,您可以使用二进制字符串来构建您想要的任何类型的结构。唯一的问题是,您无法从 Javascript 生成文件引用,除非使用数据 URL。问题是要确保在所有目标 IE 版本上都支持 Data URL,而事实上这个解决方案有点可怕,因为它引入了很多开销来使一个花哨的纯色透明背景。
标签: javascript rubygems sass less compass-sass