2014-06-30 54 views
1

我創造與SimpLESS編譯器LESS樣式表,我注意到,當我創建使用CSS rbga()中的條目,就像這樣:LESS編譯器會將RGBA()以十六進制

@contentDefaultOpacity: 0.5; 

header#main-header { 
    nav.navbar { 
     div.container-fluid { 
      div.collapse { 
       ul.nav { 
        li { 
         a { 
          @alpha: 255 * @contentDefaultOpacity; 

          color: rgba(255, 255, 255, @alpha); 
         } 
        } 
       } 
      } 
     } 
    } 
} 

編譯器扔掉在rgba()和輸出這個:

header#main-header nav.navbar div.container-fluid div.collapse ul.nav li a { 
    color: #ffffff; 
} 

有沒有一種方法,我可以保留rgba()

謝謝你的時間。

+1

你爲什麼想保持'RGBA()'輸出?那甚至是有效的CSS?您的LESS編譯器似乎正在將其自己的語法正確編譯爲等效的CSS。 – murgatroid99

回答

4

LESS'rgba()函數所佔的百分比在0%100%之間。
你正在通過128,這是完全不透明的。

+0

* facepalm *是的,我應該放棄'255 *'。傻我。謝謝 ;) –

2

如果你想生成CSS rgba()功能(而不是更少生成的靜態十六進制顏色代碼),您可以通過使用插值變量的字符串和~運營商刪除引號這樣做。這更少的代碼:

@contentDefaultOpacity: 0.5; 

a { 
    @alpha: @contentDefaultOpacity; 
    color: ~'rgba(255, 255, 255, @{alpha})'; 
} 

將生成CSS:

a { 
    color: rgba(255, 255, 255, 0.5); 
}