Css 如何在web浏览器中切换主题

Css 如何在web浏览器中切换主题,css,themes,Css,Themes,我想更改asp.net网站中的主题。但我必须给出切换主题的正常效果?您可以通过切换样式表来实现这一点-您可以使用javascript实现这一点-有一个脚本使用cookies来实现这一点,因此主题是持久的-其他方面,您可能可以在asp使用会话中实现这一点。我的最佳建议是将主题名称存储在用户的客户端中变数 这里是Coldfusion风格 <cfset client.myTheme = "forest"> <link rel="stylesheet" href="theme/<

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

您可以通过切换样式表来实现这一点-您可以使用javascript实现这一点-有一个脚本使用cookies来实现这一点,因此主题是持久的-其他方面,您可能可以在asp使用会话中实现这一点。

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

这里是Coldfusion风格

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

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

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