将多个CSS文件合并成一个

7

如何将多个CSS文件合并成一个CSS文件是最佳方法?

我想减少以下内容...

<link href="css/1.css" rel="stylesheet" type="text/css" media="all">
<link href="css/2.css" rel="stylesheet" type="text/css" media="all">
<link href="css/3.css" rel="stylesheet" type="text/css" media="all">

将..转化为..

<link href="css/1-3.css" rel="stylesheet" type="text/css" media="all">

仅仅执行cat css/*.css > css/1-3.css似乎不能解决问题。


翻译:Cat应该可以工作。当您尝试时会发生什么?有些规则不起作用,没有规则起作用,它找不到1-3.css等等? - user229044
1
你使用 cat css/*.css > css/1-3.css 时具体遇到了什么问题? - Michael Krauklis
你的程序出现问题可能是因为没有按正确顺序包含文件。 - Guillaume Flandre
1
对不起,'cat' 与什么相关?这不是本地 CSS 功能...是吗?这是某种 CSS 框架或服务器端解决方案吗?我很想知道。 - Byran Zaugg
Byran:“cat”是一个标准的Unix命令,用于连接文件。 - knorv
4个回答

11
只要cat方法的参数顺序与HTML文件中三个引用的CSS文件的原始顺序相匹配,cat方法应该按预期工作。

因此,给定...

<link href="css/one.css" rel="stylesheet" type="text/css" media="all">
<link href="css/two.css" rel="stylesheet" type="text/css" media="all">
<link href="css/three.css" rel="stylesheet" type="text/css" media="all">

...下面的连接...

cat css/one.css css/two.css css/three.css > css/all.css

..连同以下的参考一起..

<link href="css/all.css" rel="stylesheet" type="text/css" media="all">

应该完全相同。


6
在3.css文件的开头,您可以添加以下内容:
@import url(/css/1.css);
@import url(/css/2.css);

但我更喜欢使用多个链接标签,或者更好的方法是将我的CSS压缩成一个文件(例如使用YUI压缩器)。


2
+1 YUI压缩器。如果您能编写一些聪明的服务器端代码,您可以在请求时自动进行文件压缩和合并,这意味着当您想要更改原始文件时无需担心它。 - Ed James

1

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接