本书是一些已经验证过的,专业的现代网络技术的集合。每天,在你设计程序时,不论是开始,还是最后,都会使用这些技术,以求在最短的时间达到最佳的效果。.
在我们最终证实了CSS(级联式样式表)及其他——些网络标准是有用的之后,当现有的工具已不能满足我们的理想目标时,越来越多的专业网络开发者,舍弃了原来的方法,转而求助于CSS。现在支持CSS的网络浏览器已是绝大部分网络冲浪者的默认浏览器,他们中的大多数从来没有为处理成堆的表格布局和补白图片烦恼过。
那么这些网络设计者又是怎么学到CSS的呢?他们大部分都是自学的。他们从网上的一些文章和博客中学一点,又或者查看其他人的代码,并将其分解,研究他们是如何实现某种特殊的样式或是布局的,或是通过阅读市面上的一些CSS书籍。
像博客和一些网络教程一样,现在市面上大部分的CSS书籍把重点都放在了特定规则和技术上,而把背景撇在了一边。本书的重点却是背景,以及书中所提到的每一项技术在现实中是如何应用的。
对本书的误解
本书并不是一本介绍CSS的书。尽管我们会讲到一些CSS的基本知识,但是我们写此书的前提是认为你已经对CSS有了基本的理解,并懂得它是如何:工作的。
本书也不是关于CSS的全面参考指南。CSS的参考指南非常有用(市面上已有不少CSS的参考书)。但是它们很少会讨论内容、最好的经验及实用性。
这本书也不是网络标准的教条。我们假设你已经对标准的重要性有了一点点狂热,当你读完本书后,这种狂热可能会将你淹没。或者你自己已经发现了网络标准的好处。无论是哪一种方式,你都是个皈依者。我们非常信任网络标准,但我们同时也信任其他任何实用有效的技术。我们尽力在需要时100%地遵循标准,但如果有更实用的方式,我们也会做出相应的改变。
这本书也不是聪明的实验性CSS技巧的集合。我们的重点在于今天,现实中能用于你的项目或客户的技巧。
本书的目的
本书有以下4个目的。
·可维护性:我们会为你提供一些建议,让你能更轻松地编写、组织、存储代码,以便你或其他人的维扩工作更简单。
·兼容性:我们将为你演示在浏览器兼容性问题出现之前如何避免它,以及在它们出现后你该怎么办。
·可再使用性:我们希望你能充分利用CSS的继承和特性让你的样式能发挥最大的作用。
·实用性:我们要提醒你,不要在这些理想化的目标上太过纠缠。试图以“正确”的方式来做事情是非常明智的,但是如果这种“正确”的方式不实用,那就使用现实中更为实用的方式。网站永远不会过时——因为你可以随时去优化它。
本书的目标人群..
本书适用于那些对(X)HTML和CSS有基本理解并希望能更上——层楼的人群。我们的重点对象是那些为一般人群设计专业站点的网络开发者和程序设计者。我也了解,并不是每个网络设计者都会花时间来阅读网络设计杂志、博客及他人的代码。如果你不想通过大量浏览网上的博客来提高你的CSS技术,本书将是你不错的选择。
本书的结构
尽管本书是有关CSS的,但是如果你能理解并使用干净、语义化的(X)HTML来建立你的CSS样式,也是非常重要的。因此,本书的第1章“CSS的目标”会简要概括现代样式表标记。第2章“样式表语言”,以及后面的一章“优先级和级联”则阐述了CSS工作原理的所有细节。然后就是“浏览器”,包括各种浏览器之间的矛盾,也就是你或许已知的CSS开发的毒瘤。
接着,我们就开始讨论CSS开发工作流中的——些实用的管理技巧。在“CSS文件管理”中,你会学到最好的编写CSS选择符和声明的实例,还有如何在多个CSS文件中组织你的选择符,以及如何根据带宽和速度来优化你的样式表。而在“Hacks和Workarounds”这章中,我们会教你,要使你的CSS不致过于复杂,首先应该选择最可靠的浏览器:什么时候该使用CSS“hacks”或“滤器”;以及如何以一种尽可能干净的方式来使用它们。同时,我们也列出了最有用的CSS滤器。
.在这些章节之后,就是本书的主体了。它将主要向你展示能够在项目中使用的具体CSS设计技巧。首先,我们介绍的是“CSS布局”,讲的是如何用比较有效的方式来创建许多一般的布局;接下来是“创建一般页面元素”,介绍了——些实用的东西,如导航条、下拉菜单和圆角盒等。接下来的一章是“排版”,专门讲述如何使内容既具有可读性,又具有艺术性。然后是关于如何设计(X)HTML表格、表单和列表的视觉效果的内容。最后一章是“应用于打印及其他媒体的设计”。
最后,我们以“常见问题解析”结尾,讨论CSS中的一些常见问题,并帮助你分析到底是CSS中的哪一部分出了问题,一些常见的CSS错误,或者是CSS浏览器bug的解决方法。
本书的末尾,在附录里列出了——些有用的参考文献。
关于Internet Explorer 7的一点提醒
在写这本书的时候,IE 7已经有了beta版本,因此本书中的IE一般都是指IE 7。不过,到本书出版的时候,IE 7应该已经全面发售了。
本书中应用的惯例
本书中,我们使用了以下的惯例:
·(X)HTML指的是HTML和XHTML。
·CSS一般指的是CSS2.1规范,除非是特别说明。
本书中所有(X)HTML例子都嵌套在一个完整(X)HTML文档中的一个[body]标签里。为简单起见,我们不会将整个(X)HTML文档都显示出来,而只是显示部分相关代码。同样,所有CSS例子都会收录在(X)HTML文档中的[head]里(通常是通过链接与一个外部样式表相连)。
现在,让我们言归正传吧。...