Archive for October 2004

No news may be good news

噢不,Firefox 1.0 RC1 发布了,这个版本主要是大量的 Bug fixs。

近来的确乏味得可以,我把 FeedDemon 翻过来倒过去地更新了十七八遍,愣是没出什么有一点 blog 价值的新闻,所以 Web4C 也只好空着,但或许我们正好有机会谈谈我在这个 blog 中关注的是什么,以及为什么。

事实上我发现自己很容易为重复的东西感到厌倦,在 Web 开发与设计方面就是如此,我关注标记语言的进展,像 XHTML、XML 和 XSL 相关的内容,我都很有兴趣并一项项自己实验过,但也仅限于实验,如果把这些东西变为日常的工作,那我保证会疯掉,没错,我就是这么想的,一个人若要一辈子活在尖括号之间,那真是太悲惨了。

我以同样的热情关注 CSS,我喜欢各式各样的 CSS 布局技术——这正是翻译《为何使用表格排版是不明智的》的初衷——和各式各样的 CSS Tab、下拉菜单、图片替换技术、div、语义化、结构化……等等等等,但如果要我不停地、反复地提到这些东西,比如说反复地解释 Web 标准是多么的好,CSS 比 Table 的优势在哪里,XHTML 究竟比 HTML 好在哪里,语义化和结构化的发展方向为什么是好的,DOM + ECMA Script 比之各个厂商各自支持的 Javascript 好在哪里……我会感到不可忍受,没错,这些东西是很有必要说,但若说得太多了的,不仅我会厌倦,读者也会烦的。

简而言之,Web4C 的精神——如果有的话——在于热爱变化、拥抱变化,同时尊重实用,我讨厌不切实际的说教:技术好不好,不是说出来的,而是用户证明的。一切变化的、实在的、有趣的东西,正是这个 blog 动力的源泉。

另外我还比较偏好自由的、开放的技术,对那些大公司的什么软件不大感兴趣,这或许是个人恶趣味吧。

下面可以谈谈我这里的资料主要来自何处,或者说,我自己日常阅读的是哪些网站和 blog。

总体而言,主要的信息都可以从 FeedDemon 的 Web Authoring 这个频道得到,除了一些必要的补充以外,如果想看看,你可以在这里 找到我的这个频道群组的 OPML,把它导入到你的 FeedDemon 中即可。

让我们看看日常访问的几个站点吧:A List Apart 的几位编辑都在各自的忙碌中,很久没有出版新一期了;CSSVault 近来提到的几篇文章在 Web4C 都引用了,Digital Web Magazine 的技术性一直不强,可能与它主要面向的是设计师有关,其内容一般没有在 Web4C 上引用的价值;dive into mark 呢?Mark 说:It’s time for me to find a new hobby. Preferably one that doesn’t involve angle brackets. Or computers. Or electricity. 大概这也正是我的想法。

Zeldman 大概像 popo 一样,正在忙着给新出生的女儿洗尿布,所以近来我们见不到他的观点,Eric Meyer 则在调教他的 S5 - 简单的、支持标准的、兼容大部分浏览器的 Presentation 制作工具,刚刚发布了 1.0 版本,Web4C 也提到过了。

Web Essential 04 会议之后,Dave SheaDoug Bowman 这些设计师们都比较安静 (不过 CSS Zen Garden 一直在更新),而 WE04 的主办者 Russ 最近倒是贴出了一个叫做 A quick and dirty introduction to accessibility 的演示。

再看看浏览器的状况,Firefox 的 1.0RC1 似乎没有如期推出,我常关注的是其开发者 Ben Goodger 的 Blog。另外,原 IE5Mac layout 引擎的主要开发者,现在在 Technorati 的 Tantek Celik 的 blog 也值得常去,Safari 开发者 Dave Hyatt 和 Opera 开发者 Hixie 的 Blog 同样是不错的地方,可惜这两位都很少更新。还有 Mozilla 开发者 David Baron 的主页,有一些很有深度的见解,建议看看。

说到网站,不可错过的——如果你还没去过——是 Russ 的 Maxdesign;一个捷克语与英语混合的网站 Wellstyled,和 Paul Peter-Koch 的 QuirksMode

CSS Negotiation

leftjustfied.net 给出了一篇介绍如何使 CSS 正常工作,节省你调试时间的文章:CSS Negotiation and a Sanity Saving Shortcut,其中的一些方法值得推荐。

首先,考虑到大量问题源自不同浏览器下默认的 margin 和 padding 的设置不同,作者建议干脆先把所有的 margin/padding 清零:

* {
  padding:0;
  margin:0;
}

第二,给 IE 设置特殊的样式表,可以使用下面 IE 专用的条件判断功能:

<!--[if IE] >
<link rel=”stylesheet” href=” IE.css” media=”screen” />
< ![endif]– >

或者在 CSS 中使用 Tantek 发明的 band pass filter:

/* IE5 */
@media tty {
i{content:"";/*" "*/}};
@import 'ie5.css'; {;}/*";}
}/* */
/* IE 5.5 */
@media tty {
i{content:"";/*" "*/}}@m;
@import 'ie55.css'; /*";}
}/* */

