我想在asp.net网站上更改主题。但我必须给出切换主题的正常效果吗?
答案 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资源的加载时间成本非常高,并且有效负载增加(特别是在服务压缩资源时)很低,因此从一开始就包含额外的主题,实际上不会产生性能损失,事实上与将主题样式放在单独的文件中相比,可能会有增益。此外,主题将更快地切换,因为没有额外的资源可供加载。