计算机书籍控

Web标准之道 博客园精华集

   《Web标准之道:博客园精华集》由人民邮电出版社出版。半年前,在博客同这杆大旗下的感召下,一群园友聚到了一起,组成了博客园精华集编委会,酝酿着一出好戏。这期间,有过争执,但更多的是合作。长期的磨合,使得来自五湖四海的编委会成员互相熟悉,甚至无话不谈。这,也是一种财富。今天,博客园这坛好酒,在陈酿了五年之后,终于要开封了。这是一本关于Web标准、前端编程、网站优化的集大成之作,代表了博客园在Web领域的最高水准。所选文章大多是经验之谈,所谓技术人士的“心灵老鸭汤”:全书最有撼力的文章,莫过于Cat Chen的《欲练CSS,必先宫IE》;鸟食轩和老赵的文章偏实用,主要集中在Javascript领域;爆牙齿的《重构之美》系列,则有“采菊东篱下,悠然见南山”的意境。  妙笔生花之作不胜枚举,正所谓:备美酒兮以飨佳朋,身心俱醉。博客园的草根技术文集,博客园五年精华与沉淀,众多MVP倾情奉献。

目录


第一部分 HTML/CSS

谈谈网页设计中的字体应用(1)——Font Set 2 目前的网页还是以文字信息为主,而字体作为文字表现形式的最重要参数之一,自然有着相当重要的地位。可惜字体的重要性在很长时间内并没有得到足够的重视

谈谈网页设计中的字体应用(2)——serif和sans-serif 5 有多少人可以正确地使用它们呢?有多少人真正了解这两个通用字体族呢?本文将给您一个最清楚深入的剖析

谈谈网页设计中的字体应用(3)——实战应用篇•上 10

谈谈网页设计中的字体应用(4)——实战应用篇•下 14 纸上谈兵终是虚,让我们在战场上学习更多的技能

让CSS区分各种各样的input 19 input代表的实在太多了,但它们却不可能使用相同的样式,当我们不想添加成片的class时,试试这里的方法,四个解决方案,总有一个您需要的

一个常被问到的问题: 如何让层盖住select 25 IE 6依然是目前的主流浏览器,IE 6的select也一直“高高在上”,经常遇到的问题却成为一直以来的话题,本文将为您展现终极解决方案

兼容IE、Firefox的图片自动缩放的CSS 29 厌烦了写大量的JavaScript来控制一个个的图片,那么来用CSS(当您不能确定expression将会带来什么的时候,请谨慎使用)

第二部分 Web标准

Web标准页面设计——要注意的很多 32 本文是作者在做完一个大型项目之后的总结,提到了很多方面,相信这些知识点对所有走在Web标准化道路上的人都有很大的帮助

欲练CSS,必先宫IE 39 Win国天下,欲练CSS之人不在少数,大多不得要领,又或是走火入魔,全为IE所累。故曰:欲练CSS,必先宫IE

你有table/强迫症吗 42 如果你宫了IE然而还是觉得不得要领,那就该怀疑自己是不是有传说中的table强迫症了

根本不存在DIV + CSS布局这回事 44 看了上面的两篇文章,您是不是已经开始拿DIV+CSS布局来和table布局进行比较了?实际上,用于布局的只有CSS,根本不存在DIV+CSS布局这回事

慎用XHTML标签的自关闭写法 47 请注意:并不是所有标签都可以自关闭

Web标准不标准 49 一群会用table蹩脚布局的网页初学者嘲笑着那些对网页制作一窍不通的门外汉;而一群自认为Table布局无所不能的Table布局拥护者则嘲笑着那群用Table蹩脚布局的网页初学者;那些刚试着将几个页面中的TABLE换成DIV的所谓的Web标准设计者则嘲笑着那群死抱Table布局不放的table布局设计者;而一群焦头烂额终于在网站上贴上“W3C验证通过HTML网站”图标的自认高人的Web标准设计者则嘲笑着那群以为“DIV+CSS”就是Web标准的Web标准设计初学者;但是当我们把网页放在不同的浏览器中的时候,却发现我们全部都被“Web标准设计”嘲笑了

走在Web标准化设计的路上[唠叨先] 53 晕,现在才谈XHTML是不是太晚了点,这东东2004就火了一把了。其实,作为一项技术,没有火与不火的说法,也没有早与晚的说法。技术的生命力和火没有关系,不知道不理解没学会怎么都不晚

走在Web标准化设计的路上——振臂一呼:CSS,Stop! 55 近几年Web标准的推广变成了CSS的推广,CSS重要吗?我们不要CSS行不行?你找一大堆完全合理的理由……“行不行?”“行!”那就对了,我说不要你的CSS,我要他的CSS,又行不行?那么和XHTML相比,CSS重要在哪里

