博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
理解标准盒模型和怪异模式&box-sizing属性
阅读量:5043 次
发布时间:2019-06-12

本文共 1023 字,大约阅读时间需要 3 分钟。

盒子模型 主要有两种,w3c标准盒模型,IE下的怪异盒模型,其实还有就是弹性盒模型()

DTD规范

盒模型分为:标准w3c盒模型、IE盒模型、以及css中的伸缩盒模型

当我们使用编辑器创建一个html页面时,我们一定会发现最顶上的DOCTYPE标签

 

这些doctype都是标准的文档类型,无论我们使用哪种模式都会触发标准模式,而如果doctype缺失,则在ie6、ie7、ie8将会触发怪异模式(quirks);

一旦为页面设置了恰当的DTD(文档定义类型),大多数浏览器都会按照标准盒模型来呈现内容,但是ie5和ie6的呈现却是不正确的.

根据w3c规范,元素内容占据空间是由width属性设置的,而内容周围的padding和border都是另外计算的。

不幸的是,IE5.X 和 6 在怪异模式中使用自己的非标准模型。这些浏览器的 width 属性不是内容的宽度,而是内容、内边距和边框的宽度的总和。

举个栗子

我们用一个div块来演示标准模式和怪异模式的区别:

.box{    width:200px;    height:200px;    border:20px solid black;    padding:50px;    margin:50px;}

标准盒模型

在标准模式下的盒模型如下图所示,盒子总宽度/高度=width/height+padding+border+margin

标准盒模型

怪异模式

在怪异模式下的盒模型如下图所示,盒子的总宽度和高度是包含内边距padding和边框border宽度在内的

盒子总宽度/高度=width/height + margin = 内容区宽度/高度 + padding + border + margin;

也即是说 width = 内容区宽度 + padding + border

怪异盒模型

CSS3的box-sizing属性

语法:

box-sizing : content-box || border-box || inherit;

在css3中新增了box-sizing属性,具备了以上知识后,我们已经理解:

  • 当为content-box时,将采取标准模式进行解析计算
  • 当为border-box时,将采取怪异模式解析计算
  • 当为inherit时,将从父元素来继承box-sizing属性的值

参考

转载于:https://www.cnblogs.com/okaychen/p/8022041.html

你可能感兴趣的文章
mysql忘记root密码
查看>>
apache服务器中设置目录不可访问
查看>>
嵌入式Linux驱动学习之路(十)字符设备驱动-my_led
查看>>
【NOIP模拟】密码
查看>>
java容器---------手工实现Linkedlist 链表
查看>>
three.js 性能优化的几种方法
查看>>
《梦断代码》读书笔记(三)
查看>>
FreeMarker解析json数据
查看>>
Java8 Lambda表达应用 -- 单线程游戏server+异步数据库操作
查看>>
次序+“选择不重复的记录”(3)——最大记录
查看>>
Codeforces 450 C. Jzzhu and Chocolate
查看>>
[Unity3D]Unity3D游戏开发MatchTarget的作用攀登效果实现
查看>>
ACdream 1115 Salmon And Cat (找规律&&打表)
查看>>
JSON、JSONP、Ajax的区别
查看>>
AngularJS学习篇(一)
查看>>
【转载】 IP实时传输协议RTP/RTCP详解
查看>>
关于Xshell无法连接centos6.4的问题
查看>>
Linux系统的数据写入机制--延迟写入
查看>>
css3动画——基本准则
查看>>
javaweb常识
查看>>