IE hasLayout学习相关记录

1
 hasLayout的由来(简单理解):

在IE浏览器中,显示渲染引擎对元素的处理默认是每一个元素都应该有计算自身位置的功能,但是这样显而易见会引起性能问题,因此ie就折衷了一下,建立了一个叫hasLayout的属性来表示当前的元素是否进行自身位置计算;对于不需要进行自己进行计算布局和位置的元素,就依赖于块包含元素来进行计算;很明显这样就可以减少浏览器渲染时候的计算量,提高渲染速度;

2
hasLayout的特点:

这个属性有一些特点:

比如:单次触发性,即只要被触发了,就无法设置为false;

hasLayout就是一个css属性;

它没法直接通过css进行设置,而是间接进行设置的;比如可以设置zoom:1;等等(下面会有详细说明如何触发即令hasLayout:true;)

3
因为hasLayout属性的缺陷或者叫不兼容而引起的bug的一般表现特征:

·当前元素设置了浮动后(即脱离了文档流),后面的元素本应该往前占据位置,但是ie下表现出来的却浮动元素依然占位,给人一种没有浮动(脱离文档流)的错觉,这样的情况一般就是因为这个元素的hasLayout属性=true;导致这个元素重新计算了布局;

·高度塌陷问题,比如设置了浮动或者绝对定位的子元素,引起容器父元素的高度特显问题;(ps:这个问题我认为是不是应该认为子元素脱离了文档流的原因?跟hasLayout有个毛关系?)

4
怎么触发hasLayout属性为true?

首先有些元素本身的hasLayout等于true(即IE官方认为的这些元素本来就应该进行自己独立布局计算;)

html body table tr td th img hr input button select textarea fieldset legend iframe embed(这是个嘛东西?查查去···结论:html5的新标签,插入多种类型的资源,前提是浏览器支持这种类型的文件;)object(w3school原话:"object
的初衷是取代 img 和 applet 元素。不过由于漏洞以及缺乏浏览器支持,这一点并未实现。"尼玛,破玩意,不看了) applet(w3school原话:“HTML 4.01 中不赞成使用 <applet> 元素。”遗弃的东西,不看了) marqueen(文字滚动)

然后,通过简介属性触发hasLayout的又有哪些属性呢?

IE6:列表:display:inline-block;width除auto之外的任何合法值;position:absolute   float:left or right;(ps:怪不得float元素在ie6下依然占位呢,原来重新计算了布局;) zoom除normal或者空值之外的合法值都可以;(这个见得最多了,另:zoom是ie的私有属性,不兼容标准的;)

时间: 2024-11-14 19:51:29

IE hasLayout学习相关记录的相关文章

[Android学习笔记]理解焦点处理原理的相关记录

焦点处理相关记录 以下所涉及的焦点部分,只是按键移动部分,不明确包含Touch Focus部分 需解决问题 控件的下一个焦点是哪? 分析思路 当用户通过按键(遥控器等)触发焦点切换时,事件指令会通过底层进行一系列处理.在ViewRootImpl.java中有一个方法,deliverKeyEventPostIme(...),因为涉及到底层代码,所以没有详细的跟踪分析此方法的调用逻辑,根据网上的资料,按键相关的处理会经过此方法. private void deliverKeyEventPostIme

深入浅出安卓学习相关知识,如何从零学好移动开发

原文发表自我的个人主页,欢迎大家访问 http://purplesword.info/mobile-develop 由于近几年来互联网的飞速发展,安卓和iOS平台的大量普及推广,移动开发在当前是非常热门的一个方向. 有不少同学问我如何学习安卓,要学些什么,难不难学.之前一直没有想好应该怎么回答这个问题,只是简单的说安卓自身门槛不高,并不难学.因为我觉得准确回答一个类似这样的问题往往需要灵感.现在根据我的学习体验,做个大概的总结. 1.我为什么学安卓 我从刚开始接触安卓开发到现在也有两三年的时间了

学习工作记录五

学习工作记录 这是第八周.第七周的合在这里一起写了,主要就是考试,改论文,看spring相关内容.改论文该得心态有点崩. 一 . 文献阅读 没有阅读,主要是调研. 二 . 项目进展 1.环境配置成功,学习如何搭环境以及配置spring. 三 .工作内容 1.这周任务完成情况 任务 完成情况 备注 论文两篇 未完成 调研了许多论文,没细看 掌握spring 未完成 怎么可能完成,我怎么定这么脑残的目标 数值分析自学完成"插值"一章 未完成 进入新篇章了,我该加快进度了 <Acade

学习工作记录汇总

1.学习工作记录--(知识图谱相关论文阅读) 2.学习工作记录--反思 3.学习工作记录三 4.学习工作记录四 5.学习工作记录五 6.学习工作记录六 原文地址:https://www.cnblogs.com/cafe3165/p/10055904.html

spring相关记录

2018-11-01 ,本文 70 字,阅读全文约需 1 分钟 org.springframework.web.servlet.handler.SimpleUrlHandlerMapping 自定义相关映射 Blog 链表的并发安全 oracle索引 spring相关记录 Oracle的sql优化 责任链模式 双重检查的单例模式为啥需要使用volatile volatile原理 synchronized原理 同步工具类 代理模式 jdk8的新特性 Oracle的各种连接 jvm 工作中遇到的一些

Activiti 学习笔记记录(三)

上一篇:Activiti 学习笔记记录(二) 导读:上一篇学习了bpmn 画图的常用图形标记.那如何用它们组成一个可用文件呢? 我们知道 bpmn 其实是一个xml 文件

舌尖上的安卓(android触控事件机制学习笔记录)

对于一个"我们从来不生产代码,我们只是大自然代码的搬运工"的码农来说.对android的触控机制一直是模棱两可的状态,特别是当要求一些自定义的控件和androide的自带控件(比如ViewPager,ListView,ScrollView)高度嵌套在一起使用时. 花了点时间梳理了下,做个笔记.对于一个触控的事件从用户输入到传递到Actigvity到最外层的Viewgroup在到子View,中间过程还可能穿插多个Viewgroup,android在ViewGroup提供了3个方法来控制流

django book学习问题记录

—————————————————————————————————— 位置:第五章<模型> 问题描述: >>> p1 = Publisher.objects.create(name='Apress', ... address='2855 Telegraph Avenue', ... city='Berkeley', state_province='CA', country='U.S.A.', ... website='http://www.apress.com/') >

Activiti 学习笔记记录(二)

上一篇:Activiti 学习笔记记录 导读:对于工作流引擎的使用,我们都知道,需要一个业务事件,比如请假,它会去走一个流程(提交申请->领导审批---(批,不批)---->结束),Activiti就是来走这个流程的.所以我们还需要将Activiti 和 业务结合起来,即部署定义(画一个流程图,生成 bpmn 格式的文件).本章,就来讲 bpmn 的图怎么画? 一.什么是 bpmn 业务流程建模标记法 BPMN (Business Process Model and Notation),是工作