ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

标准盒模型与怪异盒模型 + box-sizing

2020-06-08 19:55:46  阅读:282  来源: 互联网

标签:box sizing 盒子 模型 width 宽度


标准盒模型(w3c标准)

所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用。
CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。

box-model.gif

在标准盒模型中,width 和 height 指的是内容区域的宽度和高度。增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸。

3971046-e4654867d1a5464f.png

在标准盒模型中:盒子占位width = width + 2margin + 2padding + 2*border,高度与之一样。
盒子真正德width = width + 2padding + 2border。 margin不算!margin可以改变盒子占位的大小,但是盒子的宽高并没有改变,而是位置的改变!

根据 W3C 的规范,元素内容占据的空间是由 width 属性设置的,而内容周围的 padding 和 border 值是另外计算的。不幸的是,IE5.X 和 6 在怪异模式中使用自己的非标准模型。这些浏览器的 width 属性不是内容的宽度,而是内容、内边距和边框的宽度的总和。

怪异盒模型

2.JPG

ie 盒子模型的 content 部分包含了 border 和 pading

要让网页按标准盒模型去解析,则需要加上 doctype声明,否则不同的浏览器会按照自己的标准去解析。

box-sizing

box-sizing 属性允许你以某种方式定义某些元素,以适应指定区域。
例如,假如您需要并排放置两个带边框的框,可通过将 box-sizing 设置为 "border-box"。这可令浏览器呈现出带有指定宽度和高度的框,并把边框和内边距放入框中。

box-sizing类似于ie盒模型,它会把内边距和边框包含在width内。在实际工作中,我们设置一个固定宽度的盒子,但当给它设置paddingborder之后,它的真正宽度就会改变。这时box-sizing就派上用途了。它会自动调整内容的宽度,保证盒子的真正宽度还是我们设置的宽度。

可以查看实例:box-sizing实例

标签:box,sizing,盒子,模型,width,宽度
来源: https://www.cnblogs.com/webshare2020/p/13067920.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有