2010-08-06 52 views

回答

1

您可以通過切換樣式表做到這一點 - 你可以做到這一點使用JavaScript - 周圍有一個使用Cookie來這樣做,所以主題是持久的腳本。

0

我最好的建議是存儲在用戶的客戶端變量主題名稱。

這裏是ColdFusion的風格

<cfset client.myTheme = "forest"> 
<link rel="stylesheet" href="theme/<cfoutput>#client.myTheme#</cfoutput>.css" media="screen" type="text/css"/> 
0

另一種方式來做到這將是切換父HTML元素的類,如<body>。這具有不需要額外的樣式表下載的優點。

這確實要求您從一開始就加載不同主題的所有不同樣式,但在大多數情況下,針對不同主題的樣式規則更改相對較少,並且大部分CSS有效內容都由重置樣式和適用於所有主題的其他一般樣式(當然,這也是例外,但在一般情況下,它往往是正確的)。由於包含額外的CSS資源的加載時間成本非常高,並且有效負載增加(特別是在服務壓縮資源的情況下)較低,所以從一開始就不包含額外主題,並且事實上不會導致任何性能損失與將主題樣式放入單獨的文件中相比,可能會獲得性能增益。另外,由於沒有額外的資源需要加載,所以主題會更快地切換。