闲耘.博客

11 2009. 04

Javascript 裸奔日

由多名网友联名发起的Javascript裸奔日 (Javascript Naded Day)活动,欢迎有兴趣的朋友参加。


30 2009. 06

不要使用.clearfix类

经常见到这样的结构:

<ul class="menus clearfix">
    <li class="actived"><a href="#">Home</a></li>
    <li><a href="#">Links</a></li>
    <li><a href="#">About</a></li>
</ul>

并配合以类似这样的css定义(menus定义省略)1

.menus{/* ... */}
.clearfix:after{content:"\0020"; display:block; height:0; clear:both;}
.clearfix{zoom:1;}

这两段代码可以说都很简洁优雅、有语义、兼容性强,基本上都无可厚非,只是有一点:clearfix。

类似的clearfix定义和运用方式有很多,很多牛人都研究过,实现方式各有优缺点,上面举出的算是做的比较好的一个,但是即便样式定义本身完美无缺,仍有一个问题是:xhtml和css之间的耦合。我们提倡基于意识形态、语义化,而非表现形态的样式定义,定义.clearfix和定义.red一样糟糕。

这样的定义,在每个目前需要的xhtml标签上都要加上类似class="clearfix"这样的“冗余”代码,其实是否真的需要清除浮动,在于其子元素是否使用浮动。

对于“目前”使用(向左)浮动的菜单(menus)来说,清除浮动的定义,应该包含在menus中。

.menus{/* ... */}
.menus:after{content:"\0020"; display:block; height:0; clear:both;}
.nemus{zoom:1;}

不过这样解耦后的代码,会带来大量重复的.clearfix定义。

要么带耦合的重复使用.clearfix类,要么无耦合的重复定义多个clearfix实现。

是重复使用,还是重复定义,这是一个问题。什么时候css语法支持调用/包含就好了2

