2011-05-24 103 views
3

我在這裏處理較少的CSS。 Everythings進展良好,但即時得到一個小錯誤。 我有兩個較少的文件。第一個被稱爲「colors.less」,其中我聲明瞭顏色變量,第二個是css結構。減少CSS導入問題

它是這樣的:

color.less

@black: #000; 

styles.less

@import "color"; 

body { 
    background: @black; 
} 

在我頭上的標籤,我寫它:

<link rel="stylesheet/less" type="text/css" href="less/styles.less"/> 

當然,導入更少的js。

發生什麼事情是當我將黑色更改爲白色(#fff)時,它不會更改爲白色。劇照黑。當我反轉邏輯,導入顏色內的樣式,它會改變,但我的樣式不會改變。

什麼即時做錯了?

謝謝你們!

回答

5

使用

@import "color.less"; 

這probely解決你的問題。如果這不解決問題,請嘗試在color.less中使用紅色,如果您的瀏覽器默認顏色爲黑色,則不會看到該樣式是否已加載。 PS:檢查你的文件名,如color.less或colorS.less。

+2

最後應該有一個分號,但我只是挑剔。 – Ben 2012-08-27 08:44:47

+1

你也可以 '@import「color.css」;' – 2012-11-28 05:07:31

+0

這個答案不用分號就沒有用。 – 2013-04-14 05:51:03

0

您能否在主stylesheet內有color而不參考第二個sheet?您可以跳過@import

此外,我會選擇rule的另一個名稱。如果你決定改變顏色,你的規則名稱就沒有意義了。

+0

林少用,因爲我需要我的風格是動態的。用戶將在admin上設置顏色,這些顏色將保存在color.less文件中。關於規則名稱,我試過了,我已經提出了另一個名字,並沒有工作。 – 2011-05-24 17:34:20

0

我不知道這可能是造成這一點,但嘗試YOUT引用這兩個文件<head> - 標籤是這樣的:

<link rel="stylesheet/less" type="text/css" href="less/styles.less"/> 
<link rel="stylesheet/less" type="text/css" href="less/color.less"/> 

然後還要改變你style.less不導入color.less因爲你正在做的在你的<head> -tag已經。

btw:我不會調用顏色@black,這可能會導致以後更改顏色時出現混淆,請嘗試使用更多描述性名稱,例如@mainBackgoundColor來代替,以獲取讀取良好的代碼。

+0

@Lucas: 另一個想法:嘗試使用'@import'./color.less';'(或''./color''如果你喜歡它的話),我剛剛使用它導入了一分鐘前,它的工作完美無缺 此外,當你更新一個導入的文件時,也要更新導入的文件(只是在某處或某處添加一個空格),我認爲不太可能是在進行一些緩存或某事。 – Ahti 2011-05-24 23:23:59

-6

無論您要導入的文件都必須具有.css擴展名。只有包含或檢索文件可以具有.less擴展名。

在你的例子中,顏色文件應該有.css擴展名而不是.less。這應該解決你的問題。

**更新 在Chrome中工作,不在Firefox中 ??奇怪的。