《CSS实战手册》简介:

CSS是一场革命

借用quirksMode的PPK(Peter-Paul Koch)的话来说:CSS是一场革命。

Ajax的浪潮正在逐步改变着Web开发的方式。谈到Ajax,开发人员似乎更注重于 XMLHttpRequest 和 JavaScript ,而淡忘了Ajax还有一个重要的组成部分 CSS。

事实上,CSS和DOM、xHTML以及粘合它们的JavaScript密不可分,相辅相成。

传统的使用Photoshop制作效果然后切图并用拼合成html页面的网页设计师们需要精通CSS,因为CSS能帮助你们重新审视自己的作品,让结构和细节更适合于网页的展现形式。

传统的使用HTML模板往其中注入逻辑或业务代码的Web开发工程师们需要理解CSS。因为CSS能帮助你们重新思考Web开发。高效的CSS和清晰的HTML结构,Ajax的魔力就隐藏在其中。

我很喜欢《CSS实战手册》这本书的内容,它即讲解了CSS的基础知识,又分享了很多实践的心得。尤其每章最后的实战教程最是宝贵,理论后的实践能让我们学而有成,成能见效。

我把这本书推荐给好学的网页设计师和Web开发工程师们。它能帮助你们自信的融入这场革命。

—— 小马

推荐序一

软件开发作为新兴的行业,在短短几年中走过了辉煌的历程,尤其是互联网的发展,给Web开发带来无比强大的推动力,让网页开发技术飞速发展。回想几年前,网页设计还是开发中不被重视的一环,而今天,我们在新一轮互联网的大潮中深刻地感受到网页——直接给予用户第一感受的载体,是多么的重要。当“Table禁止用于布局”逐步写进各大公司的网页制作规范的时候,当CSS + Div模式已经成为行业标准的时候,当开发的产品要适应不同浏览器的时候,我们逐步发现,行业技术在不断地细化,网页的设计与制作之间的关系,不仅超越了技术本身,而且还逐步引入感官体验、易用性,甚至交互设计等元素。

本书从行业发展的角度出发,深入细致地讲述了如何制作出优秀的网页,以及规范中隐含的技巧。本书深入浅出地讲述了如何换位思考HTML的结构,如何规范使用样式表的各种功能,如何整体规划网页布局和感受用户体验。本书最好地体现了“细节决定成败”的原则。阅读本书,希望读者不仅能了解到制作优秀网页的方法,而且能培养“探索无止境,学习无尽期”的创新和开拓精神。

本书是帮助你站上巨人肩膀的又一块垫脚石。

—— Yanger

Web标准革命以降,我们应该看什么?

自Web标准革命以降,无论是设计师还是程序员,都在谈论新时代的网页制作方式。作为呈现的语言,CSS自然首当其冲。现在,已经不是讨论该不该使用Web标准的时候,应该关心的是如何更好地使用CSS为Web标准服务,以便将将并缤纷多彩的设计从语义的结构分离出来。不幸的是,一个本世纪初的浏览器(您知道我说的是IE6),对CSS的欠缺关键性的支持,但还在大行其道。有时候您会忙得焦头烂额,盒装模型、浮动、定位等等,听着都头晕的名词困扰着您。或许您可以通过搜索引擎找到很多文章来看,或是英文的、或是“专家”级别的,您还得费力四处去找一个问题的结症。但是,无论如何,请坚持住,别放弃,因为您已经走在正确的路上。或许在您灰心的时候,不妨翻开这本《CSS实战手册》吧。

笔者有幸在第一时间拿到CSS Missing Manual的译作,即《CSS实战手册》,作者David Sawyer McFarland将复杂的问题用轻松的、不拘一格的语言风格阐述开来,让人读来津津有味,不负笔者对O’Reilly的一向信赖。一本好书,不仅要技术过关,还需要能将问题阐述清楚;能将问题解决外,还需要轻松的语言能让读者在会心一笑中学习。这是一本很好的教程,还是一本诙谐小品。这本书面向的是初中级别的读者,因此一开始就向传统的HTML编写方式开炮,其实是让读者了解为语义,为CSS而写HTML的重要性。接着讲述创建样式及样式表、确定需要样式的元素、使用CSS的继承和层叠、如何格式化文本、设置内外边据和边框、样式化图片、创建基于浮动的布局、定位页面元素、如何编写打印样式,最后,也是很重要的经验之谈:如何编写能够维护的CSS,作者称之为CSS习惯。这些习惯可以为您节省很多积累时间,因此对于高手来说,其实也能起到查漏补缺之效。附录还列举了很多有价值的资源,可以作为读完本书后的提升资源。作者每个部分都运用大量的精心准备的例子,虽然稍嫌罗嗦,但不失为初学者的“实战”之道,对于开发者或者程序员来说,例子也会比枯燥的理论更容易让人接受。尤其对于常用工具(比如Dreamweaver)生成HTML和CSS的设计师来说,如能按照例子“实战”一遍,定能获益匪浅,提高手写代码能力。拿到这本书,可以说让人欣喜的,回想三年前我学习CSS的那段时间,往往只能苦啃英语,四处搜索解决问题的方案,并自己慢慢积累。如今,虽然随着“革命”的蓬勃发展,中文的相关书籍还是太少,有品质的更是凤毛麟角。对于阅读外文有困难的读者来说,《CSS实战手册》实在是一个好消息。允许我再罗嗦一遍,它能够大大降低您的学习成本和积累时间,如果您真的是初学者的话。

