前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >前端面试题中的“盒模型”是什么?

前端面试题中的“盒模型”是什么?

作者头像
呆呆
修改2021-09-29 17:10:47
4690
修改2021-09-29 17:10:47
举报
文章被收录于专栏:centosDai

在进行网页布局时,我们一定离不开盒模型,接下来开始学习什么是盒模型?

什么是盒模型?

css 盒模型(Box Model),在html中任何一个元素都可以看作盒子,这里说的盒子与现实不太一样,css中盒子是二维的,盒子由内到外分四个部分:margin(外边距)、border(边框)、padding(内边距)、content(内容)。css通过margin、border、padding三个属性来控制盒子,content是html元素的内容。

前端面试题中的“盒模型”是什么?
前端面试题中的“盒模型”是什么?

属性介绍

  1. margin:是盒子的外边框,包含了上下左右四条边,开发者可以单独设置,也可以统一设置。

margin-top:上边距

margin-right:右边距

margin-bottom:下边距

margin-left:左边距

复制代码
复制代码
代码语言:javascript
复制
代码示例1:
/*margin属性后只跟1个值,同时设置四条边的边距相等*/
margin:10px;
/*上面的样式等同于下面的样式*/
margin-top:10px;
margin-right:10px;
margin-bottom:10px;
margin-left:10px;
复制代码
复制代码
复制代码
复制代码
代码语言:javascript
复制
代码示例2:
/*margin属性后跟2个值,第一个值设置上下边距,第二个是设置左右边距*/
margin:20px 10px;/*上面的样式等同于下面的样式*/
margin-top:20px;
margin-right:10px;
margin-bottom:20px;
margin-left:10px;
复制代码
复制代码
复制代码
复制代码
代码语言:javascript
复制
代码示例3:
/*margin属性后跟3个值,第一个值设置上边距,第二个是设置左右边距,第三个值设置下边距*/
margin:20px 50px 10px;
/*上面的样式等同于下面的样式*/
margin-top:20px;
margin-right:50px;
margin-bottom:10px;
margin-left:50px;
复制代码
复制代码
复制代码
复制代码
代码语言:javascript
复制
代码示例4:
/*margin属性后跟4个值,第一个值设置上边距,第二个是设置右边距,第三个值设置下边距,第四个值设置左边距*/
margin:10px 20px 30px 40px;
/*上面的样式等同于下面的样式*/
margin-top:10px;
margin-right:20px;
margin-bottom:30px;
margin-left:40px;
复制代码
复制代码
  1. padding:表示盒子内边距,与外边距不同,padding不是只能完全透明,可以设置背景颜色和图片。padding也包含了上下左右四个方向边距,可以单独设置,也可以简写设置,与上面margin类似,可参考margin的4个代码实例。
前端面试题中的“盒模型”是什么?
前端面试题中的“盒模型”是什么?
  1. border:表示盒子的边框,允许设置多种样式和颜色,与margin类似,可以对四个方向边框分别设置,也可简写。

border-top:上边框

border-right:右边框

border-bottom:下边框

border-left:左边框

设置边框时,可以分别对边框的宽度、样式和颜色进行设置。分别为:

border-width : 边框宽度

border-style : 边框样式

border-color : 边框颜色

边框属性进行简写时:border:宽度 样式 颜色。如:border:5px solid red。

复制代码
复制代码
代码语言:javascript
复制
border实例1:
border:5px solid red;
/* 上边的简写相当于下面分别设置 */
border-width:5px;
border-style:solid;
border-color:red;
复制代码
复制代码

border-style属性值及意义:

  • none:无边框
  • hidden:与none相同,hidden用于解决边框冲突。
  • solid:实线。
  • dashed:虚线。
  • double:双线。
  • dotted:点状边框。
  • groove:定义3D沟槽边框。
  • ridge:3D脊边框。
  • inset:3D嵌入边框。
  • outset:3D突出边框。
复制代码
复制代码
代码语言:javascript
复制
边框实例2:
/* 边框使用简写时,表示四条边框的宽度、样式及颜色完全相同 */
border:2px solid green;
/* 上边的样式等同于下面的样式 */
border-top:2px solid green;
border-right:2px solid green;
border-bottom:2px solid green;
border-left:2px solid green;
复制代码
复制代码
复制代码
复制代码
代码语言:javascript
复制
边框实例3:
/* 边框使用简写时,表示四条边框的宽度、样式及颜色完全相同 */
border-top:2px solid green;
/* 上边的样式等同于下面的样式 */
border-top-width:2px;
border-top-style:solid;
border-top-color:green;
复制代码
复制代码

盒子大小

盒子的大小指的是盒子的宽度和高度。默认情况下width和height属性只是设置了content部分的宽高,盒子实际的宽和高按下面公式计算:

实际宽度 = width + margin-left + padding-left + border-left + border-right + padding-right + margin-right;

实际高度 = height+ margin-top + padding-top + border-bottom + border-bottom + padding-bottom + margin-bottom;

上边说的是默认情况下的计算方法,另一种情况下,width、height设置的就是盒子的宽高。盒子的宽高是由box-sizing属性控制的,box-sizing属性值:

  • content-box:默认值,width,height设置的内容宽高,不包含内外边距和边框。
  • border-box:设置的width、height包含了边框和内边距,真正的元素高度需要减去边框和内边距才能得到。
  • inherit:继承父级的box-sizing属性值。

属性值为content-box时,这种盒子称为标准盒子模型,为border-box时,盒子称为IE盒子模型。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是盒模型?
  • 属性介绍
  • 盒子大小
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档