2013-04-01 35 views
3

我有一個Java Web項目,我想在我的應用程序中進行分割測試。我希望能夠根據傳遞的查詢字符串選擇不同的標題圖像。例如,如果用戶檢索以下網址:CSS文件中的變量

http://www.website.com/?header=1 

然後我顯示標題的圖像A.如果用戶檢索像這樣的網址:

http://www.website.com/?header=2 

的我顯示出圖像B. 我已經接收我的HTML由表達式語言變量的「頭」的價值。問題是我將圖片網址設置爲CSS文件。我如何將這個變量傳遞給CSS文件來加載正確的圖像?

PS:我知道我可以在HTML文件中應用樣式,但我想在CSS文件中提取所有樣式。

回答

1

包含2個不同的類css,然後在編碼中應用不同的類。

.header1 { 
background-image: url(background1.jpg); 
} 

.header2 { 
background-image: url(background2.jpg); 
} 
+0

我沒有使用PHP,但它是相同的邏輯。我會這樣做的。謝謝。 –

2

這是不可能的,除非你使用像LESS之類的東西。

你可以做的是製作單獨的CSS文件,使用查詢字符串來確定你的需求,並根據具體情況加載你需要的一個。

+0

感謝您的幫助。 –

0

你有三個基本的選擇:基於查詢參數

  • 切換CSS文件,每頭形象一個CSS文件 - 你可以有這些剛成立的頭形象,並且有靜態的風格在他們的自己的文件。使用LESSSASS
  • 將您的CSS寫入JSP文件或通過servlet動態生成,並在服務器上動態更改樣式。
1

如果我正確理解您的問題,我相信您可以通過根據您從頭獲取什麼輸入將不同的CSS類應用於您的標題來實現此目的。

+0

嗯,當然!這是一個非常好的主意。我就是這樣做的。謝謝。 –

0

把你的CSS樣式分爲3個部分:

  • common.css
  • header1.css
  • header2.css

根據你的頭,你可以包含任何的headerN.css類。您也可以在服務器端(在<head>中生成不同的包含)或在客戶端(使用javascript提取header值,並動態包含正確的css)來解決它。