使用单个http请求加载多个CSS文件

M R*_*mar 5 css yahoo http

当我查看雅虎邮件的源代码时,我在link标签中看到多个使用&符号的css文件,如下所示:

href="http://mail.yimg.com/zz/combo?kx/ucs/uh/css/271/yunivhead-min.css&kx/ucs/uh/css/221/logo-min.css&kx/ucs/avatar/css/17/avatar-min.css"
Run Code Online (Sandbox Code Playgroud)

有谁知道,他们如何分离每个文件并使用单个http请求加载它们?

Dan*_*gen 1

在这种情况下,似乎有一个脚本将 css 文件连接到单个响应中。

脚本的路径是http://mail.yimg.com/zz/combo. 它接受几个包含 CSS 文件路径的参数,然后这些文件将被连接并可能被缩小。

如果您使用该 URL,您会发现可以-min从 URL 中删除 -Prefixes,并获得未缩小的 CSS 文件作为回报:http://mail.yimg.com/zz/combo ?kx/ucs/uh /css/271/yunivhead.css&kx/ucs/uh/css/221/logo.css&kx/ucs/avatar/css/17/avatar.css

有几个 CSS 缩小器,例如CSSmin。但由于这是一个 Yahoo 页面,他们可能使用自己的 CSS 压缩器YUI。有关其工作原理的详细信息,请参阅http://developer.yahoo.com/yui/compressor/#work