盒子模型

CSS中有一种基础设计模式叫盒模型,盒模型定义了Web页面中的元素中如何来解析。CSS中每一个元素都是一个盒模型,包括html和body标签元素。在盒模型中主要包括width、height、border、background、padding和margin这些属性,而且他们之间的层次关系可以相互影响,来看一张盒模型的3D展示图:

(单击可放大)

从图中可以看出padding属性和content属性层叠background-image属性,层叠background-color属性,这个是存在的,它们四者之间构成了Z轴(垂直屏幕的坐标)多重层叠关系。但是border属性与margin属性、padding属性三者之间应该是平面上的并级关系,并不能构成Z轴的层叠关系。

box-sizing:

在CSS中盒模型被分为两种,第一种是w3c的标准模型,另一种是IE的传统模型,它们相同之处都是对元素计算尺寸的模型,具体说不是对元素的width、height、padding和border以及元素实际尺寸的计算关系,它们不同之处是两者的计算方法不一致,原则上来说盒模型是分得很细的,这里所看到的主要是外盒模型和内盒模型,如下面计算公式所示:

  1. W3C标准盒模型
外盒尺寸计算(元素空间尺寸)element空间高度=内容高度+内距+边框+外距element空间宽度=内容宽度+内距+边框+外距内盒尺寸计算(元素大小)element高度=内容高度+内距+边框(height为内容高度)element宽度=内容宽度+内距+边框(width为内容宽度)

2.IE传统下盒模型(IE6以下,不包含IE6版本或”QuirksMode下IE5.5+”)

外盒尺寸计算(元素空间尺寸)element空间高度=内容高度+外距(height包含了元素内容宽度、边框、内距)element宽间宽度=内容宽度+外距(width包含了元素内容宽度、边框、内距)内盒尺寸计算(元素大小)element高度=内容高度(height包含了元素内容宽度、边框、内距)element宽度=内容宽度(width包含了元素内容宽度、边框、内距)

在CSS3中新增加了box-sizing属性,能够事先定义盒模型的尺寸解析方式,其语法规则如下:

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

取值说明

属性值

属性值说明

content-box

默认值,其让元素维持W3C的标准盒模型,也就是说元素的宽度和高度(width/height)等于元素边框宽度(border)加上元素内距(padding)加上元素内容宽度或高度(content width/ height),也就是element width/height = border + padding + content width / height

border-box

重新定义CSS2.1中盒模型组成的模式,让元素维持IE传统的盒模型(IE6以下版本和IE6-7怪异模式),也就是说元素的宽度或高度等于元素内容的宽度或高度。从上面盒模型介绍可知,这里的内容宽度或高度包含了元素的border、padding、内容的宽度或高度(此处的内容宽度或高度=盒子的宽度或高度—边框—内距)。

inherit

使元素继承父元素的盒模型模式

其中最为关键的是box-sizing中content-box和border-box两者的区别,他们之间的区别可以通过下图来展示,其对盒模型的不同解析:

(单击可放大)

盒子模型 box-sizing中content-box和border-box相关推荐

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

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

  2. 第八篇、盒子模型和距中的设置方法

    <!--1.外边距 margin2.边框 border solid(线的类型) --border-width --border-style--border-color3.内边距 padding( ...

  3. CSS盒子模型-小白学习中

    CSS盒子模型 一.盒子模型的概念 一个独立的盒子模型由内容.边框(border).内边距(padding)和外边距(margin)4部分组成. 1.border是设定边框线条,盒子的其他部分是相对b ...

  4. CSS Box Model 盒子模型

    1. 介绍 1.1 什么是 Box Model 在HTML中的每个element(元素)都可以看作一个矩形的盒子,矩形从内到外依次由元素的内容(content).内边距(padding).边框(bor ...

  5. CSS的盒子模型(Box Model)

    盒子模型(Box Model)是 CSS 的核心,现代 Web 布局设计简单说就是一堆盒子的排列与嵌套,掌握了盒子模型与它们的摆放控制,会发现再复杂的页面也不过如此. 然而,任何美好的事物都有缺憾,盒 ...

  6. css中 盒模型的属性包括(),css的盒子模型属性有哪些?css盒子模型相关属性的介绍...

    本篇文章给大家带来的内容是关于css的盒子模型属性有哪些?css盒子模型相关属性的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.盒子模型图 2.一个简单的盒子模型 box. ...

  7. DIV+CSS两种盒子模型(W3C盒子与IE盒子)

    在辨析两种盒子模型之前.先简单说明一下什么叫盒子模型. 原理: 先说说我们在网页设计中常听的属性名:内容(content).填充(padding).边框(border).边界(margin), CSS ...

  8. CSS盒子模型之详解

    前言:         盒子模型是css中最核心的基础知识,理解了这个重要的概念才能更好的排版,进行页面布局. 一.css盒子模型概念     CSS盒子模型 又称框模型 (Box Model) ,包 ...

  9. css盒子模型_css的盒子模型是什么

    CSS盒子模型就是在网页设计中经常用到的CSS技术所使用的一种思维模型. css盒子模型又称为框模型 (Box Model) ,包含了元素内容(content).内边距(padding).边框(bor ...

  10. 从零开始学前端:CSS盒子模型属性 --- 今天你学习了吗?(CSS:Day14)

    从零开始学前端:程序猿小白也可以完全掌握!-今天你学习了吗?(CSS) 复习:从零开始学前端:伪元素和盒子模型 - 今天你学习了吗?(Day13) 文章目录 从零开始学前端:程序猿小白也可以完全掌握! ...

最新文章

  1. MYSQL体系结构-来自期刊
  2. windows mysql 开启日志功能_Windows下开启mysql日志功能
  3. 网络:TCP/IP各层的协议
  4. 4.14 | 学习笔记
  5. 用数字告诉你2014年Google的野心在哪里
  6. c语言里的%p的作用,C语言中geiwei=m%10什么意思,求解!
  7. Waiting 180 more seconds for 1 worker threads to finish
  8. Dapper的正确使用姿势
  9. matlab 0-100随机数,添加到100的随机数:matlab
  10. android抢qq红包源码,QQ抢红包插件实现,安卓源码,以及详细分析,androidqq抢红包源码,捡代码论坛整理...
  11. 微软手机远程桌面使用
  12. 浅学transcad(交通小区的划分)
  13. 〖EXP〗NSA MS17010永恒之蓝一键工具
  14. python PDF文件拆分与合并
  15. java展示图片_Java中显示图片的方法
  16. SONET 的OC 级/STS 级与SDH 的STM 级的对应关系(转)
  17. 写给Python程序员的PHP快速入门教程
  18. A记录和CNAME记录有什么区别?
  19. eBay Inc(EBAY)2020年第三季度收益电话会议记录
  20. Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans,....

热门文章

  1. 2022独角兽100强榜出炉!
  2. Nanite失效、无法开启、可视化Buffer试图、Debug的一揽子解决方案-2023年版
  3. 我想换手机了,请问你推荐华为还是小米
  4. 执行pod指令出错:Traceback (most recent call last):
  5. 一、了解java虚拟机历史发展、及java8带来的新特性
  6. 惠普EliteBook-830-G5电脑 Hackintosh 黑苹果efi引导文件
  7. 支持ipv6转发的路由器有哪些
  8. 昇腾AI机器人发布,12家企业、5家高校签约,昇腾AI开发者创享日全国巡展沈阳首站成功举办
  9. 安卓性能优化面试,从草根到百万年薪程序员的十年风雨之路
  10. Connor学Android - RootView、DecorView、MeasureSpec