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

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

什么是盒模型?

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:左边距

代码示例1:

/*margin属性后只跟1个值,同时设置四条边的边距相等*/
margin:10px;
/*上面的样式等同于下面的样式*/
margin-top:10px;
margin-right:10px;
margin-bottom:10px;
margin-left:10px;

代码示例2:

/*margin属性后跟2个值,第一个值设置上下边距,第二个是设置左右边距*/
margin:20px 10px;/*上面的样式等同于下面的样式*/
margin-top:20px;
margin-right:10px;
margin-bottom:20px;
margin-left:10px;

代码示例3:

/*margin属性后跟3个值,第一个值设置上边距,第二个是设置左右边距,第三个值设置下边距*/
margin:20px 50px 10px;
/*上面的样式等同于下面的样式*/
margin-top:20px;
margin-right:50px;
margin-bottom:10px;
margin-left:50px;

代码示例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。

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突出边框。

边框实例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;

边框实例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盒子模型。

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

上一篇:IDEA创建Gatling项目


下一篇:【Vegas原创】CentOS安装k8s