续上篇。 第5章 关于列表,首先,由于list-style-image的位置各个浏览器实现的不一致,而且缩进使用padding或margin的不一致,所以本书后面的例子几乎完全抛弃了list-style,将padding和margin一律重置为0,然后从头重新定义。 BTW,关于列表缩进应该使用padding或者margin?我倾向于padding。理由另文撰述。 关于导航条,本书的例子有一个问题,就是需要对第一个li元素专设样式。对于支持CSS21的浏览器来说,使用一个first-child伪类即可,但是对于IE,需要额外的一个first类。有一些解决的方法,我之前也讨论过这个话题。 ...
续上篇。 第4章 本章讨论了链接上的样式。 关于A上伪类的顺序,应按照LoVeHAte(Link Visited Hover Active)。 此外,关于链接伪类补充如下: 根据CSS21,link和visited伪类是互斥的,也就是*:link:visited不可能选择到任何元素。而hover、active与新增的focus伪类,可以共存于一个元素上。因此可以有以下的样式: a:link:hover { color:red; text-decoration:underline } a:visited:hover { color:maroon } a:link { color:bl ...
续上篇。 下面来看一下阴影。它可以用类似圆角border的方式达成。 1. 简单的CSS阴影和Clagnut阴影 实现:在外层wrapper上将阴影图设为背景。元素本身通过margin或者相对定位做向左上方的偏移(以展现右下方向的阴影)。 限制: * 阴影元素需要一个外层的wrapper元素。 2. 模糊阴影 实现:添加两层container,分别应用阴影图像和蒙板图像。 限制: * 需要两个外层元素 * 外层背景色是固定的(与蒙板颜色一致)。洋葱皮阴影无此问题。 注意,蒙板需要png的alpha透明特性,但是IE6不支持。书中给出了使用AlphaImageLoader的fil ...
续上篇。 第3章 这一章里展示了众多的trick。下面总结和补充一下方案实现和限制条件。 首先是针对永恒的话题:圆角框。 1. 固定宽度圆角框 实现:在外层元素(容器)上设定背景色和底部圆角图,在标题(内部第一个元素)上设定顶部圆角图。 限制: * 宽度是定值像素的。 * 必须有内外两层block元素,内外层要紧贴(即外层不能有padding,内层不能有margin和border)。 * 圆角背景色是固定的(如白色),不能是透明的。 2. 固定宽度圆角框的变形 实现:在外层元素(容器)上设定纵向重复(repeat-y)的背景图,在内部第一个元素上设定顶部圆角图,在内部最后一个元 ...
最近在作《精通CSS》读书笔记,写到第3章关于背景的时候,顺便补充一点关于background-position的问题。 CSS1和CSS2.1(依照目前浏览器普遍的实现方式)有差异。CSS1规范中,背景位置是content区域算起,而CSS2.1中是padding区域算起。实际上在CSS3的background module中,在已有的background-position、background-attachment和background-repeat之外,增加了几个background属性,来决定背景的定位,包括: background-origin: border | padding ...
刚才过去公司的同事电话来问我以前写的一些代码的事情。我问了一下,原来老总终于又忍不住出来讨论产品速度的问题,而要求下面再做优化。老总不知道的是,做web方面的主力,在过去半年里面已经走了两个,过去web前端代码的90%都是这两个人写的。 这个公司的产品是一个特殊的桌面软件,对业界或者对我较熟悉的都知道,我这里就不说名字了。客户端本身并不是基于浏览器的,而是delphi开发的。但是考虑到第三方应用开发的便利性,因而决定使用定制的browser作为其他应用的开发平台。目前所包含的定制浏览器使用的是微软的webbrowser控件。 从整个产品说,它其实是一个特殊的平台(容器),理想上,可以集成许 ...
续上篇。 第2章 box model译作“框模型”,我是始作俑者(大约在2003年,在opendl.com的w3c翻译讨论区中提出)。绝大多数是译作“盒模型”。当然据说之前就有人译为“框模型”,但是至少本书的译者估计或多或少受到了我的影响。因为刘江说译者认为“盒”有3D的意思,而这是我在opendl论坛提出的论点。当然不能排除译者与当时的我正好有相同想法的可能。 不过我后来觉得“框模型”也有点问题。在Zen of CSS Design(也已购买,等待读完本书后继续)的译者的论坛上,我留言到: 引用“方框模型”或“框模型”很久以前提过,只是因为感到“盒模型”不够好(有三维意思),但是“方框 ...
最近新添16本书,目前开始看陈剑瓯翻译的《精通CSS——高级Web标准解决方案》(Andy Budd, CSS Mastery -- Advanced Web Standards Solutions)。 以下是读书笔记。 首先,挺遗憾的是,除了封面上译者名字外,就完全看不到跟译者有关的东西,没有译者简介,没有译者序,没有后记……一点也没有(难道是我没找到?) 第1章 关于“有意义的标签”,这是css编程的前提。第4页上只是罗列了一些html标签,但是并没有详述他们的意义和用法。当然这是一本css的书,而不是html书,但是其实最好列一两本书做为读者的参考。 谈到id和class的命名 ...
2007-08-20

我的七夕礼物:16本书

关键字: css ajax 交互设计 sicp
女朋友今天帮我买了16本书作为七夕礼物。书单见:http://www.douban.com/do/hax/book/ 我打算在年底前看完其中的10本。我会先看CSS和Ajax的书,然后其他书,SICP先放进书架保存一下吧。
我在gfans.org的一篇文章后面留言。 原文和comments摘录如下: 原文: 不知道有没有朋友和我一样,喜欢用space来由上向下翻网页看,然后可能再用shift+space来向上翻网页看。如果使用了中文输入法,忘记了关掉中文输入法,那么shift+space就会失效。 我说: shift-space确实是冲突的。但是如果他们能做到在浏览器里识别当前是否在可输入状态(例如焦点在输入框中),就可以解决这个问题,即在不可输入状态时(例如焦点在body上),disable一些键如shift-space。 有人mail我建议我联系谷歌,把这个建议交上去。 不过实际上我是站着说话不腰 ...
  • 14:46
  • 浏览 (736)
  • 评论 (0)
在上一篇帖子中,我讨论了Peter提出的Lazy Function Definition Pattern,我指出了这个pattern并不能带来性能的提升,而所使用的closure也有可能造成内存泄漏。 当然内存泄露在任何closure中都可能存在。因此仅仅从不必要的使用closure加大了内存泄漏的风险这一点来说,说服力可能并不强。而且,在之后的回复中,FCKEditor的FredCK给出了一个不使用closure的改进方案。 但是我仍然觉得哪里不妥。 经过一些思考,我终于意识到关键的坏味道,其实就在于对函数变量的重新赋值。 我们知道纯FP是不带有副作用的,因此不可能允许函数名称与实际 ...
有这样一种新的JS pattern:Lazy Function Definition Pattern,realazy同志的翻译在此:http://realazy.org/blog/2007/08/16/lazy-function-definition-pattern/ 大体上,这个pattern就是在函数的第一次运行时重新定义自身,代码示意如下: var f = function () { ... // calculation if (condition == 1) { f = function () {...} } else if (condition == ...
本文源于http://ued.taobao.com/blog/2007/08/12/css-notes/的讨论。淘宝UED团队的小马对taobao的CSS编程原则描述如下: 小马 写道* 尽量不使用hack * 尽量不使用ie6不支持的选择符 能符合这两个条件的最简洁的写法,就是我们的目标。 由此展开,我论述了在CSS实践上的另一种思路。这是我自去年年中至今年4月在SNDA进行商城开发过程中对于前端web设计编程的思考和实践的首次书面整理。 如下: 对于taobao网站css的原则,我个人认为这两条原则是较为保守的,当然对于taobao这样的网站,采用比较保守的策略是很合情合理的。 我 ...
Taobao UED blog 上,刊载了段王爷的css日记一篇,我上去留言引起了一些讨论,记录于此。 段王爷的原文(摘录) 引用现在就来说个淘宝首页上的一个小技巧。 类目之间的横线 从很久很久以前开始,类目间的横线无非都只有三种。 1、背景图 在a标签设置一个padding 用宽1px高不等的背景图来position到右侧。 缺点:最后一个还是要用class来隐藏掉背景。 2、符号 在每个a标签之间用“|”符号来填充。 缺点:html文件变大,文件维护变得很麻烦,而且在html中毫无意义。 3、a标签右侧的boder。 同背景图 ...
Javaeye论坛又谈到红岗同志了:http://www.javaeye.com/topic/110484 我就去看了一下OperaMasks的网站,看到了红岗和张勇的《勇敢者的新世界》。以下是我的comment。 看了前面的历史回顾,写得不错,我本对后面的java web framework部分充满希望,不料,第4节居然就寥寥几句,java世界如此多的开源和商业的web framework,居然作者提都未提,只说了servlet/jsp和古老的struts,连ASP.NET的描述也比它多。难道作者认为所有的读者都还停留在2001年?我看读者没有“审美疲劳”,是作者“记忆疲劳”了。 我不 ...
hax
搜索本博客
存档
最新评论