HTML5学堂 那些盒模型在IE6中的BUG们,工程狮的你可曾遇到过?

IE6已经渐渐的开始退出浏览器的历史舞台。虽然当年IE6作为微软的一款利器击败网景,但之后也因为版本的持续不更新而被火狐和谷歌三分天下。可谓成在IE6,亦败在IE6啊~

说到前端开发,不得不说,在所有前端工程师的心中,IE6是曾经永远的痛~

在这里,小编总结罗列了一下IE6的问题,跟大家分享一下。今天就先从盒模型入手啦~

盒模型基本概念

盒模型指css布局中html中的每个元素在浏览器中的解析都可以被看作一个盒子,拥有盒子一样的外形和平面空间。完整的盒模型是由内容区(含width和height)、border(边框)、padding(内边距)、margin(外边距)这四部分属性组成。这些属性我们可以把它转移到我们日常生活中的盒子(箱子)上来理解,日常生活中所见的盒子也就是能装东西的一种箱子,也具有这些属性,所以叫它盒子模式。

盒模型的IE6兼容问题

1、怪异解析

不同的文档有不同的解析模式,正常的解析是我们最为常见的,而对于IE6存在着怪异解析。详情请点击:IE6怪异解析

2、横向双倍边距

如果你觉得横向双倍边距,就是所有元素的一侧(左或右)的外边距变成双倍,那你就太“轻敌”了。横向双倍边距,和浮动、元素类型以及是否接触父级都有关系。在开发当中,通常人们会考虑如何规避这类问题。一起来看:IE6横向双倍边距bug吧~

3、底部外边距失效

你没有看错,不是纵向外边距叠加,而是底部外边距失效。纵向外边距叠加是每个浏览器都会出现的问题,所以不在我们今天讨论的范畴之内,但是元素底部的外边距失效,这个实在是比较特殊——浮动元素margin-bottom失效。一起来看吧~!

关于IE6的bug根源,在于haslayout。

hasLayout是IE特有的一个属性。很多的ie下的css bug都与其息息相关。在ie中,一个元素要么自己对自身的内容进行计算大小和组织,要么依赖于父元素来计算尺寸和组织内容。当一个元素的hasLayout属性值为true时,它负责对自己和可能的后代元素进行尺寸计算和定位。虽然这意味着这个元素需要花更多的代价来维护自身和里面的内容,而不是依赖于祖先元素来完成这些工作。

感兴趣的朋友可以查看这篇文章:hasLayout IE浏览器bug的来源

那些盒模型在IE6中的BUG们,工程狮的你可曾遇到过?的更多相关文章

  1. https跳转到http的过程在IE6中存在BUG(Bea-090475)

    前段时间做OA系统的https的安全登录功能(以前登录是采用的一般的http方式,后因为安全性考虑需要改成https的方式)在本机测试完全通过. 可是近期同事发现在测试环境下用IE6访问会出现不能访问 ...

  2. jquery博客收集的IE6中CSS常见BUG全集及解决方案

    今天的样式调的纠结,一会这边一会那么把jquery博客折腾的头大,浏览器兼容性.晚上闲着收集一些常见IE6中的BUG 3像素问题及解决办法 当使用float浮动容器后,在IE6下会产生3px的空隙,有 ...

  3. css中的width,height,属性与盒模型的关系

    这段话很容易记住盒模型: css中盒子模型包含属性margin.border.padding.content,他们可以把它转移到我们日常生活中的盒子(箱 子)上来理解,日常生活中所见的盒子也具有这些属 ...

  4. 前端开发:css基础知识之盒模型以及浮动布局。

    前端开发:css基础知识之盒模型以及浮动布局 前言 楼主的蛮多朋友最近都在学习html5,他们都会问到同一个问题 浮动是什么东西?  为什么这个浮动没有效果?  这个问题楼主已经回答了n遍.今天则是把 ...

  5. CSS3盒模型温故

    CSS有一种基础设计模式叫盒模型,定义了Web页面中的元素是如何看做盒子来解析的.每一个盒子有不同的展示界面,下面就来介绍盒模型,主要有一下几种盒模型:inline.inline-block.bloc ...

  6. 一天搞定CSS:盒模型content、padding、border、margin--06

    1.盒模型 网页设计中常听的属性名:内容(content).填充(padding).边框(border).边界(margin), CSS盒子模式都具备这些属性. 这些属性我们可以用日常生活中的常见事物 ...

  7. CSS盒模型(Box Model)

    阅读目录 1. 什么是CSS盒模型 2. IE盒模型和W3C盒模型 3. CSS3属性box-sizing 4. 关于盒模型的使用 在最初接触CSS的时候,对于CSS盒模型的不了解,撞了很多次的南墙呀 ...

  8. ie6定位absolute bug触发layout解决

    IE6中很多Bug都可以通过触发layout得到解决,以上的解决方法无论是设置zoom:1还是设置width和height其实都是为了触发layout.下列的CSS属性或取值会让一个元素获得layou ...

  9. IE盒模型与W3C盒模型区别

    前两天被人问到,叫我解释一下标准盒模型与IE盒模型,额,当时只能说,知道一点,但是没有深入的去探讨过,所以下来之后就自己写了例子,亲自去验证并且查看了网上的一些资料,现将其整理如下: 一.css盒模型 ...

随机推荐

  1. android asyncTask 详解

    只看http://www.cnblogs.com/xiaoluo501395377/p/3430542.html  足以

  2. JS 获取当前浏览器类型

    JS代码: function getType() { if(navigator.userAgent.indexOf("MSIE")>0) { return "MSI ...

  3. dialog参数、方法以及事件

    参数(options) DOM方式初始化dialog的,推荐使用集合属性data-options定义参数,如果使用data属性定义参数,注意转换成对应的名称. 名称 类型 默认值 描述 id stri ...

  4. jQuery tab plugin

    /* www.keleyi.com/ */ ; (function ($) { $.fn.extend({ Tabs: function (options) { // 处理参数 options = $ ...

  5. windows防火墙添加规则

    #include <windows.h> #include <crtdbg.h> #include <netfw.h> #include <objbase.h ...

  6. C118 免按开机自动加载固件

    最近无事,研究了按按钮开机的功能:功能的起初是参考了别人的系统是怎么做免开机加载固件的. 一.原理: 1.c118 原生loader部分代码是没有源代码的,它上电只需要按开机键然后系统就会起来. 2. ...

  7. 开启Ubuntu php错误提示 ZT

    开启Ubuntu php错误提示 在Ubuntu下,LAMP中PHP错误是不提示的,只会出现一个空白页.当然,这对于运行的生产环境来说是必须的.但有时候也需要查看生产环境上错误提示,那么只要通用下面简 ...

  8. simple grammer

    <?phpecho strlen("Hello world!"); // outputs 12?> <?phpecho str_word_count(" ...

  9. Android沉浸式(侵入式)标题栏(状态栏)Status(一)

     Android沉浸式(侵入式)标题栏(状态栏)Status(一) 现在越来越多的APP设计采用这种称之为沉浸式状态栏(Status)的设计,这种沉浸式状态栏又称之"侵入式"状 ...

  10. 故事板(Storyboard) 、 iPad编程 、 App和VC的生命周期

    1 创建动态TableView 1.1 问题 动态表视图就是显示多少分区,多少行以及每一行的显示内容都是根据数据源来决定.之前我们学过用xib展示动态表视图,本案例将学习如何使用Storyboard展 ...