一、页面例子
- /*CSS id选择器*/
- #main {
- background:#ffcc99;
- }
- #float {
- background:#dff191;
- float:left;/*决定页面上的文字应该靠至元素的左边或右边,或不使用环绕*/
- height:200px;
- width:200px;
- }
- #clear {
- background:#88c2e3;
- clear:both;/*决定是否允许其他元素显示在其上面*/
- }
二、分析解决
-
在一个非hasLayout的盒内,如果一边浮动,另一边的内容就会莫名其妙的消失
- 在IE6中运行后,发现“隐藏的文本”字样显示不出来
- 解决方法:1)使元素的hasLayout属性为true 2)去年#main选择器的背景元素
三、hasLayout属性
- 只读,仅限JavaScript代码使用的样式属性,用于指示元素是否具有版型
- 可用值:true或false
- 以下样式属性都可以赋予元素版型:diaplay(inline,block),height,float(left,right),position(absolute),width,writing-mode(tb-rl)以及zoom
- 在JavaScript中这样引用:element.currentStyle.hasLayout
四、修改后的源码
- /*CSS id选择器*/
- #main {
- background:#ffcc99;
- zoom:1;/*决定元素的缩小与放大*/
- }
- #float {
- background:#dff191;
- float:left;/*决定页面上的文字应该靠至元素的左边或右边,或不使用环绕*/
- height:200px;
- width:200px;
- }
- #clear {
- background:#88c2e3;
- clear:both;/*决定是否允许其他元素显示在其上面*/
- }
本文探讨了在IE6浏览器中遇到的非hasLayout盒模型下的浮动布局问题,并提供了解决方案。通过设置元素的hasLayout属性为true或添加zoom属性,可以避免因一边浮动导致另一边内容消失的问题。

2777

被折叠的 条评论
为什么被折叠?



