CSS盒子模型+box-sizing

摘要:
CSS决定这些框的大小、位置和属性。标准框模型是:边距+边框+填充+内容宽度。边距区域用空白区域扩展边界区域,以分隔相邻元素。它由边框宽度和缩写属性边框控制。如果框大小是默认值,则宽度、最小宽度、最大宽度、高度、最小高度和最大高度控制内容大小。框大小在CSS中,只能将元素的宽度和高度设置为元素的内容区域。当我们实现响应式布局时,可以使用框大小属性来调整这些表示:内容框是默认值。请注意,填充和边框将位于框内,例如,。框{350px;边框:10px实心块;}这将导致在浏览器中呈现一个350px宽的框。

当对文档进行布局时,浏览器渲染引擎会根据css-Box模型(CSS Basic Box model)将所有元素表示为一个矩形盒子。CSS决定这些盒子的大小,位置以及属性(颜色,背景,边框尺寸)

标准盒模型

从外向内依次为: Margin + border + padding + content-width

外边距区域margin area用空白区域扩展边框区域,以分开相邻的元素。它的大小为  margin-box 的高宽。外边距区域大小由 margin-topmargin-rightmargin-bottommargin-left 及简写属性 margin 控制。

边框区域border area 是包含边框的区域,扩展了内边距区域。它位于边框边界内部,大小为 border-box  宽和 border-box 高。由 border-width 及简写属性 border控制。

内边距区域padding area 延伸到包围padding的边框。如果内容区域content area设置了背景、颜色或者图片,这些样式将会延伸到padding上(译者注:而不仅仅是作用于内容区域)它位于内边距边界内部, 它的大小为 padding-box  宽与 padding-box 高。

内容区域content area 是包含元素真实内容的区域。它通常包含背景、颜色或者图片等,位于内容边界的内部,它的大小为内容宽度 或 content-box宽及内容高度或content-box高。如果 box-sizing 为默认值(content-box默认值,标准盒子模型), widthmin-widthmax-widthheightmin-height 与 max-height 控制内容大小。

CSS盒子模型+box-sizing第1张

box-sizing

在CSS中,你设置一个元素的 width 与 height 只会应用到这个元素的内容区。如果这个元素有任何的 border 或 padding ,绘制到屏幕上时的盒子宽度和高度会加上设置的边框和内边距值。这意味着当你调整一个元素的宽度和高度时需要时刻注意到这个元素的边框和内边距。当我们实现响应式布局时

box-sizing 属性可以被用来调整这些表现:

  • content-box  是默认值。如果你设置一个元素的宽为100px,那么这个元素的内容区会有100px宽,并且任何边框和内边距的宽度都会被增加到最后绘制出来的元素宽度中。
  • border-box 告诉浏览器去理解你设置的边框和内边距的值是包含在width内的。也就是说,如果你将一个元素的width设为100px,那么这100px会包含其它的border和padding,内容区的实际宽度会是width减去border + padding的计算值。大多数情况下这使得我们更容易的去设定一个元素的宽高。

CSS盒子模型+box-sizing第2张

content-box 默认值,标准盒子模型。 width 与 height 只包括内容的宽和高, 不包括边框(border),内边距(padding),外边距(margin)。注意: 内边距, 边框 & 外边距 都在这个盒子的外部。 比如. 如果 .box { 350px}; 而且 {border: 10px solid black;} 那么在浏览器中的渲染的实际宽度将是370px;

尺寸计算公式:width = 内容的宽度,height = 内容的高度。宽度和高度都不包含内容的边框(border)和内边距(padding)。

border-box  width 和 height 属性包括内容,内边距和边框,但不包括外边距。这是当文档处于 Quirks模式(怪异模式) 时Internet Explorer使用的盒模型。注意,填充和边框将在盒子内 , 例如, .box { 350px; border: 10px solid black;} 导致在浏览器中呈现的宽度为350px的盒子。内容框不能为负,并且被分配到0,使得不可能使用border-box使元素消失。

这里的维度计算为:width = border + padding + 内容的  width,height = border + padding + 内容的 height。

参考:https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_Box_Model/Introduction_to_the_CSS_box_model

          https://developer.mozilla.org/zh-CN/docs/Web/CSS/box-sizing

免责声明:文章转载自《CSS盒子模型+box-sizing》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇在.net core中数据操作的两种方式(Db first && Code first)GIT安装完需要做以下配置下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

小程序 大转盘 抽奖 canvas animation

项目需求运用到大转盘 可设置概率 可直接自定义结果 效果如下  ​ 两种方法及结合法 一 通过canvas 实现 但是因为定时器原因 手机端卡顿严重 故而最终使用了方法二 但也是该记录下 学习canvas 二 通过小程序Api animation完成完美解决卡顿问题 更精确定位 有样式缺陷 css无法解决样式 自动分配问题 故结合一二两种方法 出现第三种...

用HTML,CSS和JavaScript创建iPhone/iPad应用程序

象大多数iPad粉丝和程序员一样,我有一个梦想,那就是如果不需要昂贵的Apple设备,不要繁琐的审批程序,不要为发布应用交钱就能开发iPad 应用程序该多好.现在这个梦想就要实现了,那就是网页应用程序. 那么,怎样才能让网页象看起来象本机程序一样呢?你需要做这些工作: 全屏幕:(去掉浏览器的地址栏和按钮栏);防止窗口滚动和缩放; 响应多点触摸和手势事件;...

html css项目积累汇总

1、关于ul的padding-left:40px的问题; 首先,我们来看一段代码: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>ul的padding-left:40...

让footer固定在页面底部(CSS-Sticky-Footer)

让footer固定在页面底部(CSS-Sticky-Footer)     这是一个让网站footer固定在浏览器(页面内容小于浏览器高度时)/页面底部的技巧。由HTML和CSS实现,没有令人讨厌的hacks。所以这就能在所有主流浏览器上正常运行(甚至包括IE5和IE6)。 如何通过用CSS让Footer固定在页面顶部。 在样式表单里添加下面几行CS...

Jquery面试题整合

一、Jquery测试题 下面哪种不是jquery的选择器?(单选) A、基本选择器 B、后代选择器 C、类选择器 D、进一步选择器 考点:jquery的选择器 (C) 当DOM加载完成后要执行的函数,下面哪个是正确的?(单选) jQuery(expression, [context]) B、jQuery(html,[ownerDocument]) C、jQ...

语法高亮插件SyntaxHighlighter的使用教程

首先到这里下载其源码。里面东西挺多的,我们基本上可以把它放到两个文件夹就是。其中shCore.js与shCore.js与clipboard.swf放到js文件夹中,shCore.css还有另一个CSS文件(随你挑一个吧)与所有图片放到style文件夹中。如果你想高亮html或xml代码,那么就在js多放一个shBrushXml.js,如果要高亮javascr...