《CSS重构:样式表性能调优》试读:前言

刚开始学CSS 那会儿,我发现它的句法(组成一门编程语言的规则和结构)掌握起来很简单,因为代码的编写方式有现成的规则可循。然而,我发现组织好CSS,使其易于维护, 则难度比较大。比这更难的是整理之前写的、结构不清晰的CSS。我写这本书的初衷就是想把自己在试错过程中学到的一切分享给更多人。若是我刚开始学CSS 那会儿,市面上有这样一本书就好了。 目标读者 虽然我希望所有CSS 开发人员都能从中受益,但本书主要是写给那些勉强能够编写可用的用户界面的读者的,他们缺乏经验或视野不够开阔,不能从全局理解自己编写的代码是怎么组织在一起的。目标读者懂得怎样编写CSS 语句,但也许不理解某些做法背后的原因。他们可能也不知道怎么安排代码的架构,使其成为易维护、易扩展并且便于合作开发的软件。 本书的目标 本书旨在阐明CSS 的一些比较微妙的知识点,便于新手理解。我还想讲讲为什么编写和测试CSS 很难,以及为什么说花时间重构CSS 是值得的。 本书主题如下: 什么是重构,它的好处是什么,它与软件架构之间什么关系 级联、选择器的优先级和盒子模型等常被误解的CSS 知识 如何以更明智的方式编写代码并保持一致性,从而编写出质量更高的CSS 如何用编码标准和模式库维护高质量的CSS CSS 的测试方法 CSS 的组织方法 CSS 的重构策略 衡量重构是否成功的标准 你可以将本书中的知识立刻付诸实践,去编写质量更高的CSS 代码,从而提高代码库的质量。倘若团队协同工作,代码库也会因此更容易维护。若在实践过程中用到书中讲的概念,我鼓励你再次阅读相关章节,彻底把它搞清楚。  本书不涉及的内容 本书重点讲解的这些概念,其技术性不一定很强。因此,有很多主题不在本书讲解范围之内,其中包括以下几个。 CSS属性 编写CSS 需要掌握CSS 属性的相关知识,但是本书不讲。也许本书会时不时地建议你该使用什么属性,但是为了能够系统地学习这些属性,建议你参考Eric Meyer 的《CSS 权威指南》、Christopher Schmitt 的《CSS Cookbook 中文版》或其他权威网站,比如Mozilla Developer Network(https://developer.mozilla.org)。 HTML结构安排 构建用户界面既需要HTML 又需要CSS,它们会相互影响。我们会讨论将CSS 从HTML 中分离出来的方法,但是不会讨论HTML 编写方式及其结构安排的利弊。 前端性能 搭建网站,前端性能很重要,这个主题也非常有趣。可是由于本书只讲CSS 重构,因此我们只是简要讲讲前端性能。这个话题涉及面很广,囊括了其他多个主题。Steve Souders (https://stevesouders.com)写了几本性能方面的书,都非常不错。Paul Irish(http://www. paulirish.com)、Nicole Sullivan(http://www.stubbornella.org)和Stoyan Stef anov(http://www. phpied.com)三人也在这个方面做出了很多了不起的工作。此外,谷歌提供的一些指南和工具(https://developers.google.com/speed/pagespeed),对于提升前端性能也很有帮助。 CSS框架 CSS 框架变动比较频繁,在实现上强行加入了自己定义的规则,因此本书也不讲。然而, 我希望你在读完本书后能够看着任意一个框架的源代码自己去评价一下其实现的好坏。 小众浏览器 Web 浏览器数量惊人,但我们只讨论主流浏览器,比如Microsoft Edge(之前的IE)、Safari、Chrome 和Firefox 以及它们的移动浏览器版本,因为这些浏览器占据了绝大多数市场份额。 术语 本书假定目标读者具备一定的CSS 知识,但他们对有些术语可能不熟悉,因此书中会对一些术语作出解释。下面这些术语更为基础,先在这里列出来。 选择器是指为一个或一组元素添加样式时所使用的模式。 声明块是一组规则,表示为HTML 元素应用什么属性,属性取什么值。 属性表明为选中的元素应用什么样式。我们需要为属性指定取值。 规则集由一个或多个选择器和一个声明块组成。 例P-1 的CSS 代码要求浏览器为所有段落应用蓝色、16px(像素)大小的样式。p 为选择器,告诉浏览器为哪个元素添加样式。左右花括号之间的所有内容为声明块。该声明块包括两条声明语句:第一条为color 属性赋值#1200FF,第二条为font-size 属性赋值16px。整个这一段代码即为规则集。为了方便理解,我们在图P-1 中标明了规则集的各个组成部分。 例P-1  规则集示例 p { color: #1200FF; font-size: 16px; } 图 P-1:CSS 规则集图解 配套网站提供的内容 本书的配套网站http://www.cssrefactoringbook.com 提供以下内容: 本书各示例的代码文件 偶尔会发博客文章 好文章、演讲稿和其他资源的链接 勘误和纠错信息 本书是要帮你完成工作的。一般来说,如果本书提供了示例代码,你可以把它用在你的程序或文档中。除非你使用了很大一部分代码,否则无需联系我们获得许可。比如,用本书的几个代码片段写一个程序就无需获得许可,销售或分发O’Reilly 图书的示例光盘则需要获得许可;引用本书中的示例代码回答问题无需获得许可,将书中大量的代码放到你的产品文档中则需要获得许可。 我们很希望但并不强制要求你在引用本书内容时加上引用说明。引用说明一般包括书名、作者、出版社和ISBN。比如:“CSS Refactoring: Architect Your Stylesheets for Success by Steve Lindstrom (O’Reilly). Copyright 2017 Steve Lindstrom, 978-1-491-90642-2”。 如果你觉得自己对示例代码的用法超出了上述许可的范围,欢迎你通过permissions@ oreilly.com 与我们联系。 排版约定 本书使用了下列排版约定。 黑体 表示新术语或重点强调的内容。 等宽字体(constant width) 表示程序片段,以及正文中出现的变量、函数名、数据库、数据类型、环境变量、语句和关键字等。 加粗等宽字体(constant width bold) 表示应该由用户输入的命令或其他文本。 等宽斜体(constant width italic) 表示应该由用户输入的值或根据上下文确定的值替换的文本。 该图标表示提示或建议。 该图标表示一般标注。 该图标表示警告或警示。 O’Reilly Safari Safari(原来叫Safari Books Online)是面向企业、政府、教育从业者和个人的会员制培训和参考咨询平台。 我们向会员开放成千上万本图书以及培训视频、学习路线、交互式教程和专业视频。这些资源来自250 多家出版机构, 其中包括O’Reilly Media、Harvard Business Review、Prentice Hall Professional、Addison-Wesley Professional、Microsoft Press、Sams、Que、Peachpit Press、Adobe、Focal Press、Cisco Press、John Wiley & Sons、Syngress、Morgan Kaufmann、IBM Redbooks、Packt、Adobe Press、FT Press、Apress、Manning、New Riders、McGraw-Hill、Jones & Bartlett 和Course Technology。 更多信息,请访问http://oreilly.com/safari。 联系我们 请把对本书的评价和问题发给出版社。 美国: O’Reilly Media, Inc. 1005 Gravenstein Highway North Sebastopol, CA 95472 中国: 北京市西城区西直门南大街2 号成铭大厦C 座807 室(100035) 奥莱利技术咨询(北京)有限公司 我们为本书做了一个网页,把勘误信息、示例代码和其他附加信息列在了上面。地址是: http://bit.ly/css-refactoring。 对于本书的评论和技术性问题,请发送电子邮件到: bookquestions@oreilly.com 要了解更多O’Reilly 图书、培训课程、会议和新闻的信息,请访问以下网站: http://www.oreilly.com 我们在Facebook 的地址如下: http://facebook.com/oreilly 请关注我们的Twitter 动态: http://twitter.com/oreillymedia 我们的YouTube 视频地址如下: http://www.youtube.com/oreillymedia 致谢 写作本书的过程让我真切地感受到了自己的不足。 一天晚上,我心血来潮,毛遂自荐,给O’Reilly Media 发了一封简单的邮件,附上了我对于这本书的构思。邮件发出去之后,我忐忑不安起来,但很快就把这事抛诸脑后了,因为我压根就没指望收到回信。 后来,我却收到了O’Reilly 的回信,还是好消息。这令我更加不安起来,我怕自己被冲昏了头,但是跟Simon St. Laurent、Brian MacDonald 和Meg Foley 的合作非常愉快。我尤其感激本书的编辑Meg Foley,因为她非常通情达理,不断地鼓励我,尽管我一次又一次没能在截止日期前交稿。我之前表示过歉意,现在容我再说一次——对不起,Meg ! 本书中的技巧、策略和想法,是我多年来从各处收集来的。书中的大部分概念都不是我提出来的,因此,首先我想感谢前人贡献了这些概念。加入Web 开发社区非常有好处,因为社区有很多聪明人,他们愿意跟别人分享自己的想法。我希望能通过此书为社区尽绵薄之力。 写一本书比我预想的难多了,写作过程很耗时,而且需要我独自完成,幸好工作时周围有好友相伴。每当写不下去时,我就想起Andy Denmark,他的职业道德超好,我从他那里得到了不少鼓舞。Thor Denmark 还教我如何在顺境和逆境中都保持积极的态度,使我不至于陷入困境无法自拔。Nate Racklyeft 和Josh Hudner 阅读了本书的初稿,并给出了大量宝贵的反馈意见,极大提高了本书的质量。Erin Wallace 从事设计工作,整天跟组织、过程和细节打交道,她的反馈意见也非常有价值,有助于我润色书稿,使其更容易理解。他们每天都关注着我,促使我每天都比前一天进步一点。为此,我对他们感激不尽。 此外,我还要郑重感谢Christopher Schmitt,他审阅了本书。得知他审阅我的作品时,我觉得他的名字很熟悉,果不其然,我的案头上就摆着他的两本大作。Christopher,你的批注对我帮助很大。我刚开始学CSS 时,你的著作让我受益匪浅。非常感谢你抽出时间帮助一个陌生人。希望我有机会报答你! 如果不感谢培养我、影响我、使我变成今天这个模样的家人,致谢部分就不完整。我的父母总是鼓励我读书,我现在仍努力多读书、少看电视。小时候,父亲就送给了我一本O’Reilly 图书(我的第一本O’Reilly 图书,我记得是讲C 语言的)。我选择IT 作为职业, 很大程度上源于父亲的鼓励和他从事的职业。母亲和哥哥也是我的灵感源泉,并给予我巨大鼓舞,你们对我的关爱难以言谢。 最后,我想感谢咖啡。我爱你,咖啡。 电子书 扫描如下二维码,即可购买本书电子版。

>CSS重构:样式表性能调优

CSS重构:样式表性能调优
作者: [美] Steve Lindstrom
isbn: 7115469784
书名: CSS重构:样式表性能调优
页数: 140
译者: 杜春晓, 司韦韦
定价: 39.00元
出版社: 人民邮电出版社
装帧: 平装
出版年: 2017-11