如何将css文件拆分为2个文件

如何将css文件拆分为2个文件,css,Css,我有一个css文件。我想把它分成两个文件。我想这样做是因为有一些css代码,比如全局设置,比如 *{padding: 0; margin: 0;} 然后是css的其余部分。这个css文件包含在许多地方。但是最近我在一个新页面上添加了这个css文件,我发现上面的全局设置破坏了我的布局,所以我需要这个文件,但是没有这些全局设置,所以我决定将这个文件分成两部分,一部分包含上面的代码,另一部分包含rest。这样做好吗…还有什么其他的事情是可能的 css文件 当然,每页可以有多个CSS文件。只要确

我有一个css文件。我想把它分成两个文件。我想这样做是因为有一些css代码,比如全局设置,比如

   *{padding: 0; margin: 0;}
然后是css的其余部分。这个css文件包含在许多地方。但是最近我在一个新页面上添加了这个css文件,我发现上面的全局设置破坏了我的布局,所以我需要这个文件,但是没有这些全局设置,所以我决定将这个文件分成两部分,一部分包含上面的代码,另一部分包含rest。这样做好吗…还有什么其他的事情是可能的


css文件

当然,每页可以有多个CSS文件。只要确保链接到所有(必需的)文件,它就会工作


将合理的CSS样式组合在一起以使其可重用也是一件好事,因此也可以这样做。

当然,每页可以有多个CSS文件。只要确保链接到所有(必需的)文件,它就会工作


将合理的CSS样式组合在一起以使其可重用也是一件好事,因此也可以这样做。

您可以动态生成CSS。传入查询参数将允许您输出“完整”css,或仅输出非中断部分:

<?php
   header('Content-type: text/css');

   if (isset($_GET['fullmealdeal'])) { ?>
      echo '*{padding: 0; margin: 0}';
   }
} ?>
... rest of the css here ...

回显'*{填充:0;边距:0}';
}
} ?>
... 剩下的css在这里。。。
那就吃吧

<link rel="stylesheet" type="text/css" src="css.php?fullmealdeal" />

在标题中


当然,您可能希望发出一些适当的缓存头,或者很可能会为每个页面请求获取CSS,这会对性能造成很大影响。

您可以动态生成CSS。传入查询参数将允许您输出“完整”css,或仅输出非中断部分:

<?php
   header('Content-type: text/css');

   if (isset($_GET['fullmealdeal'])) { ?>
      echo '*{padding: 0; margin: 0}';
   }
} ?>
... rest of the css here ...

回显'*{填充:0;边距:0}';
}
} ?>
... 剩下的css在这里。。。
那就吃吧

<link rel="stylesheet" type="text/css" src="css.php?fullmealdeal" />

在标题中

当然,您可能希望发出一些适当的缓存头,或者很可能每个页面请求都会获取CSS,这会对性能造成很大影响。

以下是一些想法:

  • 如果您使用的是服务器端脚本,则可以使用两个文件,但不能使其中一个包含所有内容,另一个包含除全局声明之外的所有内容。然后包括其中一个
  • 将样式直接添加到您担心的页面,而不是外部样式表。同样,使用服务器端脚本将使这一过程相对轻松 有几点想法:

  • 如果您使用的是服务器端脚本,则可以使用两个文件,但不能使其中一个包含所有内容,另一个包含除全局声明之外的所有内容。然后包括其中一个
  • 将样式直接添加到您担心的页面,而不是外部样式表。同样,使用服务器端脚本将使这一过程相对轻松

    如果不使用一些动态代码,比如php或类似的东西,这是不可能的。然后,您将捕获对css文件的调用,找出它的来源,并返回文件中所需的部分。@janoliver-当然可能。只需为每个css文件包含一个链接。我假设他不想更改调用文件的html代码。@janoliver:你说得对……但如果我只是将这两个新文件导入到我的thickbox中,css导入不会起作用。css@saurabh拉努:对不起,我真的听不懂你的话。我想最简单的方法是创建一个新的样式表,并将除引起问题的行之外的所有内容复制到其中,然后在默认样式表不起作用的页面中使用该样式表。当然,您必须保持两个几乎相似的css文件同步,但这仍然是最容易做到的。或者,让你有问题的页面符合默认的css,这是最好的,因为在一个写得好的网站上,重置行不应该导致任何问题。如果不使用一些动态代码,比如php或类似的东西,这是不可能的。然后,您将捕获对css文件的调用,找出它的来源,并返回文件中所需的部分。@janoliver-当然可能。只需为每个css文件包含一个链接。我假设他不想更改调用文件的html代码。@janoliver:你说得对……但如果我只是将这两个新文件导入到我的thickbox中,css导入不会起作用。css@saurabh拉努:对不起,我真的听不懂你的话。我想最简单的方法是创建一个新的样式表,并将除引起问题的行之外的所有内容复制到其中,然后在默认样式表不起作用的页面中使用该样式表。当然,您必须保持两个几乎相似的css文件同步,但这仍然是最容易做到的。或者,让有问题的页面符合默认css,这是最好的,因为在一个写得很好的网站中,重置行不会导致任何问题。我所做的是将主thickbox.css文件分为两个css文件:globsl.css和rest.css。在global.css中,上述设置驻留在rest.css中,其余的css在thickbox中。然后在厚框中,我做了一些类似于导入css文件的事情,现在它只包含twp行…但后来我看到css文件不工作…这样做对吗…最好更新你的答案并显示无法正常工作的代码,这样我们就可以看到哪里出了问题。请参阅css链接…在某个页面中查看上述css代码*{padding:0;margin:0;}导致问题。在此链接中,您给出的导致问题的CSS代码仍然驻留在
    CSS/global.CSS
    中。您包含两个CSS flies的方法对我有效(Opera 11),因此如果您仍然存在问题,则是由于CSS文件中的错误造成的我所做的是将主要的thickbox.css文件分为两个css文件:globsl.css和rest.css。在global.css中,上面的设置驻留,在rest.css中,css的其余部分驻留在粗框中。然后在粗框中,我做了类似于导入两个css文件的事情,它现在只包含twp行……但是