2012-03-04 89 views
0

我比較羅盤(薩斯)LESS能力可以減少像Compass(Sass)這樣的圖像嗎?

爲了使跨瀏覽器的透明背景,指南針,我們可以用這個方法http://aaronrussell.co.uk/legacy/cross-browser-rgba-support/可得隨着RGBA代碼生成透明圖像。

compass-rgbapng plugin通過對動態創建透明PNG圖像爲 不支持RGBA瀏覽器提供跨瀏覽器兼容的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基於JavaScript,JavaScript不如Ruby。我對嗎?

+0

_JavaScript不像ruby_那麼強大,我不會同意。更重要的是如果LESS/JS中已經存在一個類似於SASS/Ruby的工具的工具。 – 2012-03-04 03:26:12

+0

@AlexWayne - 它使用純粹的Ruby ChunkyPNG庫 – 2012-03-04 03:31:44

+0

在這裏進行Nitpicking,但JavaScript是一種圖靈完備的語言,所以說它不夠強大是不誠實的。據我所知,JavaScript的瀏覽器實現無法生成圖像,但您可以使用服務器端實現(如NodeJs)生成圖像。 – JaredMcAteer 2012-03-04 04:27:50

回答

1

簡答:沒有。

長答案:不只是LESS庫。

您可以將服務器端插件與LESS腳本結合使用。您可以生成CSS樣式不太類:

background: url('/images/rgbapng/000000bf.png?1282127952'); 
background: rgba(0, 0, 0, 0.75); 

我不知道該庫的作品,但我可以看到的唯一一個重要組成部分,又是怎樣PNG作爲RGBA值十六進制編碼的名稱。而這一點,我做了一個不太腳本,允許使用URL模式,以利用服務器端的圖像建設者:

@compass-url: '/images/rgbapng/'; 

.rgba-background(@r, @g, @b, @a) { 
    @date-nocache: `new Date().getTime().toString()`; 
    @colorInt: floor(@a * 255) + 256 * (@b + (256 * (@g + 256 * @r))); 
    @colorHex: `(parseInt("@{colorInt}") + Math.pow(256,4)).toString(16).slice(1,9)`; 

    background: "@{compass-url}@{colorHex}[email protected]{date-nocache}"; 
    background: rgba(@r, @g, @b, @a); 
} 

此腳本創建了LESS類/功能RGBA背景,讓您到anotate性較低的類,如:

.yourClass { 
    .rgba-background(0,0,0,0.75); 
} 

如果您打算使用此進行的跨多個腳本少,這將是adviceable將其解壓縮到另一個文件,無論你想使用它使用@import指令。

如果生成的URL更復雜,我想,請提供一些關於如何構建該URL的其他信息,以便我們可以看到是否可以使用LESS解決此問題。

相關問題