Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我应该使用多个CSS表吗?_Css - Fatal编程技术网

我应该使用多个CSS表吗?

我应该使用多个CSS表吗?,css,Css,我正在更新一个网站,添加一些手机友好的网页 目前,我们有一个大的css页面,所有内容都在其中。我的想法是将所有特定于移动设备的css放在一个单独的文件中,然后链接两个页面。移动css将覆盖默认css中的任何内容(较大的按钮等) 我对css很陌生,最佳做法是什么?是的,你应该使用多个css文件,而不是使用一个大文件。 它可以帮助您在维护站点的同时,在不同的css中使用不同的定义(classe或id名称),否则将采用稍后声明的定义。 比如说 <!DOCTYPE HTML PUBLIC "-//

我正在更新一个网站,添加一些手机友好的网页

目前,我们有一个大的css页面,所有内容都在其中。我的想法是将所有特定于移动设备的css放在一个单独的文件中,然后链接两个页面。移动css将覆盖默认css中的任何内容(较大的按钮等)


我对css很陌生,最佳做法是什么?

是的,你应该使用多个css文件,而不是使用一个大文件。 它可以帮助您在维护站点的同时,在不同的css中使用不同的定义(classe或id名称),否则将采用稍后声明的定义。 比如说

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
   <html>
     <head>
        <link href="/stylesheets/stylesheet.css" media="screen" rel="stylesheet" type="text/css" />
        <link href="/stylesheets/lightbox_new.css" media="screen" rel="stylesheet" type="text/css" />
        <link href="/stylesheets/another_css.css" media="screen" rel="stylesheet" type="text/css" />
      </head>

      <body>
         <!-- Your content here -->
      </body>
  </html>


对于特定客户机的样式,我认为最好将它们分开。

我也会使用两种样式。为每个设备(计算机和移动设备)编辑时,使内容更整洁。我有一个巨大的CSS样式表,我在CSS浏览器选择器脚本的帮助下用于所有浏览器,我讨厌滚动6000多行CSS,所以我想说,至少从经验来看,最好的方法是将它们分开

一个大的CSS文件可以减少HTTP请求,从而提高性能


几个较小的文件可以简化组织,这将使开发和维护变得更便宜、更容易。

对于我开发的任何重要应用程序,我都有一些样式表

  • base.css-始终应用
  • print.css-这会隐藏菜单和屏幕的其他部分,这对打印页面来说不是很好。由
    媒体
    属性触发。
  • ie6.css-第二个应用,并且当且仅当它是ie6时。我希望有一天能把它扔掉
  • .css-一个样式表,用于每个希望站点具有其徽标/等的客户端
如果我想要极快的表现,我会把它们结合起来。然而,我知道每天获得数亿点击率的网站并不麻烦,所以我强烈建议将它们分开,不管对你来说有什么意义,以便更容易维护


在大多数情况下,额外的硬件比额外的开发时间和/或更多的bug更便宜。可维护性通常是我的最高目标。

对CSS进行有意义的分组,并仔细服务

例如,如果您的CSS应用于整个站点(例如CSS重置),则将其作为单独的文件并包含在每个页面中

然后为站点的每个逻辑组件创建单独的CSS文件,并在属于各自逻辑组件的页面上提供它。(假设你有一个博客并在你的网站上进行民意调查,如果博客从来不需要CSS进行民意调查,你就不需要将其包含在博客中。)但请记住,这对于小型网站来说并不实用

按使用CSS的媒体对CSS进行分组。如果您有用于打印的样式表,请在合理的情况下将其与基本样式表分开(如果您只有一个CSS属性用于打印,则不要使用单独的文件,因为它不值得请求时间)

请记住,更多的工作表假设有更多的HTTP请求,并且每个请求都会花费一定的时间


因此,没有明确的方法来处理这些事情,这都是为了使CSS更易于维护和客户端下载(HTTP请求更少,大小更小等)。

为不同的媒体使用单独的样式表是很容易做到的

<link href="browser.css" media="screen" rel="stylesheet" type="text/css" />
<link href="mobile.css" media="handheld" rel="stylesheet" type="text/css" />
<link href="print.css" media="print" rel="stylesheet" type="text/css" />

在这种情况下,当媒体类型与设备匹配时,将下载并应用所有样式

但是,如果你的应用程序是为手机设计的,还有另一种方法是简洁的,因为只有当媒体类型匹配时,它才会下载样式表

<style type="text/css" media="screen">
  @import "screen.css"; /* Note that some (older?) browsers don't support @import, so you may have to download this sheet the traditional way even on mobiles */
</style>
<style type="text/css" media="handheld">
  @import "mobile.css";
</style>
<style type="text/css" media="print">
  @import "print.css";
</style>

@导入“screen.css”;/*请注意,一些(较旧的?)浏览器不支持@import,因此即使在手机上,您也可能必须以传统方式下载此工作表*/
@导入“mobile.css”;
@导入“print.css”;

我会使用多个样式表来更好地组织事情,然后在将它们放到网站上之前将它们压缩到一个文件中,以提高性能。

你应该有一系列CSS表来完成各种任务,否则事情很快就会变得一团糟

我认为最好使用1表示风格,1表示ie6,1表示ie7。没别的了。 style.css中的组织应该是自动的。使用逻辑类名和注释


减少httprequest是好的。少加价是好的。:)

我自己喜欢两个样式表。第一个,也是在我的HTML中总是排在第一位的,是重置样式表。第一个样式表的实现有助于网页在不同浏览器之间更一致地显示


通常,不需要创建多个附加样式表。通常,Firefox和其他兼容浏览器会忽略特定于IE的CSS命令,反之亦然。当页面上的一个项目在多个浏览器中的位置和大小必须完全相同时,真正的问题就出现了——此时,需要两张以上的表格,尽管有时通过表格内的适当排序可以获得良好的结果。

然后您是否会使用不同的
媒体
值?如果在stylesheet.css和另一个_css.css中对同一选择器有两个定义,将选择哪一个?@Robert如果选择器相同,稍后在源代码中声明的样式表将具有优先级。在这种情况下,这将是另一个_css.css。它将使用最后一个定义。如果您想更改特定页面的定义,您也可以在页面中覆盖它。@xtofl:不同的媒体值使您能够为移动设备提供特定样式表,以便打印,电视等。我认为在一个标签中导入多个css会更好。回答很好,简洁地说。