box模型即由<div>等块元素的 margin、padding、border、width、height 等属性构成的显示模型,它是CSS布局的基础。通过设置<div>的各种属性,可以得到任何想要的页面效果。

各个元素的含义如下:

  • margin: box外边界到外层元素的距离,即余白
  • border: box的边界宽度。
  • padding: box内的内容到box内边界的距离,即边距
  • width: box的宽度。
  • height: box的高度。

其中有问题的就是 width 和 height 的定义。一般的浏览器将 width 和 height 定义为除掉 margin、padding、border 之后的box内容的大小,实际上 box 所占有的面积为定义的 width/height 再加上 margin、padding、border的大小。

下图演示了一个box模型的大小计算方式,背景中每个方格为 10px。源代码如下:

#box {
width: 150px;
height: 100px;
background: #F00;
border: solid 20px green;
padding: 30px;
margin: 10px;
}
<div id="box">
<div id="content"></div>
</div>

可以看到,这个 150x100 的 box 实际上中间的内容部分为 150x100,算上 margin、border、padding 的总大小为 270x220。

而 IE 在 Quirk模式(兼容模式)下,计算width和height时会将margin、border、padding算进去, width和height成为了box的总大小。上面的代码在 IE 下显示结果如下:

那么如何让 IE 与其他的浏览器显示效果相同?可以通过在HTML文档开头指定 DOCTYPE 使 IE 工作在 Standard模式而不是 Quirk模式下。例如:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
....

下面是各种 DOCTYPE 下IE对box模型的渲染方法的测试页面,有兴趣的可以用IE打开看看。

box-model-testpage.zip

版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2007/01/02/ie-box-model-bug/以及本声明。

转载于:https://www.cnblogs.com/codeyu/archive/2008/11/14/1333533.html

(转)IE的box模型显示bug相关推荐

  1. IE的box模型显示bug

    原作者charlee.原始链接http://tech.idv2.com/2007/01/02/ie-box-model-bug/以及本声明. box模型即由<div>等块元素的 margi ...

  2. vue中使用baidushare分享到微信无法显示bug解决方案

    vue中使用baidushare分享到微信无法显示bug解决方案 参考文章: (1)vue中使用baidushare分享到微信无法显示bug解决方案 (2)https://www.cnblogs.co ...

  3. Firefox开发者工具里查看HTML元素的Box模型

    box模型的组成部分: Content box:通过width和height属性指定大小. padding box:衬垫.包裹content盒模型. border box margin box 如下图 ...

  4. flowable连线名称不显示bug修复说明

    文章目录 flowable连线不显示bug修复说明 flowable连线不显示bug修复说明 在flowable6.4版本(分享牛老师)修复了流程图中连线不显示的bug.由于Flowable官方对于这 ...

  5. vue页面渲染(请求返回的后端)data,文本换行与显示bug 的分析与解决提示

    vue页面渲染(请求返回的后端)data,文本换行与显示bug 的分析与解决提示 问题说明: vue项目,后台一经修改文案[介绍内容]后,前端接收显示实时数据,却无法换行? 原因分析: 后台页面的表单 ...

  6. ueditor插入图片调节框显示bug

    当编辑框高度固定可内部滚动时,ueditor插入图片调节框显示bug 在使用百度euditor的编辑器时,我们常常需要让用户对插入的图片进行拉伸修改大小.当euditor的编辑框不随内容的增加而调节高 ...

  7. 英雄联盟(LOL)3d模型显示

    英雄联盟(LOL)3d模型显示. 参考资料:http://code.google.com/p/lolblender/wiki/fileFormats 注:由于版本升级,lol模型的骨骼文件的文件格式发 ...

  8. CREO:CREO软件之零件【工具(调查/模型意图/实用工具)】、【视图(可见性/方向/模型显示/显示/窗口)】的简介及其使用方法(图文教程)之详细攻略

    CREO:CREO软件之零件[工具(调查/模型意图/实用工具)].[视图(可见性/方向/模型显示/显示/窗口)]的简介及其使用方法(图文教程)之详细攻略 目录

  9. CAD绘图布局中有部分模型显示不出来怎么办?

    可能是我们在制图的时候,会有CAD图纸大小不兼容问题.那这个时候就需要转换CAD图纸格式,把高版本图纸转换成低版本或者是反过来.今天就给大家说一个比较简单不用下载软件的好办法. 1.在你的电脑桌面上打 ...

最新文章

  1. cmd find 命令 多个 或者 关系 +windows_Chocolatey -Windows系统的yum||apt 软件安装工具...
  2. php vbcrlf,我是这样打造自已的“菜刀”的,让一句话飞一会
  3. golang 简单tls协议 使用实例
  4. Vim改装编辑器的安装与使用简介
  5. mysql数据库优化的几种方法
  6. python2/python3安装pip/pip3及使用国内镜像源(python2/3同时安装)
  7. 算法复习——虚树(消耗战bzoj2286)
  8. 牛赞:音视频前端跨平台技术应用
  9. SpringBoot2.1.9 多数据源Mybatis—JDBC配置
  10. 科学计算机fx-82es,fx-82ES PLUS A -2卡西欧计算器-计算器 函数科学-卡西欧官方商城...
  11. 《JS权威指南学习总结--6.1原型》
  12. 2020年计算机一级B押题,2021年全国计算机一级选择题真题押题.doc
  13. python猜数字游戏快速求解解决方案
  14. 佳能EOS R5逼出性能怪兽索尼A1,2021佳能如何接招?
  15. 在vSphere Client使用模板部署虚拟机 系统硬盘空间扩展
  16. 转:Rust 调用C/C++
  17. matlab2018a帮助文档设置为中文
  18. c++vs解决字符常量过多
  19. CentOS7下EasyDarwin的安装搭建
  20. 重装服务器系统鼠标键盘用不了,win7重装系统后鼠标键盘不能用怎么办

热门文章

  1. Google地图搜索的触角伸向月球
  2. Modbus RTU 通信工具设计
  3. js获取本月第几周和本年第几周
  4. java读取XML文件的四种方式
  5. 从Folly源码学C++ 11的新特性
  6. 快速学习使用 Windows Azure 上的 SharePoint Server 2013
  7. 【设计模式系列】结构型模式之Proxy模式
  8. R语言包在linux上的安装等知识
  9. 【翻译】QEMU内部机制:顶层概览
  10. 一类SG函数递推性质的深入分析——2018ACM陕西邀请赛H题