—— Realazy

Web开发者当前所急需的CSS专著

HTML(XHTML)很容易入门,但是与其他同样很容易入门的技术一样,HTML很容易被误用。在最初学习阶段的愉快感觉之后,开发者在实际工作中很快就会陷入到混乱之中。这并不是HTML的错,正是因为HTML的简洁性和易用性(低门槛),Web才得以以几何级数的速度飞速发展,HTML应该继续保持这样的特点。使用HTML显然并不是我们的目标,我们需要掌握一些更高层次的技术,这些技术可以指导我们以正确的方式使用HTML,建造出可用性良好的Web页面。从CSS的角度来使用HTML,就是一种最佳实践。其前提是开发者必须要深入掌握CSS,然后才能确定如何为CSS来使用HTML。

《CSS实战手册》就是Web开发者当前所急需的CSS方面的专著,而且它是从面向开发者的角度来写作的,将CSS的优雅和巨大潜力充分展示给了读者。它的重点在于展示CSS在目前主流的浏览器中可以实践的那些部分,而不是巨细无靡地罗列CSS规范的内容。这本书得到了Jolt的技术类书籍的大奖,据我所知,这是Web标准方面(HTML、CSS、JavaScript、Ajax、etc)的技术书籍中第一本获得Jolt大奖的。由于Jolt大奖的信誉,足以让我们对这本书高度关注。博文视点以最短的时间将这本书引进到国内,使得国内的Web开发者很幸运地及时读到了这本书。

我使用CSS来设计页面的样式已经有两年多了,不过至今仍然遇到一些难以解决的问题。特别是完全使用基于浮动的布局,似乎在一些场合的表现并不比基于table的布局更好。这是我对CSS最关注的地方,我想也是大部分Web开发者最关注的地方。《CSS实战手册》中有一章内容非常详细地介绍了基于浮动的布局,这有助于我们更加深刻地理解这种新的布局方式,克服对这种布局方式的不适应。从解决复杂的问题入手来阐述技术的应用,这是这本书的与众不同之处,这使得这本书更加实用(用现在流行的一个buzzword来说:更加pragmatic),我想这就是它获得Jolt大奖的原因。此外,这本书中还有一章专门介绍如何设计打印机友好的页面,这也是我很关心的部分,这是传统的页面设计的一个盲区。这本书还涉及到了页面设计中很多晦暗的部分,包括各种浏览器之间的差异,IE的各种鲜为人知的bug等等。《CSS实战手册》在黑夜中为我们打开了一盏探照灯,让我们清晰地看到了更加广阔的区域,对于全面采用CSS充满了信心。

基于Web标准的技术目前仍然处在迅速发展的阶段。能够反映出使用Web标准的最佳实践的书籍,在国内姗姗来迟,据我所知还是最近三年左右的事情(以博文视点的《网站重构》为起点)。但是这样的一些声音声势越来越大,逐渐汇成了一道洪流。假以时日,再过两三年,Web开发的面貌将会发生根本性的变化。

—— dlee

《CSS实战手册》摘录:

How Styles Cascade

《CSS实战手册》目录:

The Missing 的荣誉
简介
第1部分 CSS基础知识
第1章 为CSS重新思考HTML
HTML:过去和现在
HTML的过去:一切看起来都好
HTML的现在:CSS的脚手架
为CSS写HTML
思考布局结构
学习两种新的HTML标签
可以遗忘的HTML
在网站上引导访问者的技巧
Doctype(文档类型)的重要性
第2章 创建样式和样式表
样式剖析
理解样式表
内部还是外部--如何选择
内部样式表
外部样式表
使用HTML链接一个样式表
用CSS链接一个样式表
教程:创建你的第一个样式
创建一个行内的样式
创建一个内部样式表
创建一个外部样式表
第3章 选择器基础--判断要给什么添加样式
标签选择器:整体样式
类选择器:精确控制
ID选择器:特殊的网页元素
给标签内的标签定义样式
HTML族谱
创建派生选择器
给标签群定义样式
构造群选择器
通配选择器
伪类和伪元素
给链接定义样式
更多的伪类和伪元素
高级选择器
子选择器
邻近同胞
属性选择器
教程:选择器模型
创建群选择器
创建和应用类选择
创建和应用ID选择器
创建派生选择器
第4章 利用继承节省时间
什么是继承
……
第5章 管理多种样式--层叠
第2部分 实用的CSS
第6章 格式化文本
第7章 Margin、Padding和Border
第8章 给网页添加图片
第9章 装饰网站导航
第10章 格式化表格和表单
第3部分 CSS布局
第11章 建立基于浮动的布局
第12章 定位网页上的元素
第4部分 高级的CSS
第13章 用于打印页面的CSS
第14章 改进你的CSS习惯
第5部分 附录
附录A CSS属性参考
附录B Dreameaver8中的CSS
附录C CSS资源
索引
· · · · · ·