走在Web标准化设计的路上——对HTML/XHTML/XML/XSL的 一些认识 57 让我们从这里开始更深入地了解这些L们

走在Web标准化设计的路上——深入结构:理解h系列的不合理 60 HTML中的6个标题Tag(h1/h2/h3/h4/h5/h6),设计得是否合理?理由?解决办法

走在Web标准化设计的路上——深入结构:合理运用DIV和SPAN 66 把DIV看成是布局元素的人非常多,类似有“用div代替table进行布局”、“实战CSS+DIV布局”等,太多了,可是,DIV却不是布局元素,更可怕的是XHTML中根本不存在一个布局元素

走在Web标准化设计的路上深入结构:DIV再议以及对SPAN的迷惑 70 上篇文章中主要否定了使用DIV进行布局这种说法,提出DIV应当用于组织代码结构,现在我们再深入一点,DIV拥有语义吗

走在Web标准化设计的路上——复杂表单 74

走在Web标准化设计的路上[复杂表单:Reload] 77 一直有种说法:Table用于数据表,对于复杂表单,Table也是最好的选择,那么,到底复杂表单是否应该使用Table

走在Web标准化设计的路上[深入语义:列表和表格的抉择] 83 问题:XHTML中的列表Tag(ul/ol)和表格Tag(Table)区别何在?对于单列多行下的数据表,如何判断和选择

IE 7标准之道——1. 更丰富的CSS选择符 86 IE 7最令网页设计者兴奋的改进,便是支持更多、更丰富的CSS选择符,因此可以更方便地实现一些在IE 6中很难实现或者无法实现的效果。下面就让我们看看这些令人兴奋的、IE 7新支持的选择符

IE 7标准之道——2:引起页面布局混乱的祸首 98 页面乱了!谁搞的?让本文带您进入侦探之路

IE 7标准之道——3:歌剧院魅影bug 114 估计很多朋友都对这个华丽的“歌剧院魅影”有眼前一亮的感觉,其实这纯粹是一个标题党作为,这个Bug和歌剧院半毛钱关系都没有。这个bug在国际上比较获得认可的名字叫做——“IE 6重复文字Bug”。这是一个非常好玩但是又很令人摸不透的bug

IE 7标准之道——4:上去了!终于上去了 118 这是IE 6一个很著名且诡异的bug,很简单,也很容易重现。说白了就是:列表框(select)一直把DIV踩在脚底下。因为这个bug,不知道多少浮动菜单被破坏

IE 7标准之道——5:置换元素与行距bug 122 也许您没有听说过“置换元素”这个词,但这个问题您一定遇到过

IE 7标准之道——6:float双倍margin bug 129 很出名,很常见,很简单,如何修正呢?这里有最好的答案

IE 7标准之道——7:躲猫猫bug 134 我的文字不见了!躲哪里去了?IE开发团队都不知道,我们怎么可能知道?但是我们却有办法找出这个猫猫

IE 7标准之道——8:疯了的边框线 138 疯了,边框线算是彻底地疯掉了,这里却没有“为什么”,还好,我们有“怎么办”

第三部分 安全与优化

Web开发中你注意这些问题了吗(前台构架篇) 146 Web 2.0带给我们更好的用户体验和更炫、更酷的效果,Javascript、Flash、Silverlight都跃跃欲试。于是,我们网站中有了越来越多的JS和CSS的文件和代码。随着数量的增多,如何管理这些文件和这些代码、如何通过合理的方式来提升性能,已经是我们必须面对的问题

如何利用客户端缓存对网站进行优化 151 你的网站在并发访问量很大并且无法承受压力的情况下,你会如何优化?很多人会回答服务器缓存,其实这里有更好的方式—客户端才是我们真正的战场

如何提高网页的效率(上篇)——提高网页效率的14

条准则 155 网站最基本的东西是什么?——内容?SEO(搜索引擎优化)?UE(用户体验)?都不对!是速度

如何提高网页的效率(下篇)——使用Yslow掌握网站慢的原因 164 工欲善其事,必先利其器,上篇讲到网站最基本要素是速度,这一次将为大家带来很好用的工具,来协助我们提升网站的速度

关于Web应用程序安全的思考 169 没有绝对的安全,在Web上更没有。对于一个Web程序来讲,至少我们应该做到:自己(一个有经验的Web开发人员)攻不破这个系统。HTTP是开放的﹐因此谁都能向网络上公开的Web服务器发送request请求﹐要求一个URL,但可惜的是,Web服务器对于请求方的识别能力是很低的。使用URL进行安全管控的关键不是判断URL,而是判断每次request,检查每次request是否合法,以防止安全漏洞

SEO——我们是不是走错了路 194 多少公司把钱给了搜索引擎?多少人每天为SEO而工作?我们的工作是必要的吗?SEOer的存在是正确的吗?是不是在这条路上我们走进了迷途?存在即是合理,但我们依然可以停下来想一想,什么才应该是我们真正的追求

