Css的两种盒模型

在进行网页的搭建时,通常会用到很多的标签,可以形象的把这些标签看成是一个个矩形,这些矩形盒子搭建成了网页。在描述盒子模型前先来介绍一下盒子的一些属性。

盒子通常指的是块元素(但是行内元素在浏览器的查看器内也会出现盒子模型的图片),一个完整的盒子由四个部分组成,它们分别是:

margin   外边距

        代表盒子四周的区域。相邻元素的边距会合并

border    边框

​        设定介于padding的外边缘与margin的内边缘之间,默认值为0

padding   内边距

        在任何定义的边界内的元素内容周围生成空间

width & height    

​    内容区域的宽与高,可以在标签的样式代码里直接设置

在html文件里定义了一个div标签,然后在浏览器里按F12查看一下

 

 在浏览器内按F12后再按shift+ctrl+c  选中div    可以在右侧的查看器内看到定义的盒子模型

 而同样的  设置的a标签和p标签也有

 

 在浏览器查看器里的盒子模型可以很清楚的看到盒子的具体组成

由外向里分别是   margin  外边距-->border  边框-->padding  内边距-->内容区域content

下面开始介绍属性的设置

1.margin  外边距, 用来控制当前元素与其他元素或者浏览器边框的距离, 例如:

 这里为绿色背景色的div添加了200px大小的左边距

 浏览器内的div离浏览器左侧偏移了200px(因为当前div元素左侧没有同级元素,所以参照物变成了浏览器)

设置其他方向上的边距大小:

margin-left 左边距

margin-right 右边距

margin-top 上边距

margin-bottom  下边距

有一种快捷的设置方法

margin:a,b,c,d    这里a代表上边距,b代表右边距,c代表下边距,d代表左边距,按照一个顺时针的顺序来进行排序

 

 或者直接border: a  b;  这里a是上下边距,b是左右边距

 

 2.border 边框

边框是环绕在标签宽度和高度上的线条

border的常见用法:

border-width 设置边框宽度 

border-color 设置边框颜色

border-style 设置边框样式,它的常用取值有:

边框样式取值: ​

none 定义无边框。 ​

hidden 与 "none" 相同。不过应用于表时除外,对于表,hidden 用于解决边框冲突。

​solid 定义实线。 ​

double 定义双线。双线的宽度等于 border-width 的值。 ​

举个例子:

 

 这里设置了颜色为黑色,宽为5px的实线边框

在写的时候一般直接使用快捷的写法

border:(边框宽度) (边框样式) (边框颜色);

 

在上面的连写中,宽度跟颜色都可以省略(颜色默认是黑色),样式不可以省略
 

注意连写也可以用在写单独的一条边框

border-top: 边框的宽度 边框的样式 边框的颜色;

​ border-right: 边框的宽度 边框的样式 边框的颜色;

​ border-bottom: 边框的宽度 边框的样式 边框的颜色; ​

border-left: 边框的宽度 边框的样式 边框的颜色;

3.padding  内边距

 边框和内容之间的距离就是内边距

padding的设置跟margin类似

​ padding-top: ;

padding-right: ;

​ padding-bottom: ; ​

padding-left: ;

.给标签设置内边距之后, 标签占有的宽度和高度会发生变化 ​

.在给标签设置内边距之后, 内边距也会有背景颜色

 给这个边长300px的正方形盒子添加一个padding属性

 

可以看到盒子被拉长了

连写的格式 ​ padding: 上 右 下 左;

盒子模型:

在Css中有两种盒子模型,一种是内容盒子,一种是边框盒子。内容盒子是默认盒子,在创建一个新盒子时盒子类型默认为内容盒子

内容盒子:

在给标签(默认情况下,也就是内容盒子)设置宽高时,width和height设置的是盒子模型中的content的width和height,边框以及内边距是往外挤压的,这些部分会占据外面没有定义给当前盒子的部分。例如

 

 

 可以看到,内容盒子的边框跟内边距会影响该标签在浏览器内占据的区域

总结一下就是

内容区的宽

width

内容区的高

height

盒子的宽

width+paddingLeft+paddingRight+borderLeft+borderRight

盒子的高

height+paddingTop+paddingBottom+borderTop+borderBottom

所占屏幕空间的宽

width+paddingLeft+paddingRight+borderLeft+borderRight +marginLeft+marginRight

所占屏幕空间的高

height+paddingTop+paddingBottom+borderTop+borderBottom+marginTop+marginBottom

 

在理解时最好参考盒子模型的图片

第二种盒子模型是边框盒子  border-box   两种盒子的转换需要用box-sizing来实现

边框盒子最大的特点就是它的border和内边距padding都是向内挤压的,即它只会占据设置给它的width和height

例如

 

将鼠标移到该元素的盒子模型中的padding,可以看到padding也是向内进行挤压,总结一下就是

内容区的宽

width-paddingLeft-paddingRight-borderLeft-borderRight

内容区的高

height-paddingTop-paddingBottom-borderTop-borderBottom

盒子的宽

width

盒子的高

height

所占屏幕空间的宽

width+marginLeft+marginRight

所占屏幕空间的高

height+marginTop+marginBottom

 以上就是Css的两种盒子模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值