合并2个css文件(一个用于桌面,一个用于平板电脑)到One with Media

时间:2017-09-08 15:57:35

标签: html css

我的HTML文档中有类似的内容

<link href="<?= base_url('css/style.css') ?>" rel="stylesheet" media="(min-width: 1210px)"/>
<link href="<?= base_url('css/style-tablet.css') ?>" rel="stylesheet" media="(min-width: 740px) and (max-width: 1209px)"/>

因此,您可以看到我在这些media代码中有2个带link的css文件。

这两个文件的80%相同,只是进行了少量更改,使此布局成为100%RWD。

但正如我所说,80%是相同的。因此,这在请求计数和处理需要/时间方面是多余的。

我已将它们组合成一个,但我手动完成,我花了很长时间,大约一个小时。不断检查有什么不同,并手动写入一个较大的css media内部以及tablet版本中不在desktop版本中的内容。

也许我能更快地做到这一点?

所以我的问题是,有没有办法以某种方式快速或自动地组合/合并?

1 个答案:

答案 0 :(得分:1)

您可能希望使用@import方法,该方法允许您将主要样式放在一个工作表中,而仅将移动样式放在另一个工作表中,但只使用一个<link>元素。 This SO Answer涵盖了一些速度问题以及其他相关信息,但在您的示例中这样做的方式是只有一个<link href="<?= base_url('css/style.css') ?>" rel="stylesheet" media="(min-width: 1210px)"/>

在主文件中,您将在该文件中使用与宽度相关的引用,该引用与此类似:

@import url("/css/style-tablet.css") (min-width: 740px) and (max-width: 1209px);

就加速合并而言,WinMerge是一个伟大的(免费的)工具,对我来说过去很有用。

如果你想自动合并,你可能需要使用像LessCSSSASS这样的CSS预处理器。