html 盒子写法,CSS盒子模型

b76881bf3040f9032b5cd45244716e57.png

CSS盒子模型

1. 盒子模型的组成

CSS盒子模型本质上是一个盒子,封装周围的HTML元素。

包括:边框border、外边距margin、内边距padding、实际内容content。

730782900a59d64209657078ac63ad4c.png

2. 边框border

div {

border: border-width border-style border-color;

}

属性

作用

border-width

边框粗细,单位px

border-style

边框样式,solid(实线)、dashed(虚线)、dotted(点线)

border-color

边框颜色,预定义值/十六进制/rgb()

线形

样式

dashed 虚线

- - - - - - - -

dotted 点线

.................

属性

作用

border-left

左边框

border-right

右边框

border-top

上边框

border-bottom

下边框

2.1 边框写法

简写:

border: 1px solid blue;/*没有顺序规定,一般按照这种顺序*/

分开写法:

border-top: 1px solid blue;/*只设定上边框*/

border-right: 1px dashed red;/*只设定右边框*/;

border-bottom: 2px solid #ccc;/*只设定下边框*/

border- left: 3px dotted #123456;/*只设定左边框*/

2.2 表格的细线边框border-collapse

该属性控制浏览器绘制表格边框的方式,它控制相邻单元格的边框。

border-collapse: collapse;/*表示相邻边框合并在一起*/

4ff9e31f651299c2f782cd0a95dfb690.png

2.3 边框影响盒子实际大小的解决方案

如果一个盒子加了边框,会出现撑大盒子的情况,因此有两种解决方案。

测量盒子大小的时候,不量边框

如果测量的时候包含了边框,则需要width/height减去边框宽度

3. 内边距padding

内边距:边框与内容之间的距离。

属性

作用

padding-left

左内边距

padding-right

右内边距

padding-top

上内边距

padding-bottom

下内边距

padding的简写属性可以有1~4个值。

值的个数

表达意思

padding: 5px

上下左右都是5px内边距

padding: 5px 10px

上下5px,左右10px

padding: 5px 10px 15px

上5px,左右10px,下15px

padding: 5px 10px 15px 20px

上5px,右10px,下15px,左20px

3.1 内边距影响盒子实际大小的解决方案

如果盒子已经有了宽度和高度,此时再指定内边框,会影响盒子的实际大小,撑大盒子。因此有两种解决方案。

让width/height减去多出来的内边距大小

如果盒子本身没有指定width/height属性,则此时padding不会撑开盒子

4. 外边距margin

外边距:控制盒子与盒子之间的距离。

属性

作用

margin-left

左外边距

margin-right

右外边距

margin-top

上外边距

margin-bottom

下外边距

margin的简写和padding一致。

4.1 外边距让块级盒子水平居中

利用外边距让块级盒子水平居中所满足的条件:

盒子必须指定了宽度

盒子左右的外边距都设置为auto

常见的写法:

margin-left: auto;margin-right: auto;

margin: auto;

margin: 0 auto;(建议使用)

注:行内元素、行内块元素水平居中,给其父元素添加text-align: center;即可。

4.2 外边距合并

使用margin定义块元素的垂直外边距时,可能会出现外边距的合并。

4.2.1 相邻块元素垂直外边距的合并

c96f4dd7061f4500efcc12fd063166cf.png

如上图,出现了取两个值中的较大者的现象,即为相邻块元素垂直外边距的合并。

解决方案:尽量只给一个盒子添加margin值。

4.2.2 嵌套块元素垂直外边距的塌陷

b58826f68c3152618d3f69727330765d.png

如上图,出现了父元素塌陷较大的外边距值的现象,即为嵌套块元素垂直外边距的塌陷。

解决方案:

为父元素定义上边框

为父元素定义上内边距

为父元素添加overflow: hidden;(推荐使用)

5. 清除内外边距

这也是CSS的第一行代码。

* {

padding: 0;/*清除内边距*/

margin: 0;/*清除外边距*/

}

注:

行内元素为了照顾兼容性,尽量只设置左右内外边距

但是转换为块级或行内块元素就无要求

CSS盒子模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值