.menus{/* ... */ #include .clearfix;}

参考:

  1. 浮动元素容器的clearing问题
  2. Twitter

25 2009. 06

免费获得SSH权限,享受翻墙的童趣

本文将提供一种一劳永逸的翻墙方式(ssh -D),实施之后,那道墙——对你来说——将从此透明。

本文面向的用户:使用Windows作为操作系统并且使用Firefox作为常用浏览器。

第一步:免费获取拥有SSH权限的帐号和密码。

默认的免费获取方式:将本文转载到你自己的博客上,将转载后的文章网址发送到f.ckgfw#gmail.com

转载方式:拷贝文章代码至博客后台HTML编辑器中,直接发布即可,文章标题自拟,可在前后文插入自己的评论。

经过人工审核,你将收到一封附有五个拥有SSH权限的帐号和密码的电子邮件,你可以将它们赠与你信任的人。

更多获取方式将在今后陆续激活,请关注我们的最新更新:https://friendfeed.com/fuckgfw

继续阅读 »


20 2009. 06

电子邮件桌面客户端畅想

最近“谣言”四起,传说Gmail快要被GFW屏蔽了。我尽量不单以最坏的恶意来揣测这帮人,但是如今的中国正处于量变到质变的癫狂时期,什么事都有可能发生。中国已经没有新闻,即使有,也很可能是谎言。

由于这个荒谬的谣传也不乏可信度,尽管在有了Gmail这样优秀的邮件系统后我从来都不使用桌面邮件客户端,但这次不得不例外了,我要备份属于自己的邮件,由此便想到找一款优秀便利的邮件客户端。

现如今的邮件客户端市场也算是遍地奇葩,非常多的优秀产品可供选择,有微软的Outlook,腾讯的Foxmail,还有DreamMail,Yahoo最近推出的Zimbra,另外更有开源的ThunderbirdClaws Mail(基于GTK,传说支持标签和会话,未试用成功),还有及箩筐知名不知名的邮件客户端。

今天在公司初步试用了Thunderbird和Claws Mail,回家后又试用了Zimbra,加上以前用过的Outlook和Foxmail,也看过他人的评测,目前的感想是这几款客户端都很不错,Thunderbird, Outlook, Foxmail基本趋同,只是在性能和某些细节上有不同之处或强弱之分,不支持/不足够支持标签和会话;Claws Mail基于GTK,界面比较独特,从Google Images搜索的图片看来(可惜没欣赏到违禁图片),部分支持标签,也支持邮件会话,列表中以树形分支结构呈现,算是比较直观的,但跟Gmail比起来还是有差距;Zimbra支持的(彩色)标签功能很弱,支持会话但有许多错误,而且呈现方式并不直观,而且是基于客户端的网页版,安装了一堆东西,用着不算太舒心,也不太放心。

Zimbra-conversation

Zimbra-conversation

总之,目前仍未寻到一款真正让我心满意足的邮件客户端产品:友好支持邮件会话,支持(彩色)标签。Gmail offline如果也算是客户端的话,那这个比较靠谱,但是它目前还不是一款纯正独立的客户端,可以用来支持其他的邮件提供商。

p.s. 另外想到邮件备份格式问题,目前貌似还没有统一的标准,每一家邮件客户端生产商都各自为政,也没有注意到各种格式互转的工具。


13 2009. 06

班级说明书

[主函数]

他, 孕育于2002年全国普通高考,同年9月,出生在古都安阳一个偏僻而又智慧的角落,从此,他开始了他短暂而平凡的一生。

[组成原理]

他外貌平凡,全身共有60个不分割的肢体部分。成长过程中,由于生长的新陈代谢,由于发育的青春勃发,有时他剪了指甲,有时他长了痘痘。但他的身材依旧,没有长个,然而他的每部分肢体,每部分肢体的思想精神却都有了长足的发展进步。

[进程]

大部分肢体都能平衡发展,当然,有的偶然发生矛盾、产生冲突,也是难以避免的,好在自己的“矛”不肯刺向自己的“盾”,好在努力“冲”刺几次,总能“突”破防守。

[特点:缺点]

他唯一的毛病就是太“大男子主义”,阳刚气十足,阴柔面十分贫乏。这与古都安阳的“太极相通,阴阳相济”大为不协,实是可惜。又或者,又可能,这是我们新时代,新潮流,新新人类的创新与逆向思维吧。我反叛,我喜欢!

[特点:优点]

他,多才多艺,有书法天赋,有文学细胞,有音乐才能,有领袖气质,有经济头脑,有外语能力,有运动技能,有美术功底,是不折不扣的大才子、大强人。我对他的赞赏如滔滔江水,连绵不绝, 一发而不可收拾……..

[函数返回]

可惜,“天下无不散的筵席”,世间还没有不死的躯体, 三年,只短短的三年,普通人还没有长大,他却流星般逝去。
逝去,
也就升华。
他的灵魂,他的精神正走在海角天涯…………


这是我在大学(计算机应用专业)将毕业时,给班级做的主页上的“关于本班”(“话说我们班”)的文章。
陈年老货,供大家一笑 :D。

06 2009. 06

跨平台大一统 vs 原生平台

lifesonger详细对照了各主流浏览器后退操作后的表单数据状态,并提出跨平台让浏览器都保持行为一致的解决方法。我也有过这样的经历,埋头苦苦追寻跨平台,并让这些平台行为表现一致,但有时这只是自己一时兴起或临时偏好,这是用户真正需要的吗?

先就事论事。

作为一个默认浏览器为Firefox的用户,我下意识的知道,我的浏览器后退操作,以前一直是保留网页状态的(如表单数据,有些更先进的浏览器甚至可以记住最后的显示/隐藏区域,甚至是js的值。。。),而且多数情况下,我也期望保留/不丢失之前的数据数据,我相信许多Spammer也这样想 :D。如果某个网页突然强行违背了我的期望,这给我的印象会是非常糟糕,因为我辛苦写下的评论被丢失了。

这是用户的事情,让用户来决定行为。

对照桌面应用程序的跨平台,也经历过类似的历程,如Firefox2,Java AWT,在所有平台下都表现一致,但是这个一致性并没有真正给用户带来好的体验。普通用户是不会在多个操作系统下面对比这个应用程序是否完全一致的,他们只关心这是否符合操作系统的原生特性/使用习惯,Windows放在右上角的关闭按钮,Mac放在左上角,一个跨平台的应用应该怎么办才不至影响用户?

Windows Mac

Windows Mac

这也就是Firefox 3, Eclipse都使用各平台下的原生特性的原因之一。

话说回来,就后退这一功能本身的意义来说,我认为就应该回到页面最后的状态,包括css渲染,js操作,和表单的值,而可以不受网站设计者的控制,依此观点,再对照lifesonger的表格,发现被“忘记”的Opera9是做的最好的,依次是IE8, FF3, Chrome2,Safari则榜上无名。

lifesonger的功课是做的很好的,这个对照表及提出的特定解决方法也有它的价值。

另外扩展开来,一个跨平台网站的外观/特性,也应该和用户使用的浏览器,至少是操作系统的某些重要特性保持一致。那些模拟窗口关闭按钮所在的位置,要做自适应了。


04 2009. 06

20年前的今天

I REMEMBER!