第四部分 JavaScript

JavaScript变量作用域及可访问性的探讨 200 永远的话题,永远的焦点,不过,你可能永远无法找到比这里更好的探讨

JavaScript中的this关键字 207

你不知道的JavaScript——“this” 215 两大高手共论“this”:太常用了,所有写过JavaScript的人都用过,以至于我们每个人都会认为自己很了解它,但是,我们真的了解吗?是不是在我们的理解之外,还有什么是我们没有想到的?看过这两篇文章后,你会发现一个不一样的“this”

JavaScript代码压缩、加密算法分析及工具实现 220 现在网上很多JavaScript都进行了压缩,同时代码变得不可直接阅读,也相当于一种简单的加密了,本文对其中一种典型的算法进行分析,并介绍如何解密代码和重新实现

JavaScript Table排序 230 网上也有很多其他的Table排序函数,有的基于数组,有的不够灵活。这个函数能在原有Table结构上加入功能,不用太多改动,基于OO的结构也易于使用(当然前提是对JS有一定认识)。这里只是满足基本需求,你可以自己动手扩展

设计模式在JavaScript中的应用(1)——MVC 236 采用了设计模式,程序无疑将具有更好的健壮性,可维护性以及可读性。所以,作为能工巧匠的您,也一定不会放过令程序蓬荜生辉的机会。让我们一起领略MVC模式

设计模式在JavaScript中的应用(2)——Observer 243 上篇我们讨论了Web开发中最重要的设计模式MVC,这一篇我们要讨论的是Observer模式。与MVC这样的大型设计模式相比,Observer模式则要轻量很多

JavaScript面向对象之属性实现 248 属性是对私有变量的一种保护手段,同时提供了像public变量一样的使用效果。近代的高级编程语言,(例如C#和Java)都支持属性这一特点,让我们在JavaScript里实现相同的功能

基于“甘露模型”的多重继承和接口实现,附带“准”桥接模式的验证 251 你是否听过“甘露模型”呢?是否觉得它在某些地方还不是特别完善?那么,在这篇文章里,让我们继续这个话题,让甘露来得更多一些

在JavaScript面向对象编程中使用继承(1) 257 前面几篇提到了使用JavaScript进行面向对象编程的一些内容,上一篇中实现了多重继承,在这里,让我们开始全面的了解“继承”在JavaScript中的应用,本篇列出了4种实现继承的方式

在JavaScript面向对象编程中使用继承(2) 261 本篇详细介绍了继承构造法,适用于:小规模类之间的继承,基类和子类的属性方法在5~8个,还有就是以构造函数中赋值方式导入类的属性和方法,而不用prototype导入的类编写习惯的时候

在JavaScript面向对象编程中使用继承(3) 264 原型继承法一样有它的缺点,仅适用于基类没有属性的情形,而优点也是相当明显:保持了子类构造函数的完整,可以不在里面添加任何和继承有关的代码,所有继承和重载操作都由对原型(prototype)的操作来完成

在JavaScript面向对象编程中使用继承(4) 267 本文介绍实例继承法,此种方法没有太经典的应用场景,不过对于基类比较复杂,而子类需要添加的属性方法很少,实例法还是显得挺清晰的。特别是对于Javacript对象动态扩展很熟悉的人,就更觉得明确了

在JavaScript面向对象编程中使用继承(5) 269 附加继承法,此方法由本系列作者独创,解决了上面3种经典继承方式的很多问题,使用起来异常强大,就像作者所说,适用场景为anywhere, anytime, anybody

挣脱浏览器的束缚(1)——前言 273 工欲善,必先利其器

挣脱浏览器的束缚(2)——别让脚本引入坏了事 276 Web应用中需要的脚本越来越多,传统的脚本引入方式已经越来越无法适应这种变化,在本篇中,老赵带我们一起看看如何完美解决脚本引入的问题

挣脱浏览器的束缚(3)——两个连接还不够“并行” 281 浏览器很傻,但是我们很聪明,于是,就有了突破浏览器双连接限制的方法

挣脱浏览器的束缚(4)——王道!动态添加script元素 285 突破双连接限制解决了一个很大的问题,但依然有更多的问题需要解决。动态添加script元素也同样有着很多的麻烦和问题,但这并不妨碍它成为“王道”,且听老赵慢慢道来

挣脱浏览器的束缚(5)——哭笑不得的IE Bug 289 在IE中,如果同时建立两个以上“连接状态”的连接,那么就很不幸地出现了问题:浏览器停止响应了!不过还好,浏览器很傻,JavaScript也很傻,我们可以很容易地骗过去

书籍下载

免费下载 密码:2bu9

正版书籍

Web标准之道 博客园精华集