网站设计之合理架构CSS

所属分类: 网页制作 / CSS 阅读数: 902
收藏 0 赞 0 分享

一、架构CSS

在当前浏览器普遍支持的前提下,css被我们赋予了前所未有的使命。然而依赖css越多,样式表文件就会变得越大越复杂。与此同时,文件维护和组织的考验也随之而来。
(曾几何时)只要一个css文件就够了——所有规则(rule)汇聚一堂,增删改都很方便——可这种日子早已远去。(现在)建立新网站时,必须花点时间好好筹划怎么组织和架构css。

二、文件的组织

构建css系统的第一步是大纲的拟定。(我认为)css组织规划的重要性堪比网站目录结构。(注:用词夸张一点,让你加深记忆) 没有哪种方案放之四海而皆准,因此我们会讨论一些基本的组织方案,以及它们各自的利弊。

三、主CSS文件

通常可以使用一个主css文件,来放置所有页面共享的规则。这个文件会包含默认的字体、链接、页眉和其他等样式。有了主css文件之后,我们开始探讨高级组织策略。

方法一:基于原型

最基本的策略是基于原型页面(archetype page)分离css文件。假如一个网站的首页、子页面和组合页设计不同,就可以采用基于原型的策略。(这种策略下)每个页面都会有专属的css文件。

在原型数量不多的情况下,这个方法简单明了、行之有效。然而,当页面元素并不按部就班的位于各个原型页时,问题就出现了。如果子页面和组合页共享某些元素,而首页却没有,我们应该怎么做呢?

把共享元素放入主css文件。这虽不是最纯正的解决办法,却适用于某些具体情况。可是如果网站庞大,(这样做的话)主css文件会迅速膨胀——这就违背了分离文件的初衷:避免导入不必要的大文件。

在组合页和子页面的css文件里各放一份样式代码。(这么做)就意味着要维护冗余代码,很显然我们不想这样。

创建一个新的文件,由这两种页面共享。这听起来不错。不过假如只有10行代码,我们创建这个文件仅仅是为了共享这10行代码?(注:杀鸡用牛刀?) 这方法很纯粹,但如果网站庞大有很多对页面共享很少量元素时(注:比如30对页面分别共享10行代码),就显得很笨重了。

创建一个单独的css文件,包含所有共享元素的样式。这方法可能比较简单,却要取决于网站的大小和共享元素的多少。有种情况会很烦:导入了一个很大的css文件,但页面只用到一小部分样式——还是那句话,这违背了分离文件的初衷。

这就是我所说的重叠的两难(overlap dilemma)。零碎css规则的重叠不一而足,并没有一个完全清晰无误的方案来组织它们。

方法二:基于页面元素/块

如果网站使用服务器端include,这个方法很不错。举例说明,如果使用页眉include,它会有自己相应的css文件。页脚或者其他部分的include可以如法炮制,只须导入自己的css文件。这个方法简单干净,不过可能会产生很多小css文件。

举例来说,假如页脚的样式只需要20行css代码,单独创建一个文件就划不来了。而且这个方法导致每个页面都包含一堆css文件——因为有多少include,就得有多少css文件。

方法三:基于标记

这个方案直观实际,与前一个类似。如果网站共有30个页面,其中10个含有form,那么可以创建一个css文件专门处理form的样式,只在这10个页面导入它。如果另外10个页面含有table,就创建一个文件专门处理table样式……诸如此类。

原文链接:http://www.cnblogs.com/shouce/p/5551787.html

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

CSS配合JavaScript做酷的动态页面效果

  利用CSS配合JavaScript的可以做很多更酷的动态页面效果,在本教程的最后给大家简单介绍一下CSS配合JS的应用。首先,要搞清楚事件和动作的概念。在客户端脚本中,JavaScript 通过对事件进行响应来获得与用户的交互。例如,当用户单击一个按钮或者在某段文字上移动鼠标
收藏 0 赞 0 分享

WEB标准,Web前端开发工程师必备技术列表

  想要打造并拥有一流的Web产品开发团队,在团队成员基础能力上一定要下功夫。对于Web前端产品开发来说,仅仅掌握Web1.0时代简单的"网页套接"是完全不够的。我结合自己的团队配备,特此罗列了Web前端产品工程师所涉及的技能列表如下:   通过许多实际项目,
收藏 0 赞 0 分享

用CSS制作Alpha滤镜测试板

alpha滤镜给制作网页特效提供了较大的创作空间,但由于它控制参数较多,在实际应用时,为了确定一组合适的参数值,不得不反复调整修改,在编辑窗口和预览窗口来回倒腾,甚是麻烦,本文介绍了一种简单的方法。制作一个“Alpha滤镜参数测试板”,在测试板上输入参数
收藏 0 赞 0 分享

非常流行的所谓的气泡窗口

普通的Alt无法自定义风格,而Sweet Titles通过JS脚本与CSS的集合.自定义了这种伪Alt风格. 前一段时间非常流行的,就所谓的气泡窗口(鼠标移到链接处出现的). 我们这里实现的用的是Sweet Titles的插件.显示效果完全由CSS控制.. 先下载Sweet Ti
收藏 0 赞 0 分享

CSS教程:li和ul标签用法举例

LI代码的格式化: A).运用CSS格式化列表符: ul li{ list-style-type:none; } B).如果你想将列表符换成图像,则: ul li{ list-style-type:none; list-style-image: url(/blog/images/
收藏 0 赞 0 分享

CSS教程:CSS中的定位(position)

  使用CSS来定位页面内层的位置,一直是比较难以掌握的事情,很多时候,往往被绝对定位的元素,总是以浏览器的左上角为坐标原点,此时,如果浏览器的大小改变,被定义的层就会偏离设计想要的位置,让人很挠头。   其实,要想控制好层的绝对定位,只要理解CSS中关于定位
收藏 0 赞 0 分享

CSS教程:盒模型(BOX Model)

  如果想熟练掌握DIV和CSS的布局方法,首先要对盒模型有足够的了解。每个HTML元素都可以看作一个装了东西的盒子,盒子里面的内容到盒子的边框之间的距离即填充(padding),盒子本身有边框(border),而盒子边框外和其他盒子之间,还有边界(margin),如图1所示。
收藏 0 赞 0 分享

无延迟翻滚的图形与CSS混合风格按钮

  在一个具有图形背景的按钮中添加CSS风格的文本,这种建立按钮的方法结合了具有CSS翻滚(CSS rollover)标记的开发速度和效率,从而有效地提高按钮外表图像的三维效果。   相比于常规的图形按钮,这些图形/CSS混合按钮可易于建立和载入,因为你只需要为空白按钮外面
收藏 0 赞 0 分享

css里expression实现界面对象的批量控制

用过css样式我们就知道, 可以定义一批对象的class属性来指定同一个样式来统一界面. 但如何统一同类型的对象的事件? 比如:界面有无数个 <img src="**.jpg"> 如何实现鼠标经过此图片, 图片的src变成是**_over.jpg?
收藏 0 赞 0 分享

CSS教程:水平对齐(text-align)

  水平对齐(text-align),用以设定元素内文本的水平对齐方式。   1.语法   text-align具体参数如下: 语法:text-align:left|right|center|justify 说明:设定元素内文本的水平对齐方式。 参数:left:左
收藏 0 赞 0 分享
查看更多