一、目录介绍
第一部分 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也很傻,我们可以很容易地骗过去
��