michaellee23

做这个网页一是为了自己练习一下,希望不要被黑,各位手下留情。二就是为了展示一下我的设计作品,大家见笑了。还放了一些网页技术等相关的文章,在这里和大家分享。
如果要联系我,可以给我发邮件:
mickl123#sohu.com
将“#”替换为“@”。
网页设计制作可以找我。:)

ie8背景不能半透明

ie8背景不能半透明,不能识别filter:alpha(opacity=70);-moz-opacity:0.7;opacity: 0.7;等一系列半透明的css样式设置。

这几天做个效果,需要半透明效果,结果发现firefox,ie7,ie6,google chrome都可以实现半透明效果,就是ie8不能实现半透明效果。觉得很奇怪,就上开心网试了试,发现在ie8下可以实现半透明,比如在“朋友买卖”里的“讨好主人”或“争车位”里,当弹出对话框(lightbox效果)的时候,背景色都是半透明的。

在网上看说是ie8的安全级别造成的,但我没按那个弄。

最后鼓捣了好几天,冥思苦相,不停测试,发现当页面内容让页面很长的时候就不能实现背景半透明小。由于时间问题,我暂时还没想具体怎么避免这个问题。以后想出来了再继续写。

经过测试发现,在ie8下,如果半透明的背景层(用jQuery控制高度等于$(document).height())高度大于4096px的时候就不会有半透明效果。而且在ie6下,用JQuery的height()方法设置div高度的话会比设置的值高出4px。

我的解决方法就是先获得整个文档的高度和宽度,宽度一般不会超过4096px,然后用高度除以4092,这个主要是为了ie6准备的,省得高度超4px,而且如果比4096px再小一点,对于ie8来说不是更好吗,刚才说整个高度除以4092,求出整数和余数,然后用JQuery的clone()方法,然后把最后一个div的高度设置成刚才求出来的余数,每个div的offset.top等于上一个div的offset.top+height()。

不知道大家看明白没有,本人语言表达能力比较差。。。

这个是我用这个方法的页面。日期:2010-4-25,没准以后页面会改。

http://mishu.taokuaixun.com/public/help.html

日期:2010-7-15,头两天发现4096px高度在ie8下还是有问题,还是不透明的,弄了半天,发现在拼接几个背景块的时候,可能是由于页面内容还没玩去爱加载完的原因,有时候会有1个像素的错位,比如重叠,或没连接上有个空,最后半透明的问题是我把每块的div高度改成了3932px。地址还是上面那个地址,大家可以看看在ie8下是否正常。

© 2009-2014 michaellee23.com. All rights reserved.

京ICP备13009010号