• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >心得技巧 > hasLayout引发的CSS Bug表

hasLayout引发的CSS Bug表

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含hasLayout,CSS,Bug等相关知识,佚名 希望在学习及工作中可以帮助到您
IE的毛病不是一天两天了,集体拉出来测试时候,明明大家都在微笑,就丫一副呲牙咧嘴的......

哎,没办法,谁让咱国内市面上都是这种呲牙咧嘴的浏览器呢.....(关注IE678死亡速度)

查阅,翻读,摘抄,记录,再逐一实践,总结,终于对他这个臭毛病有了根源上的认识。

hasLayout!

先上定义:

它是IE的特有属性。它决定着一个元素要么自己对自身的内容进行计算大小和组织,要么依赖于父元素来计算组织内容。为了区别这两个概念,渲染引擎采用了hasLayout的属性,true或false,当属性为true时,我们说这个元素触发了布局(Layout)。

具有hasLayout属性的标签:

<html>,<body><table>,<tr>,<td>,<td><img><hr><input>,<button>,<select>,<textarea>,<fieldset>,<legend><iframe>,<embed>,<object>,<applet><marquee>

这个属性存在的意义?

当一个元素对象的layout被激活时候,它和它的子元素的定位和尺寸计算将独立进行,也就是独立布局,因此浏览器会消耗更多的代价来处理拥有layout的元素。为了提高性能,IE整出了个这么个私有属性。

可触发hasLayout的CSS特性:


  问题 浏览器 DEMO 解决办法
1 input[button | submit]未居中 IE8 bug | fixed 添加width
2 body{overflow:hidden;}没有去掉滚动条 IE6/7 bug | fixed 改成html{overflow:hidden;}
3 拥有hasLayout的标签有高度 IE6/7 bug | fixed 添加_overflow:hidden;*height:0
4 form>[hasLayout]元素有margin-left时,子元素中的[input | textarea] 出现2×margin-left IE6/7 bug | fixed form > [hasLayout 元素]{margin-left:宽度;}
form div{*margin-left:宽度÷2;}
5 当子元素有position:relative的时候,父元素设置overflow:[hidden|auto]相当于给子元素设置了position:visible; IE6/7 bug | fixed 给父元素设置position:relative;
6 列表中混乱的浮动:在list中浮动图片时,图片出现溢出正常位置;或没有list-style IE8 bug | fixed 用背景图片替换list-style
7 th 不会自动继承上级元素的 text-align IE8 bug | fixed 给th添加text-align:inherit;
8 样式(包括link/style/@import(link)) 最多允许个为是:32 IE6-8 ─ 常识 99.99%的情况下,不会遇到
9 PNG图片中的颜色和背景颜色的值相同,但显示不同 IE6-7 bug | fixed 利用pngcrush去除图片中的 Gamma profiles
10 margin:0 auto; 不能让block元素水平居中 IE6-8 bug | fixed 给block元素添加一个width
11 使用伪类 :first-line | :first-letter, 属性的值中出现!important 会使属性失效 IE8 bug | 

您可能想查找下面的文章:

  • hasLayout引发的CSS Bug表

相关文章

  • 2017-08-06三谈Iframe自适应高度代码
  • 2018-08-23如何制造信赖感和惊喜感?我总结了这些设计方法
  • 2018-08-23想成为高级交互设计师?这是我的5个经验总结
  • 2018-08-23高手经验!设计师如何运用产品思维制作个人简历?
  • 2017-08-06Table布局的优缺点介绍及为什么不建议使用
  • 2018-08-23超全面!色彩无障碍设计之「对比度」的探索
  • 2018-08-23超过8亿人使用的手机QQ,是如何做注册流程的?
  • 2017-08-06让网站图片生成灰色效果的三种方法
  • 2017-08-06兼容IE6的min-width、min-height的简单方法
  • 2018-08-23旅行照千篇一律?你可能需要试试这4个新思路

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 企业网站与栏目字典 中英文对照 做中英双语企业网站的朋友需要
    • 在APP中,Tab Bar是固定好还是不固定好?
    • 插图式的网站主页设计 网站设计新的趋势
    • 什么决定了设计师的职业高度?来看资深UX的思考!
    • Google对话式交互规范指南(五):设计走查清单
    • img 半透明 处理img加半透明背景实现思路及代码
    • 网页设计的专业与非专业
    • 2018年设计师该如何转型?来看最近人气超高的 UGD 模式!
    • 设计新手最常见的4个问题,高手统一为大家做解答!
    • 五帽架设计原则:历史证明最高效的信息组织方式

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有