2013-02-26 38 views
0

我想用lessphp添加多個樣式聲明。我提供了$ context數組和lessphp setVariables方法。CSS LESSphp變量,CSS代碼塊

$context['font'] = 'color: #ffffff; font-family: verdana;'; 

然後我想在文件少用變量名稱中使用它,就像這樣:

.selector{ 
    @font; 
} 

這是不行的,應該是什麼處理這種適當的方式?

回答

0

至少有兩個問題與你試圖同時基於LESSphp少的語法信息:

  1. 從PHP數組必須pairs of variable names and values,沒有屬性名稱和值。
  2. LESS不允許動態設置屬性名稱。

所以我相信你的解決方案是這樣的:

PHP

$context = array(
    "fontColor" => "#ffffff", 
    "fontFamily" => "verdana" 
); 

$less->setVariables($context); 

LESS

上面的代碼應該會在編譯LESS文件相當於此:

@fontColor: #ffffff; 
@fontFamily: verdana; 

,那麼你使用哪種這樣的:

.selector { 
    color: @fontColor; 
    font-family: @fontFamily; 
} 
+0

是的,你是對的,但有一些情況下,當它可能是做什麼我寫的好東西。 (更自由的PHP等)我已經使用了下面的黑客: $ context ['font'] ='「; color:#ffffff; font-family:verdana;」'; 然後是:d:e(〜「@ {font}」);其中產生以下內容:d:;顏色:#ffffff; font-family:verdana;由於d是無效的CSS屬性瀏覽器將跳過,其他人將正常工作。 – 2013-02-26 17:49:41

+1

@RolandSoós如果你對這樣的黑客很好,那很好。我儘量避免黑客入侵,讓所有事情都得到驗證,而且以後我不會再遇到意外的行爲。很高興你找到了你滿意的東西。 – ScottS 2013-02-26 19:27:05