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

css之bfc与haslayout

# BFC与haslayout # ## bfc ## - bfc全称block-formatting-context块级格式上下文。 - 满足以下条件的元素可以生成上下文  ...
  • little_newBee
  • little_newBee
  • 2016年07月13日 09:53
  • 340

对IE的hasLayout属性的讲解和解决方案

解决IE兼容问题是比较头疼的问题,无论你是新入门的菜鸟还是久经考验的职业行家,兼容问题,特别是IE,IE6会让你非常头疼。很多时候,div CSS在IE下的解析十分奇怪,一个比较经典的bug就是设置b...
  • jason_renyu
  • jason_renyu
  • 2017年02月07日 17:58
  • 403

CSS 进阶篇

一、编写 CSS 注意事项1. 修饰选择器(尽量少用)能写.nav{}就尽量不要写ul.nav{}。过分修饰选择器将影响性能,影响 class 复用性,会增加选择器私有度。这些都应当竭力避免的。 如...
  • hanshileiai
  • hanshileiai
  • 2015年08月09日 22:16
  • 1421

dubbo进阶--基本概念

随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行。Dubbo就是其中一种分布式服务架构,在使用Dubbo之前,我们有必要了解一下Dubbo...
  • u013036278
  • u013036278
  • 2017年03月26日 10:55
  • 581

haslayout 以及怎样触发haslayout? 在什么情况下需要触发haslayout

给某元素 css 设定 zoom:1。使用 zoom:1 是因为大多数情况下,它能在不影响现有环境的条件下激发元素的 haslayout。而一旦问题消失,那基本上就可以判断是haslayout 的原因...
  • sunny327
  • sunny327
  • 2014年07月23日 22:12
  • 1283

css进阶学习

一、Css2 高阶知识(常用) 1. css 优先权 优先权(从低到高) 浏览器缺省设置 外部样式表 内部样式表(位于 标签内部) 内联样式(在 HTML 元素内部) 因此,内联样式(在 ...
  • Q1059081877Q
  • Q1059081877Q
  • 2015年08月11日 23:05
  • 802

htML+CSS3-》第4阶段:HTML5之CSS3进阶

第4阶段:HTML5之CSS3进阶 89前端开发基础视频-CSS盒模型的综述 盒子模型的概念     所谓盒子模型就是把HTML页面中的元素看作是一个矩形的盒子,也就是一个盛装内容的...
  • u014222687
  • u014222687
  • 2016年06月26日 21:19
  • 593

深刻理解hasLayout属性

解决IE兼容问题是比较头疼的问题,无论你是新入门的菜鸟还是久经考验的职业行家,兼容问题,特别是IE,IE6会让你非常头疼。很多时候,div CSS在IE下的解析十分奇怪,一个比较经典的bug就是设置b...
  • zxleezx
  • zxleezx
  • 2012年03月16日 21:59
  • 1145

CSS中的haslayout

作为一名web开发人员,最大的希望不是自己的水平有多高,而是希望浏览器厂家能够统一标准,相信任何一个只要是接触过web程序开发的人员都有那样的感受,就是浏览器之间的兼容性问题总是让我们的工作平添诸多的...
  • RanQi2016
  • RanQi2016
  • 2016年08月11日 11:27
  • 137

深度理解现代浏览器中的BFC和IE下的haslayout

预备小知识
  • woshinannan741
  • woshinannan741
  • 2016年04月10日 16:36
  • 2248
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CSS进阶2 : 历史上的 hasLayout 概念
举报原因:
原因补充:

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