CSS-Box

CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。

  • Margin(外边距) - 清除边框外的区域,外边距是透明的。
  • Border(边框) - 围绕在内边距和内容外的边框。
  • Padding(内边距) - 清除内容周围的区域,内边距是透明的。
  • Content(内容) - 盒子的内容,显示文本和图像。

在开发中,经常会遇到W3C标准盒模型和IE怪异盒模型的问题。下图是两种盒模型的示意图。

  • 标准 w3c 盒子模型的范围包括 margin、border、padding、content,并且 content 部分不包含其他部分;
  • ie 盒子模型的 content 部分包含了 border 和 pading;

这样导致的问题:对于元素定义的宽高,在浏览器中表现会存在差异。IE中 ,元素的宽高包含了实际内容的宽高加上内外边距以及边框的宽高,如果我们想调一下内边距padding或者边框border的尺寸,那么整个元素的实际尺寸就会发生变化,随着而来的就是布局乱掉,可谓是牵一发而动全身。
在目前流行前端布局中,前端工程师默认的页面布局是采用标准的w3c盒子模型(需要在页面html声明处加上doctype 声明),告知浏览器按照标准盒模型的方式进行渲染页面。

关于box-sizing

在CSS3中引入了box-sizing属性, 它可以允许改变默认的CSS盒模型对元素宽高的计算方式

box-sizing属性包括content-box(default),border-box

  1. content-box:border和padding不计算入width之内
  2. border-box:border和padding计算入width之内(即IE盒子模型标准)

注意:ie8 浏览器支持content-box和border-box;

border-box的使用场景:

页面所有元素的宽高就会随着你设置的width、height而固定,无论你折腾padding、border,整个元素的尺寸是不会有任何变化的,只是实际内容content的尺寸会随着被压缩拉伸。这样的整体布局就稳定了许多,不再会因为某一个元素的边框微调而发生崩塌。

举栗子:

div{height:700px;float:left;
}
div.left{width:25%;background:red;
}
div.center{width:50%;box-sizing:border-box;/*可以改变元素以使其宽度包含填充*//* 现在整个元素,包括填充在内,占页面总宽度的50%,所以元素的组合宽度为100%,这全程它们很好地适应于它们的容器.*/background:yellow;padding:0 20px; /*加了这个会使盒子内容溢出 但是box-sizing很好的自适应了*/
}
div.right{width:25%;background:blue;
}复制代码

本文整理了他人的博客等文章,仅供学习使用哦!

CSS-Box模型--理解与整理相关推荐

  1. css的box模型_拆箱CSS Box模型的基础

    css的box模型 by Bryan Smith 通过布莱恩史密斯 拆箱CSS Box模型的基础 (Unboxing the basics of the CSS Box Model) Understa ...

  2. css—盒子模型理解

    1.盒子模型作用: 盒子模型就是一个盒子,封装周围的html元素.允许我们在其他元素和周围元素边框的空间放置元素. 2.组成: 外边距(margin):相邻的两个盒子margin,会发生折叠,可为负数 ...

  3. 洛阳郊区1980年地图_在无聊的郊区居住中解释CSS Box模型

    洛阳郊区1980年地图 by Kevin Kononenko 凯文·科诺年科(Kevin Kononenko) 如果您去过一个普通的郊区社区,那么您可以了解CSS Box Model. (If you ...

  4. css里box是什么文件,CSS Box盒模型的详细解说

    CSS盒子模型在于你做css之后每个元素都由一个包围该元素的矩形框定义.了解框模型的工作原理是理解CSS并更好地控制布局和演示的关键.话不多说,让我们直接讨论一下CSS盒子模型是什么,一个盒子如何影响 ...

  5. CSS盒子模型之CSS3可伸缩框属性(Flexible Box)

    CSS盒子模型(下) 一.CSS3可伸缩框(Flexible Box) 可伸缩框属性(Flexible Box)是css3新添加的盒子模型属性,有人称之为弹性盒模型,它的出现打破了我们经常使用的浮动布 ...

  6. 深入理解CSS盒模型 - 程序猿的程 - 博客园

    深入理解CSS盒模型 本文是学习中传思客在慕课网开的课程<前端跳槽面试必备技巧>的学习笔记.课程地址:https://coding.imooc.com/class/evaluation/1 ...

  7. 转HTML+CSS总结/深入理解CSS盒子模型

    原文地址:http://www.chinaz.com/design/2010/1229/151993.shtml 前言:前阵子在做一个项目时,在页面布局方面遇到了一点小问题,于是上stackoverf ...

  8. css篇-盒子模型理解

    前言 在 CSS 盒子模型的默认定义里,你对一个元素所设置的 width 与 height 只会应用到这个元素的内容区.如果这个元素有任何的 border 或 padding ,绘制到屏幕上时的盒子宽 ...

  9. 简述对css盒子模型的理解_css 盒子模型理解

    盒子模型是html+css中最核心的基础知识,理解了这个重要的概念才能更好的排版,进行页面布局.下面是自己积累和总结的关于css盒子模型的知识^_^,希望对初学者有用. 一.css盒子模型概念 CSS ...

  10. [css] 说说你对css盒子模型的理解

    [css] 说说你对css盒子模型的理解 css盒模型由两个盒子组成,外在的控制是否换行的盒子,以及内在的控制元素内容的盒子.比如:display: inline-block, 则它的外在的盒子就是i ...

最新文章

  1. 使用BCH彩色币方案发行Token已实现
  2. java joptionpane 例子_java JOptionPane类的介绍
  3. B - Parentheses Balance (UVA - 673)
  4. 各个阶级的前端 必须掌握的基本技能汇总
  5. datetime类型怎么输入_精心整理MySQL基本使用(数据库的操作、数据类型、MySQL的常用命令)...
  6. 分享一个Ubuntu16.0.4安装MySQL5.7脚本
  7. angular-代码段
  8. Windows Server 2003 添加“Resin”到“服务”出错
  9. 取消Word自动首字母大写步骤
  10. 通过Gazebo仿真学TurtleBot3(四)——简单的/cmd_vel控制
  11. php反序列化漏洞 freebuf,入门Web需要了解的PHP反序列化漏洞
  12. 经典散文·1.地毯的那一端
  13. 海南安全员A证怎么考多选题库
  14. Leetcode 576. 出界的路径数
  15. Python解决鸡兔同笼
  16. CodeM资格赛E 数码 题解
  17. 《游戏剧本怎么写》读书笔记一
  18. 名悦集团:为什么司机建议买车尽量买便宜的
  19. ps保存psd后图层全没了_怎么利用ps把psd图层单独导出为一张张的图片?
  20. Linux Alsa声卡驱动(2):代码分析

热门文章

  1. [转]用C++实现插件体系结构
  2. webuploader项目中多图片上传实例
  3. Deep Learning学习随记(二)Vectorized、PCA和Whitening
  4. 关于ObjectProxy
  5. Defining custom settings in Odoo
  6. vs2013使用remote debug
  7. 发布HTML5 2D游戏引擎YEngine2D
  8. Concept Drift(概念漂移)
  9. 【LOJ#10170】国王
  10. java数据类型及运算符