写在前面CSS盒子模型与怪异盒模型

盒子模型(Box Modle)可以用来对元素进行布局,包括内边距,边框,外边距,和实际内容这几个部分。

盒子模型分为两种

第一种是W3c标准的盒子模型(标准盒模型) 。

第二种IE标准的盒子模型(怪异盒模型)

当前大部分的浏览器支持的是W3c的标准盒模型,也保留了对怪异盒模型的支持,当然IE浏览器沿用的是怪异盒模型。怪异模式是“部分浏览器在支持W3C标准的同时还保留了原来的解析模式”,怪异模式主要表现在IE内核的浏览器。

标准盒模型与怪异盒模型的表现效果的区别之处

1、标准盒模型width指的是内容区域content的宽度;height指的是内容区域content的高度。

标准盒模型下盒子的大小  = content + border + padding + margin

 2、怪异盒模型中的width指的是内容、边框、内边距总的宽度(content + border + padding);height指的是内容、边框、内边距总的高度

怪异盒模型下盒子的大小=width(content + border + padding) + margin

css盒子模型概念

CSS css盒子模型 又称框模型 (Box Model) ,包含了元素内容(content)、内边距(padding)、边框(border)、外边距(margin)几个要素。

图中最内部的框是元素的实际内容,也就是元素框,紧挨着元素框外部的是内边距padding,其次是边框(border),然后最外层是外边距(margin),整个构成了框模型。通常我们设置的背景显示区域,就是内容、内边距、边框这一块范围。而外边距margin是透明的,不会遮挡周边的其他元素。

那么,元素框的总宽度 = 元素(element)的width + padding的左边距和右边距的值 + margin的左边距和右边距的值 + border的左右宽度;

元素框的总高度 = 元素(element)的height + padding的上下边距的值 + margin的上下边距的值 + border的上下宽度。

css 外边距合并(叠加)

两个上下方向相邻的元素框垂直相遇时,外边距会合并,合并后的外边距的高度等于两个发生合并的外边距中较高的那个边距值,如图:

box-sizing属性介绍

box-sizing属性是用户界面属性里的一种,之所以介绍它,是因为这个属性跟盒子模型有关,而且在css reset中有可能会用到它。

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

(1) content-box ,默认值,可以使设置的宽度和高度值应用到元素的内容框。盒子的width只包含内容。

  即总宽度=margin+border+padding+width

(2) border-box , 设置的width值其实是除margin外的border+padding+element的总宽度。盒子的width包含border+padding+内容

    即总宽度=margin+width

很多CSS框架,都会对盒子模型的计算方法进行简化。

(3) inherit , 规定应从父元素继承 box-sizing 属性的值

关于border-box的使用:

1 一个box宽度为100%,又想要两边有内间距,这时候用就比较好
2 全局设置 border-box 很好,首先它符合直觉,其次它可以省去一次又一次的加加减减,它还有一个关键作用——让有边框的盒子正常使用百分比宽度。

觉得好看的话别忘了长按下方图片,点一下关注哦

css 透明叠加_细品CSS(二)相关推荐

  1. css就近原则_细品100道CSS知识点(上)「干货满满」

    作者:hh_phoebe 转发链接:https://juejin.im/post/5ee0cf335188254ec9505381 目录 细品100道CSS知识点(上)[干货满满]本篇 细品100道C ...

  2. css为什么要用浮动_细品100道CSS知识点(上)「干货满满」

    作者:hh_phoebe 转发链接:https://juejin.im/post/5ee0cf335188254ec9505381 目录 细品100道CSS知识点(上)[干货满满]本篇 细品100道C ...

  3. 原生 遍历_细品原生JS从初级到高级知识点汇总(三)

    作者:火狼1 转发链接:https://juejin.im/post/5daeefc8e51d4524f007fb15 目录 细品原生JS从初级到高级知识点汇总(一) 细品原生JS从初级到高级知识点汇 ...

  4. 不允许使用java方式启动_细品 Java 中启动线程的正确和错误方式

    细品 Java 中启动线程的正确和错误方式 前文回顾详细分析 Java 中实现多线程的方法有几种?(从本质上出发) start 方法和 run 方法的比较 代码演示:/** * * start() 和 ...

  5. css 动画使用_如何在CSS中使用动画

    css 动画使用 使用CSS动画 (Using CSS Animations) CSS animations add beauty to the webpages and make transitio ...

  6. vue css 应用变量_如何使用CSS Grid和CSS变量快速为应用创建原型

    vue css 应用变量 CSS Grid and CSS Variables are both huge wins for front-end developers. The former make ...

  7. css 文字重叠_学习过CSS,那你知道BFC是什么吗?

    虽然可能你没听过BFC是什么,但是你一定用过,其是一种在CSS中存在的技术,你可能只是一直不知道有这样一个专业名词,本文就来介绍一下到底什么是BFC. 一起来理解BFC的作用! 一.什么是BFC 首先 ...

  8. css透明效果代码结构,用CSS实现背景半透明效果的方法实现_css

    如何用css实现背景半透明效果?做过活动页面的同学可能会遇到要做背景半透明的效果,我们一般的做法是用两个层,一个用于放文字,另一个用于做透明背景,因为透明滤镜的效果会影响到里面的内容.不过如果你只需求 ...

  9. css画布背景_如何使用CSS和触摸JavaScript构建画布外菜单

    css画布背景 在本教程中,我们将介绍一种简单而有效的方法,以使用HTML,CSS和JavaScript创建画布菜单. 要初步了解我们将要构建的内容,请查看相关的CodePen演示(请查看较大的版本以 ...

最新文章

  1. GIS开发随笔(2)——关于建立GIS数据库的几个问题
  2. django mysql 时区_django 中的时区设置
  3. 解读Cardinality Estimation算法(第三部分:LogLog Counting)
  4. windows关闭svnserver_Windows停SVN服务的搭建和使用(二)-Win32Svn
  5. Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you
  6. Android学习——SharedPreferences
  7. ZooKeeper(四)ZooKeeper的简单使用
  8. Reflector反编译winform心得
  9. 谁还 Care 戴尔?
  10. COMSOL案例内容,有需要的了解下!
  11. String s1 = new String(abc)到底创建了几个对象?底层原理是什么?
  12. 计算学习理论PAC模型
  13. 如何通过移动广告平台实现手游推广
  14. HTML特殊字符编码对照表 —— (二)
  15. 企业运维之 CDN 内容分发网络
  16. 解析八核Cortex-A55+ 24路1080解码能力的AI模组
  17. 基于Python实现的钢筋数量识别
  18. IDEA背景(前后景)设置、自定义背景图片、背景纯黑/白设置
  19. 关于超威主板上的一些注意事项(坑)
  20. 使用优质代理的正确方案

热门文章

  1. php中mysqli 处理查询结果集的几个方法
  2. 非递归分治法排序 MergeSort without recursion
  3. csdn的blog后台程序的导航菜单的实现
  4. 6个实例,8段代码,详解Python中的for循环
  5. 任正非:华为100%没有后门,没想到美国打击华为决心这么大
  6. 大数据杀熟!用苹果手机怪我咯?
  7. Modbus协议模型
  8. 建站用什么cms_我想做独立站,我应该用什么建站工具?
  9. 出身寒门的程序员,如何改变命运?
  10. 【中生代技术】1024程序员节快跑,提需求的来了