是否可以包含一个css文件文件夹?

是否可以包含一个css文件文件夹?,css,Css,我有大约100个样式表,它们将相同的样式应用于一个文档,就像zen css页面一样,我可以在head中逐个列出这些文件,但它们都在同一个文件夹中,因此似乎有一种更简单的方法。那就是 我在ruby中使用它,但我更愿意列出一个文件夹 <% Highlight.all.each do |hl| %> <%= stylesheet_link_tag "css/#{hl.name}" %> <% end %> 看着禅宗花园,这就是他们的来源 在一些答案

我有大约100个样式表,它们将相同的样式应用于一个文档,就像zen css页面一样,我可以在head中逐个列出这些文件,但它们都在同一个文件夹中,因此似乎有一种更简单的方法。那就是

我在ruby中使用它,但我更愿意列出一个文件夹

<% Highlight.all.each do |hl| %>
    <%= stylesheet_link_tag "css/#{hl.name}" %>
<% end %> 

看着禅宗花园,这就是他们的来源


在一些答案发布后添加

这里有一个文件

<style type="text/css" title="currentStyle" media="screen">
@import "/205/205.css";</style>

@导入“/205/205.css”;
这里是第二种css样式

<style type="text/css" title="currentStyle" media="screen">
    @import "/001/001.css";
</style>

@导入“/001/001.css”;
什么是@import?这意味着什么

  • 您可以创建一个服务器端脚本,该脚本给定一个路径,将包含其中的所有css文件,并将返回连接的响应

  • 您可以将文件静态连接一次,只需为单个css文件提供服务。无论何时修改目录中的任何文件,都需要重新应用连接过程

  • 使用
    @导入url(“”)在主css文件中,如建议的

  • 每种方法都有一些优点和缺点:

    • 对于#1:您需要编写脚本,或者使用现有脚本。您还可以实现一些简单的缓存机制,以避免在每次请求时获取和连接文件。好的方面是css只在一个HTTP请求中提供

    • 对于#2:与上述类似。另一个缺点是,您必须手动触发将css文件打包为一个连接文件。您的web服务器应该能够非常高效地为静态文件提供服务,但是通过适当的缓存,以前的解决方案可以与此解决方案一样高效

    • 对于#3:可能是最简单的方法,但这将为每个CSS文件发出单独的HTTP请求。除了对web服务器的额外点击之外,这无助于前端渲染性能。有数百个CSS文件,我不认为我会考虑这个选项。


    不,仅使用CSS和HTML,无法包含文件目录。您可以使用一个包含其他文件的文件,从而为您提供了一种更模块化的插入文件的方式:

    @import url("stylesheet1.css");
    @import url("stylesheet2.css");
    @import url("stylesheet3.css");
    ...
    

    如果您可以使用服务器端语言,那么您可以通过多种方式自动插入文件。

    从性能角度来看,您可能应该在服务器端合并这些文件


    您没有提到您的语言或体系结构,但其中有这些文件。

    无论如何,都无法使用CSS、HTML或JS自动下载整个文件夹(或目录树中包含的所有文件)(尽管使用JS+服务器端脚本也可以)

    我找到的最好的解决方案是编写一个shell脚本,将项目中使用的所有CSS/JS文件打包成一个文件。这不仅可以缩短生产站点上的页面加载时间,还可以方便地压缩代码

    以下是一些帮助您解决问题的链接:

    • 具有开发/生产标志的
    • 可选地提供静态压缩的css/js文件
    • 处理css/js(以及图像和其他静态内容)缓存

      • 我会在服务器端执行此操作

        使指向其他主题的链接传递一个参数,称之为ThemeID,然后类似


        您已将样式拆分为100多个文件?这是大量的http请求…我不明白,否则您将如何实现这一点。在我看来,一次只使用一个样式表(根据url参数动态选择)是的,你说得对。不知道我在想什么。@import/do是什么意思?它是包含其他文件的css语法。在这种情况下,它与通过标记包含css具有相同的效果