gpt4 book ai didi

css - 动态创建一个css文件

转载 作者:太空宇宙 更新时间:2023-11-04 04:26:30 25 4
gpt4 key购买 nike

在很多情况下,您必须动态创建一个 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 周期。

他们的建议似乎可以接受!

但是,我一直在网上四处寻找,发现许多网站都以某种方式执行上述操作:易趣网:

<link href="http://gh.ebaystatic.com/header/css/all.min?combo=11&ds=3&siteid=0" type="text/css" rel="stylesheet">

维基百科.org

<link rel="stylesheet" href="//bits.wikimedia.org/en.wikipedia.org/load.php?debug=false&amp;lang=en&amp;modules=ext.gad" />

他们告诉我这些站点也使用纯 css 而 load.php?debuge=false... 只是一个 css 文件选择器,将从硬盘中选择一个纯 css 文件并发送它给客户。

这种技术正确吗?有没有人遇到过我的问题?

最佳答案

您有多种可能性:

  • 可以生成 CSS 文件并将其存储在服务器的文件系统中以利用缓存。
  • 您可以根据参数化的 GET 请求生成 CSS。在这种情况下,浏览器通常会缓存响应,但每个浏览器第一次都会在服务器端处理 CSS。顺便说一下,如果您查看 ASP.NET 技术,您会发现其中有一些名为“主题”的东西,其中包括各种 CSS 文件集和服务器端属性。它们在服务器端处理,Microsoft 似乎并不为此感到难过。
  • 您可以在您的静态 CSS 文件中准备一堆 CSS 类(我相信字体的数量不会多到您无法填充一个 CSS 文件)。至少类属性允许使用多个值。

关于css - 动态创建一个css文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18171238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com