`
zhangyaochun
  • 浏览: 2614004 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

关于haslayout

阅读更多

 简单记录,个人学习之用。部分资料来源互联网,部分引用链接在后面。

 

1、什么是haslayout

 

     haslayout是Windows IE渲染引擎的一个内部组成部分。在IE中,一个元素要么自己对自身的内容进行计算大小和组织,要么依赖与父元素来计算尺寸和组织内容。渲染引擎采用hasLayout的属性,属性值可以为true或者false。当一个元素的hasLayout属性值为true时,我们就说这个元素有一个布局(layout)

 

  •      当一个元素有一个布局时候,它负责对自己和可能的子孙元素进行尺寸计算和定位。一些元素默认会有一个布局。它的微软专有属性hasLayout被设为true。
  •      haslayout属性为只读属性
  •      并非所有的元素都默许有布局


2、如何激发haslayout?

我常用的是zoom但是w3c的validate是过不去啊。
  • display:inline-block
  • height(值设置为除auto以外的)
  • width(值设置为除auto以外)
  • float(left或者right)
  • position:absolute
  • writing-mode:tb-rl(如果你不属性这个可以查看我写的博客文章)
  • zoom(值设为为除normal以外的)
IE7还有部分额外的属性
  • min-height
  • max-height(值设为为除none以外的)
  • min-width
  • max-width(值设为为除none以外的)
  • overflow(值设为为除visible以外的)
  • overflow-x(值设为为除visible以外的)
  • overflow-y(值设为为除visible以外的)
  • position:fixed
补充一下
  •    对于一下内联元素或者设置display:inline的元素,在兼容模式的IE6下,内联元素会忽略width和height,所以设置了width或者height不能使元素用于layout。
  •    使用zoom:1可以在不影响现有环境的基础上激发元素的haslayout
  •    霍莉破解(Holly hack)----设定元素的高度为1%。但是当元素的overflow属性设置为visible的时候,这个方法就失效了。

 

 

 

 

 

 

 

 

 

 

 

部分资料扩展:

1、http://baike.baidu.com/view/2945869.htm

1
0
分享到:
评论

相关推荐

    也谈谈罪恶的Haslayout haslayout解决之道

    什么是Haslayout? 顾名思义,它的意思就是 — has layout,是IE下的特有属性,通过 IE Developer Toolbar 可以查看 IE 下 HTML元素是否拥有haslayout,在 IE Developer Toolbar 下,拥有 haslayout的元素,通常显示...

    CSS haslayout 彻底了解

    CSS的haslayout是一个只存在于Internet Explorer浏览器中的概念。它是IE渲染引擎的一个内部机制,用于控制元素的尺寸计算和布局定位。在IE中,元素要么自己计算大小并组织内容,要么依赖于父元素来执行这些任务。...

    详解IE浏览器的haslayout属性及相关兼容性问题解决

    不论是6、7还是8,它们都有一个共同的渲染标准haslayout,所以haslayout 是一个非常有必要彻底弄清除的概念。大多 数IE下的显示错误,就是源于它。 什么是Layout呢?"Layout" 是 IE 的一个私有属性,并不是W3C标准。...

    hasLayOut与css属性的关系介绍

    在前端开发领域,理解和掌握`hasLayOut`与CSS属性之间的关系对于优化网页性能和布局至关重要。`hasLayOut`是微软IE浏览器(Internet Explorer)中的一个概念,虽然现代浏览器不再直接使用这个术语,但其核心理念已经...

    在IE浏览器下出发CSS的haslayout属性

    在IE浏览器中,CSS的`haslayout`属性是一个独特的概念,它是Windows Internet Explorer渲染引擎的内部机制,主要用于控制元素的尺寸和定位。由于IE浏览器在处理页面布局时存在一些与众不同的行为,`haslayout`成为了...

    hasLayout引发的CSS Bug表

    本文将详细探讨由IE浏览器特有的hasLayout属性引发的CSS Bug表,涉及的知识点包括hasLayout的定义、特点、触发条件以及具体的Bug案例和解决方案。为了便于理解,我们将分几个部分阐述这些知识点。 首先,hasLayout...

    深入解析IE浏览器专有的CSS属性hasLayout

    一.hasLayout 是什么?hasLayout 与 BFC 有很多相似之处,但 hasLayout 的概念会更容易理解。在 Internet Explorer 中,元素使用“布局”概念来控制尺寸和定位,分为拥有布局和没有布局两种情况,拥有布局的元素由它...

    CSS haslayout学习

    在学习CSS的过程中,尤其是涉及到IE浏览器的兼容性问题时,haslayout是一个不容忽视的概念。它是IE浏览器渲染引擎中一个重要的内部属性,这一概念主要存在于IE6及IE7版本中,并且对其他浏览器渲染方式几乎没有影响。...

    On having layout

    当某个元素触发了“hasLayout”,意味着该元素的行为将发生改变,包括但不限于内容显示方式、与其他元素的关系以及对用户事件的响应等。 ##### 触发“hasLayout”的条件 - **默认具有“hasLayout”的元素**:某些...

    margin-left和right失效(斯芬克斯)之谜

    通过阅读更多关于`hasLayout`的文章,如"On having layout"等,可以帮助更全面地理解其背后的原理和触发条件。 #### 五、总结 对于`margin-left`和`margin-right`失效的问题,主要原因是由于IE浏览器中的`...

    前端标准在各浏览器中的差异

    - **`hasLayout`** 是Internet Explorer独有的概念,它决定了元素如何对其内容进行定位和尺寸计算,以及与其他元素之间的关系和相互作用。触发`hasLayout`的方法包括但不限于设置元素的`position`属性为非静态、指定...

    H5面试汇总(含答案)最新版).docx

    可以通过设置 CSS 尺寸属性(width/height)等来激发元素的 hasLayout,使其“拥有布局”。 五、 图片格式的区别 常见的图片格式包括 jpg、gif、png-8、png-24 等。每种格式都有其特点和使用场景: * Gif 格式...

    HTML5面试题面试整理(含答案)最新版.docx

    HTML5是现代网页开发的核心,其面试题涵盖了各种技术细节,包括文档类型声明(DOCTYPE)、语义化标签、hasLayout属性、以及常见的图像格式的区别。下面是对这些知识点的详细解释: 1. **DOCTYPE的作用**: DOCTYPE...

    inline-block 前世今生1

    然而,关于其在不同浏览器中的兼容性和行为,尤其是在IE6和IE7中的表现,一直是开发者关注的焦点。 首先,我们需要澄清一个误区:IE6和IE7并非完全不支持display:inline-block。早在IE5.5,微软就已经引入了对这个...

Global site tag (gtag.js) - Google Analytics