【问题标题】:Is it possible to include one CSS file in another?是否可以在另一个中包含一个 CSS 文件?
【发布时间】:2010-09-13 22:24:18
【问题描述】:

是否可以在另一个 CSS 文件中包含一个 CSS 文件?

【问题讨论】:

  • 仅供参考,这样做不会保存 HTTP 请求。它只是让您不必在其他地方包含导入的 .css 文件。
  • 我几乎和之前包含另一个 CSS 一样,而不是最佳实践

标签: css


【解决方案1】:

是的:

@import url("base.css");

注意:

  • @import 规则 must precede 所有其他规则(@charset 除外)。
  • 额外的@import 语句需要额外的服务器请求。作为替代方案,将所有 CSS 连接到一个文件中以避免多个 HTTP 请求。例如,将base.cssspecial.css的内容复制到base-special.css中,只引用base-special.css

【讨论】:

    【解决方案2】:

    无论出于何种原因,@import 对我不起作用,但它不是真的必要吗?

    这是我在 html 中所做的:

      <link rel="stylesheet" media="print" href="myap-print.css">
      <link rel="stylesheet" media="print" href="myap-screen.css">
      <link rel="stylesheet" media="screen" href="myap-screen.css">
    

    注意 media="print" 有 2 个样式表:myap-print.css 和 myap-screen.css。这与在 myap-print.css 中包含 myap-screen.css 的效果相同。

    【讨论】:

    • 不,这是不正确的。这包括 HTML 文件中的多个 CSS 文件,不包括另一个 CSS 文件中的 CSS 文件。
    【解决方案3】:

    使用 altervista 和 wordpress 导入引导程序

    我用它来用 wordpress 在 altervista 中导入 bootstrap.css

    @import url("https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css");
    

    它工作正常,因为如果我把它放到页面中,它会删除 html 链接 rel 代码

    【讨论】:

      【解决方案4】:
      @import url('style.css');
      

      与最佳答案相反,不建议在使用 HTTP/2.0 时将所有 CSS 文件聚合为一个块

      【讨论】:

        【解决方案5】:

        是的,您可以轻松地将一个 CSS 导入另一个(网站中的任何位置) 你必须像这样使用:

        @import url("url_path");
        

        【讨论】:

          【解决方案6】:

          我已经创建了 main.css 文件并将所有的 css 文件都包含在其中。

          我们只能包含一个 main.css 文件

          @import url('style.css');
          @import url('platforms.css');
          

          【讨论】:

            【解决方案7】:

            唱 CSS @import 规则 here

            @import url('/css/header.css') screen;
            @import url('/css/content.css') screen;
            @import url('/css/sidebar.css') screen;
            @import url('/css/print.css') print;
            

            【讨论】:

              【解决方案8】:

              “@import”规则可以调用多个样式文件。这些文件在需要时由浏览器或用户代理调用,例如HTML 标签调用 CSS。

              <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
              "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
              <html xmlns="http://www.w3.org/1999/xhtml" lang="EN" dir="ltr">
              <head>
              <title>Using @import</title>
              <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
              <style type="text/css">
              @import url("main.css");
              </style>
              </head>
              <body>
              </body>
              </html>
              

              CSS 文件“main.css”包含以下语法:

              @import url("fineprint.css") print;
              @import url("bluish.css") projection, tv;
              @import 'custom.css';
              @import url("chrome://communicator/skin/");
              @import "common.css" screen, projection;
              @import url('landscape.css') screen and (orientation:landscape);
              

              要插入样式元素,请使用createTexNode don't use innerHTML 但是:

              <script>
              var style = document.createElement('style');
              style.setAttribute("type", "text/css");
              var textNode = document.createTextNode("
                  @import 'fineprint.css' print;
                  @import 'bluish.css' projection, tv;
                  @import 'custom.css';
                  @import 'chrome://communicator/skin/';
                  @import 'common.css' screen, projection;
                  @import 'landscape.css' screen and (orientation:landscape);
              ");
              style.appendChild(textNode);
              </script>
              

              【讨论】:

              • 只是指出,而@hylp 指出可以从导入中覆盖类(类projectionscreen?)这通常不是一件好事。 ;)
              【解决方案9】:

              @import("/path-to-your-styles.css");

              这是使用 css 在 css 样式表中包含 css 样式表的最佳方式。

              【讨论】:

                【解决方案10】:

                是的,可以使用 @import 并提供 css 文件的路径 例如

                @import url("mycssfile.css");
                

                @import "mycssfile.css";
                

                【讨论】:

                  【解决方案11】:

                  我偶然发现了这一点,我只想说请不要在 CSS 中使用 @IMPORT!!!!导入语句被发送到客户端,客户端执行另一个请求。如果您想在不同文件之间划分 CSS,请使用 Less。在 Less 中,导入语句发生在服务器上,并且输出被缓存,并且不会通过强制客户端建立另一个连接来造成性能损失。 Sass 也是我探索过的另一种选择。坦率地说,如果您不使用 Less 或 Sass,那么您应该开始使用。 http://willseitz-code.blogspot.com/2013/01/using-less-to-manage-css-files.html

                  【讨论】:

                  • 客户端将执行另一个请求,而不是另一个连接。对于质量来说,这是使用 import css 的好方法。拥有这些导入而不是随着项目不断增长的大型 css 文件要好得多......
                  • 仍然 - 这只是一个请求。一个完整的页面加载可能有数百个。
                  • 对吗?!再有一项要求几乎不能保证挥舞手臂和全大写的免责声明。请求不是坏习惯。 -1 答案——LESS 和 SASS 货物崇拜。
                  • 好吧,这只是多了一个请求......但是你可以将更多的 CSS 导入到一个请求中,然后并行下载它们。
                  【解决方案12】:

                  是的。

                  @import "your.css";
                  

                  规则记录在here

                  【讨论】:

                    【解决方案13】:

                    @import url("base.css"); 工作正常,但请记住,每个@import 语句都是对服务器的新请求。这对您来说可能不是问题,但是当需要最佳性能时,您应该避免使用@import

                    【讨论】:

                    • 没有缓存 CSS 文件吗?所以它只会请求一次文件?担心似乎微不足道。
                    • 如果你没有将你的 css 压缩到一个文件,那么你是正确的,但是一旦它是那么你只是调用一个 css 文件。当然,如果我错了,请纠正我。
                    【解决方案14】:

                    是的。可以将 CSS 文件导入另一个 CSS 文件。

                    它必须是样式表中使用@import rule 的第一条规则。

                    @import "mystyle.css";
                    @import url("mystyle.css");
                    

                    唯一需要注意的是旧的网络浏览器不支持它。事实上,这是从旧浏览器隐藏 CSS 样式的 CSS 'hack' 之一。

                    有关浏览器支持,请参阅this list

                    【讨论】:

                      【解决方案15】:

                      是的,使用@import

                      很容易用谷歌搜索详细信息,http://webdesign.about.com/od/beginningcss/f/css_import_link.htm 上的一个很好

                      【讨论】:

                        【解决方案16】:

                        在某些情况下可以使用@import "file.css",并且大多数现代浏览器都应该支持这一点,旧版浏览器(例如 NN4)会有点发疯。

                        注意:import 语句必须在文件中的所有其他声明之前,并在生产中使用之前在所有目标浏览器上对其进行测试。

                        【讨论】:

                          【解决方案17】:

                          CSS @import 规则就是这样做的。例如,

                          @import url('/css/common.css');
                          @import url('/css/colors.css');
                          

                          【讨论】:

                            猜你喜欢
                            • 1970-01-01
                            • 1970-01-01
                            • 2021-09-25
                            • 1970-01-01
                            • 1970-01-01
                            • 1970-01-01
                            • 2013-03-24
                            • 2012-08-04
                            • 2015-07-14
                            相关资源
                            最近更新 更多