更新:Andrew 在 Global White Space Reset 里主要说明了第一条规则的用途,你可以看看重新定义规则后的测试页面

NVU: New WYSIWYG XHTML Editor

nvu 是一个基于 Mozilla 技术 (没错,就像 Firefox、Thunderbird 和 Sunbird 它们那样) 构建的,符合标准的,可以在许多平台下使用的,所见即所得的 (X)HTML 编辑器,刚刚发布了 0.50 版本。我尝试了一会儿,界面和功能都感觉很不错,中文支持也没什么问题。

现在赶紧试试吧!

Flash Embedding

deconcept 有一篇关于支持 Web 标准的 Flash 检测及嵌入的文章。这种新方法支持:

  • 能够检测用户代理的 Flash Player 版本,显示相应的内容
  • 可以显示几种替换内容:纯文本 (HTML),重定向、或者是图片。
  • 应该符合 XHTML 1.0 transitional 及以上
  • 支持所有 Flash 嵌入的参数和变量 (通过 Flashvars 参数)。
  • 非技术性的设计师们也容易掌握

看起来值得一试,哪位朋友尝试过的话,不妨写点意见。

Styling Forms

456 BEREA STREET 给出了一篇介绍如何给表单控件设置 CSS 样式的文章:Styling even more form controls,很详细地叙述了在不同平台下不同的效果。

W3C - 10 years

没错,W3C 引领整个 Web 标准,已经十年了,他们将在 11.1 在波士顿举行庆祝。在这里留下你祝愿的话语吧。

The Zen of CSS Design

CSS Zen Garden 的主人 Dave,和 CSS: Designer’s Edge 的作者 Molly 正在合力打造一本叫做《The Zen of CSS Design》的新书,这本书由 Shaun Inman 担任技术编辑,将在明年一月出版。Dave 和 Molly 都在各自的 blog 里对此作了介绍。

这本书将从 Zen Garden 的设计中找出 36 份,逐一地分重点剖析——Eric Meyer 在 More Eric On CSS 里的那一份就已经足够叫人激动的了,还有什么比 36 份更酷的事?

而全书的组织,将分为设计、布局、图像处理、字体、特效五个部分,以及一个尚未决定的问号部分。

这本书,我猜,应该是一本设计者自己写的设计中的思考,其中有设计的故事、设计的方法、设计的技巧,没错,重要的是,它正是为设计者写的。

Browser Test VS. Object Detection

广为使用的浏览器测试实际上是一种很不好的脚本编写方式——Peter-Paul Koch 告诉我们

所谓“浏览器测试”,是指在 JavaScript 脚本中通过 navigator.userAgent 来判断当前用户使用的是什么浏览器,并根据这个浏览器能够支持的情况提供相应的功能。乍一看似乎没有什么不妥,但 Peter 给出了为什么永远不要使用浏览器测试的原因:

  1. 它很有可能忽略了你没有注意到的浏览器,比如新出现的,或者特别罕见的。
  2. userAgent 这个属性在浏览器里多数是可以修改的,用户可能会把它定制为一些其他的。
  3. 有些浏览器,只有在特定平台下支持某种属性,或者只在特定平台下不支持,这些情况浏览器测试都不好用。

那么检测 JavaScript 的版本如何呢?也不行,因为许多浏览器对同一个版本的支持是不一致的,比如 Netscape 4 和 IE 4 都声称支持 JavaScript 1.2,但你真的相信他们支持的是同一个 1.2 么?

对象检测才是正确的方法。要知道一个浏览器是否支持 document.images 对象,只需要:if (document.images) 即可。而要知道 window 对象是否支持 focus() 函数,if (window.focus) 就可以判断了,但千万不要写成 if (window.focus()) 哦,那可是调用那个函数了。

Peter 还给出了其他的一些判断规则。

  • 如何判断是否支持 DHTML?if (document.getElementById || document.all || document.layers)
  • 如何判断是否支持 W3C DOM?if (document.getElementById && document.createElement)

另外,Peter 的网站 QuirksMode.org 实在是一个学习 JavaScript 和 DOM 的绝佳站点,如果你希望学习 DOM/脚本编程,建议从那里起步。

CSS Centering 101

Dan Cederholm 在 SimpleBits 给出了用 CSS 使固定布局居中的详细解答,不要错过。

XHTML Sliding Tools

Eric Meyer 设计的 XHTML 幻灯片制作套件: S5 已经进入了 Final Candidate

这是 Eric 新近设计的一套用 XHTML 书写内容,用 CSS 控制外观,通过 DOM 脚本控制页面的切换与步进等功能的,完全符合 Web 标准的幻灯片设计工具。尽管先前有许多设计师们 (比如在新近召开的 WE04,我们就看到了 Doug Bowman 和 Dave Shea 的 presentation) 都做过类似的尝试,但通常他们只为了在一个浏览器下使用,也往往有一些亲和力的问题。

Eric 的这次尝试,就是希望能将它较好的用于各个浏览器上,包括 Mozilla、IE、Opera,同时保证与标准良好的结合及不妨碍亲和力。

最近与之类似的东东,还有这个,也可以看看。