欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

hasLayout与Block formatting contexts的学习(上)_html/css_WEB-ITnose

程序员文章站 2022-06-11 12:40:41
...

hasLayout与Block formatting contexts的学习

@(css BFC)[IE hasLayout|妙瞳]

hasLayout是什么?

haslayout 是Windows Internet Explorer渲染引擎的一个内部组成部分。在InternetExplorer中,一个元素要么自己对自身的内容进行计算大小和组织,要么依赖于父元素来计算尺寸和组织内容。为了调节这两个不同的概念,渲染引擎采用了 hasLayout 的属性,属性值可以为true或false。当一个元素的 hasLayout属性值为true时,我们说这个元素有一个布局(layout)。注意:hasLayout属性是微软特有的过时属性,在IE8、IE9中,hasLayout属性已经被废弃。下文中的InternetExplorer都是指IE7、IE6及以下版本。

当一个元素有一个布局时,它负责对自己和可能的子孙元素进行尺寸计算和定位。简单来说,这意味着这个元素需要花更多的代价来维护自身和里面的内容,而不是依赖于祖先元素来完成这些工作。因此,一些元素默认会有一个布局。当我们说一个元素“拥有layout”或“得到layout”,或者说一个元素“has layout” 的时候,我们的意思是指它的微软专有属性 hasLayout 被设为了 true。一个“layout元素”可以是一个默认就拥有 layout 的元素或者是一个通过设置某些 CSS 属性得到 layout的元素。通过 IE Developer Toolbar 可以查看 IE 下 HTML元素是否拥有haslayout,在 IE Developer Toolbar 下,拥有 haslayout的元素,通常显示为“haslayout = -1”。‘Layout’ 在 IE 中可以通过 hasLayout 属性来判断一个元素是否拥有 layout ,如 object.currentStyle.hasLayout 。

负责组织自身内容的元素将默认有一个布局,主要包括以下元素(不完全列表):

	, 	
, ,
, hasLayout与Block formatting contexts的学习(上)_html/css_WEB-ITnose
,

专题推荐

作者信息
hasLayout与Block formatting contexts的学习(上)_html/css_WEB-ITnose

认证0级讲师

推荐视频教程
  • hasLayout与Block formatting contexts的学习(上)_html/css_WEB-ITnosejavascript初级视频教程
  • hasLayout与Block formatting contexts的学习(上)_html/css_WEB-ITnosejquery 基础视频教程
  • 视频教程分类