CSS进阶2 : 历史上的 hasLayout 概念

转载 2015年11月20日 19:40:42

IE6-7的显示引擎使用的是一个称为布局(layout)的内部概念,由于这个显示引擎自身存在很多的缺陷,直接导致了IE6-7的很多显示bug。当我们说一个元素“得到 layout”,或者说一个元素“拥有 layout” 的时候,我们的意思是指它的微软专有属性 hasLayout http://msdn.microsoft.com/worksh ... rties/haslayout.asp 为此被设为了 true 。IE6-7使用布局的概念来控制元素的尺寸和定位,那些拥有布局(have layout)的元素负责本身及其子元素的尺寸设置和定位。如果一个元素的 hasLayout 为false,那么它的尺寸和位置由最近拥有布局的祖先元素控制。

触发hasLayout的条件:

在 IE7 中,overflow 也变成了一个 layout 触发器:

  • overflow: hidden|scroll|auto ( 这个属性在IE之前版本中没有触发 layout 的功能。 )
     
  • overflow-x|-y: hidden|scroll|auto (CSS3 盒模型中的属性,尚未得到浏览器的广泛支持。他们在之前IE版本中同样没有触发 layout 的功能)
hasLayout更详细的解释请参见大名鼎鼎的 《On having layout》一文(英文原文:http://www.satzansatz.de/cssd/onhavinglayout.htm

相关文章推荐

连续数的公倍数 为什么1小时有60分钟,而不是100分钟呢?这是历史上的习惯导致。事实上,它是1至6的每个数字的倍数。即1,2,3,4,5,6都是可以除尽60。

/* 连续数的公倍数 为什么1小时有60分钟,而不是100分钟呢?这是历史上的习惯导致。 但也并非纯粹的偶然:60是个优秀的数字,它的因子比较多。 事实上,它是1至6的每个数字的倍数。即1,2,3,4...

CSS进阶1: 从头到尾了解清楚 浮动 的概念

浮动(float),一个我们即爱又恨的属性。爱,因为通过浮动,我们能很方便地布局; 恨,浮动之后遗留下来太多的问题需要解决,特别是IE6-7(以下无特殊说明均指 windows 平台的 IE浏览器)。...
  • izayl
  • izayl
  • 2015年11月20日 19:32
  • 223

历史上最伟大的12位程序员

  • 2015年07月31日 16:30
  • 2.59MB
  • 下载

历史上的那些女程序员

  • 2014年05月29日 14:06
  • 10.47MB
  • 下载

J2EE进阶之CSS 二

CSSCSS (Cascading Style Sheet)是层叠样式表.作用来定义网页的显示效果。简单一句话:CSS将网页内容和显示样式进行分离,提高了显示功能。 CSS的优点1:CSS可以更加精细...
  • onceing
  • onceing
  • 2017年04月26日 21:48
  • 994

历史上最全发翻页代码

  • 2011年11月24日 15:12
  • 81KB
  • 下载

[多图]历史上最著名的十二个失身少女

核心提示:案例一:不过如此——祝英台 梁祝可谓是中国历史上最凄美的爱情故事,因为它不是墓穴阴森森地合上 案例一:不过如此——祝英台 梁祝可谓是中国历史上最凄美的爱情故事,因为它不是墓穴阴...

历史上最强力的结束进程工具

  • 2017年10月04日 13:24
  • 104KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CSS进阶2 : 历史上的 hasLayout 概念
举报原因:
原因补充:

(最多只允许输入30个字)