Tuesday, 8. August 2006, 07:05:22
Internet Explorer
稍有网页制作常识的人都知道,当把页面布局都塞到一个大表格里,在IE下会显示很慢。具体表现就是页面会经过一段时间的延迟,然后内容突然一下子“蹦”出来,在网速比较慢的情况下这个问题尤其明显,所以为了照顾网速慢的IE用户一般应该避免用一个大表格制作布局,改用多个表格来制作页面不同的内容区域。
使用WEB标准制作网页的好处之一就是网页显示速度加快了,为什么加快了?不用table布局,代码少,也没有前面描述的问题了——这是我以前的理解。但经过测试发现并不是这样的。问题就出在很多人喜欢用来控制整体布局的#wrapper上,#wrapper一般罩在所有内容区域的最上部,其作用很像前面所说的大表格布局,而IE也正是按照大表格布局的方式来渲染页面的。
这里举两个比较典型的例子:
opera.com和
alistapart.com其中Opera主页就是典型的先空白页面下载数据然后一次性全部显示出来,alistapart则是分别显示页面的不同区域。2个网站布局的区别就是一个用了wrapper一个没用。
OK,现在问题基本上叙述清楚了,这个问题之前没有人提可能是因为宽带的普及吧。
wrapper是一个好东西,很多布局没有wrapper不好做甚至不能做,但如果你的网站需要考虑慢速网络用户的话建议还是尽量少用wrapper。
再次强调,此问题仅存在于IE浏览器上,其他非IE内核浏览器没有这个问题,归根结底还是IE这个垃圾浏览器在作怪。
Thursday, 18. May 2006, 02:24:20
Internet Explorer
Wednesday, 26. April 2006, 14:04:20
Internet Explorer
今天看到了
andy 的
学习网页标准不是为了打倒IE 一文,作为IE的“痛恨者”之一自然要回复一下。
显然,IE作为微软公司的垄断产品之一是几乎不可能被打倒的,作为一个网页开发者,骂IE只是对其给我工作带来麻烦的一种发泄方式以及表明我的态度和立场。
在我的理解中,WEB标准给网页开发者带来的好处主要就是提高效率,节约开发成本。
WEB标准组织 成立的初衷也是如此。毫无疑问,现在IE就是最大的绊脚石,很多时候原本简单的事情因为照顾IE反而变得复杂了,而彻底解决此问题的日子现在看又是那么的遥遥无期。
浏览器的容错性高的确能在某些时候提高开发者的效率,但从长远讲却是非常不利的,这会使开发者养成很多不良习惯,所以我不认为容错性高能算是一个浏览器的“优点”。而我认为IE并非是“兼容性好”,Opera和Fx也不是“兼容性不好”,大部分问题的发生主要是由于开发者主要或只拿IE调试页面造成的,那本来就是只针对IE开发的网页。
群众永远是盲目的,左右他们的是习惯。很多人使用IE仅仅是因为它被捆绑在Windows里,随手可用,甚至有的人提到“浏览器”这个词脑子只有IE。以IE作为“标准”来评价其他浏览器是不公平和荒唐的,这没有任何参考价值,也不能证明什么。综上所述,包括IE7在内,IE系列产品目前已经没有任何技术优势可言。我不认为用户多的产品就一定不是糟糕的产品,也不认为用激烈言辞指责这个糟糕的产品是偏激的行为。垄断带来的是不思进取——微软和IE证明了这句话的正确性。
我仍然会继续踩IE,直到IE能做到Opera和Fx的地步为止。
Thursday, 20. April 2006, 15:23:43
Internet Explorer
当你想使用一个3列均为相对宽度,总宽度为100%的流动布局时,请注意,IE也许会给你开一个大玩笑,看下面的代码:
<style type="text/css">* {
margin:0;
padding:0;
}
.div1 {
float:left;
width:15%;
background:red;
}
.div2 {
float:left;
width:70%;
background:#00FFCC;
}
</style>
<div class="div1">此处显示 class "div1" 的内容</div>
<div class="div2">此处显示 class "div2" 的内容</div>
<div class="div1">此处显示 class "div1" 的内容</div>
请把分辨率调至1024*768,然后打开IE最大化窗口后看这段代码的显示效果。
不出意外的话,第三列应该跑到下面去了。如果拖动窗口改变窗口大小的话,会看到3列有时可以并列有时不可以,显然这是IE的宽度计算不够精确导致的。
结论:
I hate IE forver.
Thursday, 9. February 2006, 09:06:46
Internet Explorer
感谢End.13.ss提供
Friday, 23. December 2005, 09:18:00
Internet Explorer
http://www.w3cn.org/article/translate/2005/104.html阿捷的这篇文章介绍了一些CSS的技巧(hacks),其中谈到了从IE 5.0开始加入的条件注释(conditional comments),这里对这个技巧做一些补充
示例:
<!--[if IE]>仅IE可见<![endif]-->
这段代码只有IE识别,对于其他浏览器是不可见的,这样我们很方便地针对IE书写不同的样式表。但是IE不同的版本渲染CSS仍然有区别,有时候我们还需要针对不同版本的IE书写不同的样式表,而且即将完成的IE7会修正以往的一些问题,但它同样识别上面的条件注释,这样的话仅仅上面那种条件判断注释是不够用的,为了避免“撞车”,这里比较全面的介绍一下IE的条件注释。
将以下语法加在"IE"前,在"IE"后加上具体的版本号,注意,如果写成"IE 5"则表示为IE5到IE6之间的所有版本的IE5系列,如果写成"5.0"则包括5.0、5.01等版本,不包括5.5,以此类推。
gt:greater than,选择条件版本以上版本,不包含条件版本
lt:less than,选择条件版本以下版本,不包含条件版本
gte:greater than or equal,选择条件版本以上版本,包含条件版本
lte:less than or equal,选择条件版本以下版本,包含条件版本
!:选择条件版本以外所有版本,无论高低
例如,如果我们要选择IE 5.01,那么可以写成:"IE 5.0"、"lte IE 5.0" 、"!gt IE 5.0"、"lt IE 5.5000"、"!gte IE 5.5000"
推荐
<!--[if IE 5.0]>仅IE 5.0可见<![endif]-->
如果我们要选择IE 5.5、6.0和7.0,那么可以写成: "!IE 5.0"、"!lte IE 5.0"、"gt IE 5.0"、"!lt IE 5.5000"、"gte IE 5.5000"
推荐
<!--[if !IE 5.0]>仅IE 5.5、6.0和7.0可见<![endif]-->
如果我们只想选择IE 5.5
<!--[if IE 5.5000]>仅IE 5.5可见<![endif]-->
以此类推。更多的见
http://positioniseverything.net/articles/multiIE.htmlhttp://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/overview/ccomment_ovw.asp判断你的IE版本和各种条件注释写法的测试
http://positioniseverything.net/articles/sidepages/cond_1.html注意,可能有很多朋友系统上是IE 6.0,又下载了绿色版IE 5.0和5.5,这样的话这种条件判断就失效了,因为IE的版本信息在注册表里。即使你运行了IE 5.0,它的版本仍然显示为6.0,只是渲染引擎变成5.0而已。下载一个能更改IE版本的工具可能有效(比如优化大师),但我还没试过


