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