IE6 Bugs(一)

本文探讨了在IE6浏览器中遇到的非hasLayout盒模型下的浮动布局问题,并提供了解决方案。通过设置元素的hasLayout属性为true或添加zoom属性,可以避免因一边浮动导致另一边内容消失的问题。

 一、页面例子

  1. /*CSS id选择器*/   
  2. #main {
  3.     background:#ffcc99;
  4. }
  5. #float {
  6.     background:#dff191;
  7.     float:left;/*决定页面上的文字应该靠至元素的左边或右边,或不使用环绕*/
  8.     height:200px;
  9.     width:200px;
  10. }
  11. #clear {
  12.     background:#88c2e3;
  13.     clear:both;/*决定是否允许其他元素显示在其上面*/
  14. }

二、分析解决

  • 在一个非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

四、修改后的源码

  1. /*CSS id选择器*/   
  2. #main {
  3.     background:#ffcc99;
  4.     zoom:1;/*决定元素的缩小与放大*/
  5. }
  6. #float {
  7.     background:#dff191;
  8.     float:left;/*决定页面上的文字应该靠至元素的左边或右边,或不使用环绕*/
  9.     height:200px;
  10.     width:200px;
  11. }
  12. #clear {
  13.     background:#88c2e3;
  14.     clear:both;/*决定是否允许其他元素显示在其上面*/
  15. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值