overflow 触发IE7的hasLayout不能触发IE6的hasLayout

本文通过HTML、CSS和JavaScript代码演示了如何使用hasLayout属性,并比较了IE6、IE7和IE8在处理该属性时的不同表现。重点突出了hasLayout属性在IE浏览器中的作用及其在跨浏览器开发中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 overflow 能触发IE7的hasLayout 不能触发IE6的hasLayout

 

测试一下

<!DOCTYPE HTML>
<html>
  <head>
    <title>hasLayout属性</title>
    <meta http-equiv="content-type" content="text/html; charset=GB18030">
  	<style type="text/css">
  		div{border:1px solid red;}
  		.hasLayout{overflow:auto;border:1px solid green;}
  		.log{margin-top:10px;border:1px solid #5EAFDE;height:200px;width:300px;}
  	</style>
  </head>
  
  <body>
    <div class="hasLayout" id="a">
    	a
    </div>
    <div id="b">
    	b
    </div>
    <div id="log" class="log">
    </div>
    <script type="text/javascript">
    	var a = document.getElementById("a");
    	var b = document.getElementById("b");
    	//a.currentStyle.hasLayout属性显示该元素是否拥有布局    	
    	var a_hasLayout = a.currentStyle.hasLayout;
    	var b_hasLayout = b.currentStyle.hasLayout;
    	document.getElementById("log").innerHTML = "a.hasLayout:"+a_hasLayout+"\nb.hasLayout:"+b_hasLayout+
    		"\na.clientWidth:"+a.clientWidth+"  a.clientHeight:"+a.clientHeight+"\nb.clientWidth:"+b.clientWidth+"  b.clientHeight:"+b.clientHeight;
    </script>
  </body>
</html>

 

下面是IE6/7/8对比



 

 
 

说明:
 1、元素的currentStyle.hasLayout属性显示该元素是否拥有布局

2、IE6/7中假如元素没有拥有布局,他们的clientWidth和clientHeight始终为0,编程的时候需要注意

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值