Friday, 4. November 2005, 05:36:37
Internet Explorer, Opera, Firefox
- 先看这个测试页
- http://my.opera.com/tifa/homes/files/table_print.html
- 这是一个有thead、tfoot、tbody元素和打印分页样式的表格。。
- 英文稍好的可以看W3C的这段文档:
- http://www.w3.org/TR/REC-html40/struct/tables.html#edef-THEAD
- 摘要:
Table rows may be grouped into a table head, table foot, and one or more table body sections, using the THEAD, TFOOT and TBODY elements, respectively. This division enables user agents to support scrolling of table bodies independently of the table head and foot. When long tables are printed, the table head and foot information may be repeated on each page that contains table data.
简单来说,根据W3C HTML 4.0的规范,thead和tfoot是表头和表脚,它们始终出现在表格内容的头尾部。当一个很长的表格需要分页打印时,表头和表脚应该始终出现在每一页表格的头尾部。
现在我测试一下3种浏览器(Microsoft Internet Explorer、Opera、Mozilla Firefox)对这个规范的遵守程度:
在通常模式下浏览,三种浏览器几乎没有分别,它们都遵守了thead和tfoot始终在表格头尾的规范。但当我试图打印这个表格时问题出现了。
- 当一个表格很长,必须要分页显示时,Opera的表尾显示非常奇怪,显然这是一个BUG。
- 不论你是否加上强制分页的样式(page-break-after:always;),IE和Opera都没有遵守表头和表脚出现在所有分页表格头尾部的规定。而是直接把表格从中截断,头尾分别在第一页和最后一页。
- Firefox必须在要分页的位置加上分页的样式头尾才会出现在下一页,否则除了第一页和最后一页,其他页面都只能显示表头,如果仔细观察尾部,会发现表尾其实是被“隐藏”了,只能看到字的一小部分。BUG?
- Opera居然不支持打印时的分页属性(page-break-after:always;),这让我大跌眼镜。要知道,这个东西就连古老的IE5都支持。
- 当用CSS设定边框合并的时候(border-collapse:collapse;)除第一页外所有分页表格的最上方都缺少了一个边框,显然这个边框被截断到了上一页,这个问题三个浏览器同时存在。虽然符合标准,但我认为这是浏览器不够智能,测试时也不够细心所致。
- Opera不支持打印时的颜色定义,原本红色的字变成了黑色,见前面的截图。
结论就是,三种浏览器都不尽如人意,Firefox相对表现最好,基本实现了W3C标准,IE除了没有实现thead和tfoot外表现也算正常,Opera的表现最差。