menu

浏览器模式

关于浏览器模式,一直以来的理解是这样的:浏览器厂商出于那些老站点的向后兼容的目的,创建了两种模式。即标准模式(standards mode)和怪异模式(quirks mode)。在标准模式里,浏览器按照规范渲染页面,而在怪异模式里,浏览器以一种老式的或者是模拟老式浏览器的渲染方式表现页面。

这些并没有错,但是还不够全面和深入。当我回顾《CSS Mastery》的时候,也让我想起了很多渐渐淡忘的、并且也可能是无关紧要的其他碎片。
比如,两种模式最大的差异的例子就是IE盒模型的解释。IE如此,Opera 7也是如此。再比如,Mozilla和Safari的第三种“准标准模式(almost standards mode)”,只是在处理表格的方式上有些细微的差异,其他与标准模式无异。等等。

一直以来,确保DOCTYPE的正确也是非常重要的事。浏览器根据DOCTYPE是否存在以及是何种DOCTYPE来确定渲染方式。如果总结如表,应该是这个样子。

DOCTYPE MODE
XHML + 形式完整DOCTYPE 标准模式
HTML 4.01 + strict DTD 标准模式
DOCTYPE包含URL和transitional DTD 标准模式
DOCTYPE只包含transitional DTD 怪异模式
DOCTYPE不存在或形式不完整 怪异模式

这张由我根据《CSS Mastery》一书所列出的表并不怎么完整,Alastair Campbell有一个更加全面的关于IE浏览器模式和DOCTYPE的表格

另外一个可能有点过时的,是Eric Meyer关于DOCTYPE switching的表格。多年之后我再去看这个链接的时候,发觉它居然还在:)
而现在,我更喜欢看QuirksMode上的资料。

Read more... »

像猫一样生活

哀嚎着思考,那么,来像猫一样的生活吧!

虽然也很喜欢狗,但是渐渐发觉自己更喜欢猫。于是,在夏日前仅有的微风拂面里,怀揣着淡然的心和仅存的虚无缥缈的思绪,画了这只黑猫。

像猫一样的生活…like a black cat…

Read more... »

跨浏览器边框探索

虽然起了一个看似很牛逼的题目,但本文可以说完全是蛋疼的人的一种消遣~通常开发人员都有自己的放松方式。写文章用不了太久,倒是图材准备了老半天。谨以此文,让我们来消遣下各个浏览器对于边框的理解方式。

参与此次测试的浏览器包括windows下的几乎全部:ie6,ie7,ie8,ie9preview,chrome,firefox,safari,opera,seamonkey。各版本皆为网上下载的最新版。并且由于这次的测试里,IE678的表现一致,firefox和seamonkey又是裙带,所以合并作IE8和firefox。

Read more... »

10个糟糕的IE Bug及其修复

国外有很多优秀的文章可以用来学习,我决定花些时间翻译。我并不知道这篇文章有没有人翻译过,原文名 10 Awful IE Bugs and Fixes,我希望能有更多人能看到这些优秀的文章。外国人很幽默,所以我也就全文翻了。

———-以下为译文———-

我列举了10个常见的IE bug和解决方法。我相信这将能够帮助你减少调试IE布局不一致时花掉的时间。
作者:kevin

简介

在处理IE方面每个人都有他们自己的故事。作为一个开发者我不得不面对大量的IE的古里古怪的问题并且有的时候你只是想用头撞墙。但是随着时间的推移,我们慢慢吃一堑长一智(有些时候那不是我们的错,是IE的错!)并且开始接受和理解IE的怪异行为。我们不得不这样因为仍然有数量可观的IE6用户。最好的做法是一开始就不断的从不同的浏览器测试你的网站。从一开始就解决布局问题要比在数千行html和css代码之后容易的多。

Read more... »

再燃ACM

自大学时代在ZOJ上最后做了第7道ACM的题目之后,已经过了4年多的时间。现在想来那时真的不懂得如何放置自己的精力。
这次同事辞呈去浙大考研,这么一次偶然的机会,我们俩就跑到ZOJ上。我点开了那个几乎快被我忘记的帐号,记录里还是那七道题,真是令人怀念。

刚刚学C,指针都还搞不清楚的时候那会,记得即使是最简单的题目,都会出好几次Wrong Answer。举步维艰地做了7道题之后,心思就不知道去了哪里。之后虽然学了数据结构、算法,却再也没摸过ACM。直到现在,拾起模糊的C,打开Dev C++,那种 “好吧,让我们再来干掉一道题吧” 的感觉居然又涌了上来。

于是就开始从同事推荐的Beginner开始做起,练习基本的输入输出,偶尔拿几道AC率20%的题活动下似乎是快锈掉的头脑。尽管算法什么的真的早就已经不记得多少,但是和当年做完全是两样的感觉。

Read more... »