仓酷云
标题:
给大家带来haslayout是甚么意义
[打印本页]
作者:
因胸联盟
时间:
2015-1-15 23:55
标题:
给大家带来haslayout是甚么意义
属性值就追加上去,重复的属性值就以最后一个为准。这里要注意的是,样式的先后不是根据页面上应用的名字顺序,而是样式表里的样式顺序。
网页制造poluoluo文章简介:要想更好的了解css,特别是IE下对css的衬着,haslayout是一个十分有需要完全弄扫除的观点。年夜多IE下的显现毛病,就是源于haslayout。甚么是haslayout?haslayout是WindowsInternetExplorer衬着引擎的一个外部构成部分。在InternetExplorer中,一个元素
要想更好的了解css,特别是IE下对css的衬着,haslayout是一个十分有需要完全弄扫除的观点。年夜多IE下的显现毛病,就是源于haslayout。
甚么是haslayout?
haslayout是WindowsInternetExplorer衬着引擎的一个外部构成部分。在InternetExplorer中,一个元素要末本人对本身的内容举行盘算巨细和构造,要末依附于父元从来盘算尺寸和构造内容。为了调治这两个分歧的观点,衬着引擎接纳了hasLayout的属性,属性值能够为true或false。当一个元素的hasLayout属性值为true时,我们说这个元素有一个结构(layout)
当一个元素有一个结构时,它卖力对本人和大概的子孙元素举行尺寸盘算和定位。复杂来讲,这意味着这个元素必要花更多的价值来保护本身和内里的内容,而不是依附于先人元从来完成这些事情。因而,一些元素默许会有一个结构。当我们说一个元素“具有layout”或“失掉layout”,大概说一个元素“haslayout”的时分,我们的意义是指它的微软专有属性hasLayout被设为了true。一个“layout元素”能够是一个默许就具有layout的元素大概是一个经由过程设置某些CSS属性失掉layout的元素。假如某个HTML元素具有haslayout属性,那末这个元素的haslayout的值必定只要true,haslayout为只读属性一旦被触发,就不成逆转。经由过程IEDeveloperToolbar能够检察IE下HTML元素是不是具有haslayout,在IEDeveloperToolbar下,具有haslayout的元素,一般显现为“haslayout=-1”。
卖力构造本身内容的元素将默许有一个结构,次要包含以下元素(不完整列表):
*bodyandhtml
*table,tr,th,td
*img
*hr
*input,button,file,select,textarea,fieldset
*marquee
*frameset,frame,iframe
*objects,applets,embed
关于并不是一切的元素都默许有结构,微软给出的次要缘故原由是“功能和简便”。假如一切的元素都默许有结构,会对功能和内存利用上发生无害的影响。
怎样引发haslayout?
年夜部分的IE显现毛病,都能够经由过程引发元素的haslayout属性来修改。能够经由过程设置css尺寸属性(width/height)等来引发元素的haslayout,使其“具有结构”。以下所示,经由过程设置以下css属性便可。
*display:inline-block
*height:(任何值除auto)
*float:(left或right)
*position:absolute
*width:(任何值除auto)
*writing-mode:tb-rl
*zoom:(除normal外恣意值)
InternetExplorer7另有一些分外的属性(不完整列表):
*min-height:(恣意值)
*max-height:(除none外恣意值)
*min-width:(恣意值)
*max-width:(除none外恣意值)
*overflow:(除visible外恣意值)
*overflow-x:(除visible外恣意值)
*overflow-y:(除visible外恣意值)
*position:fixed
个中overflow-x和overflow-y是css3盒模子中的属性,今朝还未被扫瞄器普遍撑持。
关于内联元素(默许即为内联的元素,如span,或display:inline;的元素),
width和height只在IE5.x下和IE6或更新版本的quirks形式下触发hasLayout。而关于IE6,假如扫瞄器运转于尺度兼容形式下,内联元素会疏忽width或height属性,以是设置width或height不克不及在此种情形命令该元素具有layout。
zoom老是能够触发hasLayout,可是在IE5.0中不撑持。
具有“layout”的元素假如同时display:inline,那末它的举动就和尺度中所说的inline-block很相似了:在段落中和一般笔墨一样在程度偏向和一连分列,受vertical-align影响,而且巨细能够依据内容自顺应调剂。这也能够注释为何单单在IE/Win中内联元素能够包括块级元素而少出成绩,由于在其余扫瞄器中display:inline就是内联,不像IE/Win一旦内联元素具有layout还会酿成inline-block。
haslayout成绩的调试与办理
当网页在IE中有非常体现时,能够实验引发haslayout来看看是否是成绩地点。经常使用的办法是给某元素css设定zoom:1。利用zoom:1是由于年夜多半情形下,它能在不影响现有情况的前提下引发元素的haslayout。而一旦成绩消散,那基础上就能够判别是haslayout的缘故原由。然后就能够经由过程设定响应的css属性来对这个成绩举行修改了。倡议起首要思索的是设定元素的width/height属性,其次再思索其他属性。
对IE6及更早版原本说,经常使用的办法被称为霍莉破解(Hollyhack),即设定这个元素的高度为1%(height:1%;)。必要注重的是,当这个元素的overflow属性被设置为visible时,这个办法就生效了。大概利用IE的前提正文。
对IE7来讲,最好的办法时设置元素的最小高度为0(min-height:0;)。
haslayout成绩引发的罕见bug
IE6及更低版本的双空缺边浮动bug
bug修复:display:inline;
IE5-6/win的3像素偏移bug
bug修复:_height:1%;
E6的躲躲猫(peek-a-boo)bug
bug修复:_height:1%;
糖伴西红柿说,这篇文章不是原创,是网上资本的汇总,加上本人了解的综合。大概还不是很周全,还必要再进一步细化。
结构清晰,容易被搜索引擎搜索到,天生优化了seo
作者:
不帅
时间:
2015-1-17 15:23
时间轴)窗口--时间轴--选中图层并拖图层到时间轴,将其放在指定帧上
作者:
精灵巫婆
时间:
2015-1-20 21:38
在Dreamweaver里可以很轻松的完成图文混排、插入图片、插入Flash、插入音频、插入视频。
作者:
小女巫
时间:
2015-1-30 05:48
滚动条)层属性--溢出(visible/hidden/scroll/auto)
作者:
海妖
时间:
2015-2-15 18:07
只要我们努力,无论是怎样的艰难险阻,成功依然会迎面直击。在刚开始时我觉得dreamweaver mx XX很难理解。
作者:
透明
时间:
2015-3-4 13:40
帧(frames)和表格的制作速度快的令您无法想像。进阶表格编辑功能使您简单的选择单格、行、栏或作未连续之选取。
作者:
冷月葬花魂
时间:
2015-3-11 19:49
dreamweaver8中文版下载(dw)对专业网页图像设计的FIREWORKS,三者被MACROMEDIA公司称为DREAMTEAM(梦之队)。
作者:
分手快乐
时间:
2015-3-19 11:25
我深感到交流的重要。善于交流的人才是善于学习的人。在整个技术的学习过程中,我总结了四大定律:兴趣、恒心、虚心、时间。
作者:
乐观
时间:
2015-3-28 00:15
运动)时间轴面板--拖动关键帧--单击整条--将鼠标移至中间一点--右击选择增加关键帧--移动中间关键帧的图层--勾选自动播放,循环
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2