css combiner的问题?

我正在使用自定义框架。 当我设计我的网站时,我将CSS规则分成几个文件,例如 typography.css links.css master.css tables.css 等等 现在明显的问题是它意味着几个http请求。 正如我所提到的,我正在使用自定义框架。 在这个框架中包含一个你只需调用的css文件
echo load::css('name');  
echo load::css('another');
哪个会吐出来的
<link rel="stylesheet" type="text/css" href="http://site.com/name.css">
<link rel="stylesheet" type="text/css" href="http://site.com/another.css">
现在我想做的就是打电话
load::css('name');
echo load::css('another');
你可以看到我只在最后一个上调用echo, 这将输出
<link rel="stylesheet" type="text/css" href="http://site.com/combined/0df4899f90fe7be26f4893b1a4a30eb6.css">
  0df4899f90fe7be26f4893b1a4a30eb6 =='命名另一个' 基本上, 当你调用
load:css('something')
它会将名字存储在一个数组中时,它将在php脚本处理结束时返回值为
md5(implode(' ', $cssArray))
的链接标记,然后它将实际创建带有md5'd名称的组合文件(如果是不存在)。 这意味着对于所有css内容,只向服务器发出一个请求。 任何人都可以看到这种方法的潜在问题吗? 我也计划为javascript文件实现这个。 如果我还要实现css / js压缩器,我会遇到任何问题吗? 谷歌Minify? 做了一些研究后,我遇到了谷歌缩小。 是否有可能改变它,以便你可以给它一个css文件路径数组,并让它吐出内容,以便我可以调用类似的东西
$css = minify::css($cssArray)
然后用缩小的内容做我想做的事情? 我看到的一个有用的东西是它能否重写路径?     
已邀请:
嗯,这可能取决于你如何组合样式表。我不确定你的框架如何组合CSS文件(按名称,按文件夹或手动),但浏览器(我不知道IE)会逐字地解释每一行,即使它是多余的:
#foo
{
  color: red;
  color: green;
  color: blue; /* This one will be the actual color of #foo */
}
所有这些都被执行,所以要解释的最后一个是渲染的。如果你在不同的样式表中重新定义样式(我通常使用
globals.css
header.css
body.css
),最后一个将生效,这可能会使你的网站看起来很时髦。 我认为这个概念适用于JavaScript,但我还没有遇到函数重新定义。     

要回复问题请先登录注册