网站大量收购独家精品文档,联系QQ:2885784924

haslatout的问题总结..docxVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
haslatout的问题总结.

这篇文章是翻译/haslayout这篇英文的。写的挺好的。介绍?这篇文章是一个总结haslayout的文章。更新:haslayout在ie8的标准模式下已经被废弃了,但是在ie7的兼容版本以及以下的版本是仍然存在的。什么是haslayout??MSIE??有一个很早很早,过时的渲染引擎?Mosaic . 在表格布局的时代。几乎是所有的元素(除了内联内容)都是一个盒子。内容几乎不可能超过表格的单元格。表格的单元格不可能超出表格。很多年过去了。微软开始采用Trident?engine?来使用CSS,但是,CSS改变了最初的这个古老引擎的假设(最重要的一点就是任何元素都会包含它的内容)。但是CSS允许内容超出元素(就是内容浮动的时候,或者内容太高、宽去适应包含盒子)?haslayout是怎么来的?为了解决这个问题,微软的天才coder决定去修理他们的这个古老的引擎,因此haslayout这个属性就诞生了。每个元素都有haslayout这个属性去设置true或者false,如果它设置成了true,它就不得不去渲染它自己,因此元素不得不扩展去包含它的流出的内容。例如浮动或者很长很长的没有截断的单词,如果haslayout没有被设置成true,那么元素得依靠某个祖先元素来渲染它。这就是很多的ie bugs诞生的地方。haslayout不是一个CSS属性,你不能这样的来设置它 haslayout:true;一个元素被设置成haslayout:true将被渲染成一个 having haslayout,反之。那些元素本身就有haslayout属性html,?bodytable,?tr,?th,?tdiframe,?embed?(non-standard element),?object,?appletimghrinput,?button,?select,?textarea,?fieldset,?legendmarquee?(dont ever use this one, non-standard and annoying)?这个列表时不完善的。很多元素在微软的官方网站上没有提到,但是有一个方法很容易的测试到一个元素是否有layout,例如下代码:divid=menu... /div为了判断这个div的haslayout属性值,我们可以在浏览器地址栏中输入如下代码:javascript:alert(menu.currentStyle.hasLayout)??运行了这个代码之后就会反映出这个div的haslayout的属性值如何设置haslayout?设置haslayout,换句话来说,就是给定一个布局,相对来说比haslayout等于false要简单。以下属性和值将给定一个元素布局position: absolutefloat: left?or?rightdisplay: inline-blockwidth:?any?value?other?than?autoheight:?any?value?other?than?autozoom:?any?value?other?than?normal?(see?description?below) writing-mode: tb-rl?(see?description?below)在ie7中, 也有一些属性 give layout:overflow: hidden?or?scroll?or?autooverflow-x: hidden?or?scroll?or?autooverflow-y: hidden?or?scroll?or?automin-width:?any?value?other?than?automax-width:?any?value?other?than?automin-height:?any?value?other?than?automax-height:?any?value?other?than?auto?在ie8的标准模式中,微软已经废弃了haslayout属性了,但是在ie7的兼容模式中,仍然存在着这个属性。你可能对zoom 和write-mode这2个属性不太熟悉,他们都是微软的扩展属性。他们仅仅在ie中有效并且将来可能无效,因此我建议你把他们放入condcoms??write-mode属性在css3技术文档中已经出现了。zoom可能被提议,但是目前还没有。zoom:1作者认为是最好的触发haslayout属性的组合,因为它对房前元素没有一点影响。write-mode 就是字体排版布局的方式。设置display:inline-block没有移除布局,这个技巧可以给元素设置成haslayout:true;它相当于?div { display: inline-block; } di

文档评论(0)

jcc001 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档