Html
IE IFrame Transparent 透明
0用 Javascript 插入 IFrame 标签,在 Firefox、Chrome 等浏览器上,默认都是透明的,但 IE 有默认的白色背景。
本来,在 html 中写入 IFrame 标签,并加上 allowTransparent=”true” 这样的属性,IE 也一样可以透明,但今天的问题是必须用 Javascript 插入。
用 IE Developer ToolBar 测试,在 IFrame 的 src 页面的 body 样式上加上 backgroud:transparent 可以使 IFrame 透明。
但我们要用 Javascript,本域的 Javascript 脚本是没法设置跨域 IFrame 页面的,况且创建 IFrame 的时候还没设置 src,所以这个办法不行。
只能用个土办法,把 src 设置为一个绝对路径的 html 页面,这个页面你自己可以任意编辑,把 body 的样式设成透明即可。
注意,为了性能,只在 IE 浏览器下设置 src,Firefox 和 Chrome 都不用设置。
在这一点上,IE7 跟 IE6 一样弱,比现代浏览器差远了!
IE 盒模型
0很多网站在写HTML的时候,没有指定DTD,也就是没有设置DOCTYPE。
上学的时候,老师说,DreamWeaver 生成的页面,头部的DOCTYPE都是垃圾信息,应该直接写成<html>。
学院派真是误人子弟……
W3C标准是要制定DOCTYPE的,最显著的区别,我认为就是IE显示Div等元素时采用的盒模型问题。
也就是说,对margin、border等样式所占的面积,是算在Div内部还是外部?
在设定DOCTYPE之前和之后,显示方式是完全不同的。
可以在
http://leakon.googlecode.com/svn/trunk/leakon/html/ie_box/
看到源码。
通过设置dtd参数,可以看到在两种DOCTYPE下显示方式的不同。
但在Firefox等现代浏览器下,两种显示方式是一样的。
