在很多情况下,您必须动态创建 css 文件。
例如,您可能希望根据请求中的参数将字体系列更改为
您可以根据传递给它的参数动态构建 css,并将 css 文件制作为动态 asp、jsp、php ...
例如在java中:
<link href="MainCss.jsp?param=someFont" type="text/css" rel="stylesheet">
然后是 MainCss.jsp
body {
font-size:100%;
background:#fff;
<%if ( request.getParameter("param") == "someFon" )%>
font-family:"Tahoma";
<%else%>
font-family:"Verdana";
}
有人告诉我,这个解决方案有很多缺点:
- 它不允许缓存服务器和客户端上的 CSS 文件
- 它使理解和维护页面变得更加困难
- 与将 CSS 文件作为纯静态文档相比,每次您的服务器为 CSS 页面提供服务时,它都必须运行数万个额外的 CPU 周期。
他们的建议似乎可以接受!
但是,我一直在网上四处寻找,发现许多网站以某种方式执行上述操作:ebay.com:
<link href="http://gh.ebaystatic.com/header/css/all.min?combo=11&ds=3&siteid=0" type="text/css" rel="stylesheet">
维基百科
<link rel="stylesheet" href="//bits.wikimedia.org/en.wikipedia.org/load.php?debug=false&lang=en&modules=ext.gad" />
他们告诉我这些站点也使用纯 css 并且load.php?debuge=false
... 只是一个 css 文件选择器,它将从硬盘中选择一个纯 css 文件并将其发送给客户端。
这种技术正确吗?有没有人对我的问题有任何经验?