为IE6捉虫的一个小技巧

按照设计稿做好了CSS,但是唯独在IE6里面有着意外的表现:左栏和中栏之间的宽度比设计中指定值要大。是什么原因呢?我一时没想明白。于是我根据经验把可能影响到宽度的那个div的背景色改为红色,这样一看就明显了:

CSS里的设定是{padding:0; margin: 7px 0 0 10px;},就是说上面留白7px,右和下不留,左边留白10px。根据经验,我怀疑是那个10px导致,于是为IE6单独写了ie6sux.css,并在里面补上{padding:0; margin: 7px -10px 0 10px;},在右边给出-10px作为补偿。问题解决。

分析:IE6对留白(margin)的处理与众不同,留白的宽度似乎没有受到总宽度的限制,因此导致了右边超长出来。这应该算是个加减法级别的bug了。好在IE6用户会逐步转移到IE7,以后应该不必受此bug讨扰。

论坛上图片的自动等比缩小

现在一张照片真的可以要多大有多大。特别感谢各DC制造厂家。

参考HTML Image Auto Resize, HTML图片大小自动调整

对于我的情况,帖子的css class是content,所以如下写即可:

.content img {
max-height:600px;
max-width
:600px;
width
:expression( (this.width > 600 && this.width > this.height) ? ‘600px’: this.width+’px’);
height
:expression( (this.height > 600 && this.height > this.width) ? ‘600px’: this.height+’px’);
}

其中max-height/max-weight是标准css元素,可以被遵循标准的各个浏览器支持,IE7也可以。expression是IE6的私家菜:)