如何在Web浏览器中切换主题

时间:2010-08-06 07:13:05

标签: css themes

我想在asp.net网站上更改主题。但我必须给出切换主题的正常效果吗?

3 个答案:

答案 0 :(得分:1)

你可以通过切换样式表来实现这一点 - 你可以使用javascript执行此操作 - 有一个脚本使用cookie来执行此操作,因此主题是持久的 - 其他明智的你可以在asp中使用会话。

答案 1 :(得分:0)

我最好的建议是将主题名称存储在用户的客户端变量中。

这是Coldfusion风格

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

答案 2 :(得分:0)

另一种方法是在父html元素上切换类,例如<body>。这样做的好处是不需要额外的样式表下载。

这确实要求您从一开始就为不同的主题添加所有不同的样式,但在大多数情况下,不同主题的样式规则更改相对较少,并且大部分CSS有效负载由重置占用适用于所有主题的样式和其他一般样式(当然有例外,但在一般情况下它往往是真的)。由于包含额外CSS资源的加载时间成本非常高,并且有效负载增加(特别是在服务压缩资源时)很低,因此从一开始就包含额外的主题,实际上不会产生性能损失,事实上与将主题样式放在单独的文件中相比,可能会有增益。此外,主题将更快地切换,因为没有额外的资源可供加载。