HTML(15)——盒子模型

盒子模型组成

  • 内容区域 -width&height
  • 内边距-padding (出现在内容与盒子边缘之间)
  • 边框线-border
  • 外边距-margin (出现在盒子外面)

div {

width: 200px;

height: 200px;

background-color: rgb(85, 226, 193);

padding: 20px;

border: 2px solid #000;

margin: 20px;

}

盒子模型------边框线

属性名:border(bd)

属性值:边框线粗细 线条样式 颜色(不区分顺序)

常用的线条样式

属性值 线条样式
solid 实线
dashed 虚线
dotted 点线

同时还能设置单方向边框线

属性名:border-方位名词(bd+方位名词首字母)

例如:

盒子模型------内边距

作用:设置内容与盒子边缘之间的距离

属性名:padding/padding-方位名词

padding的多值写法

|------|-----------------------------|-----------------------|
| 取值个数 | 示例 | 含义 |
| 一个值 | padding:20px | 四个方向均为20px |
| 四个值 | padding:10px 20px 30px 40px | 分别代表上,右,下,左 |
| 三个值 | padding:10px 20px 30px | 上:10px ;左右20px ;下30px |
| 两个值 | padding:10px 20px | 上下:10px;左右20px |

盒子模型------尺寸计算

盒子尺寸=内容尺寸+boder尺寸+内边距尺寸

解决盒子撑大的问题:

  • 手动做减法,减掉border/padding的尺寸
  • 内减模式:box-sizing:border-box

示例:

最开始的盒子为

div {

width: 200px;

height: 200px;

background-color: rgb(85, 226, 193);

}

在添加边框和内边距后

div {

width: 200px;

height: 200px;

background-color: rgb(85, 226, 193);

border: 20px solid rebeccapurple;

padding: 30px;

}

盒子由原来的200×200变为300×300(原因是四边都要加上border和padding)

此时使用手动减法,减去border和padding的尺寸

div {

width: 100px;

height: 100px;

background-color: rgb(85, 226, 193);

border: 20px solid rebeccapurple;

padding: 30px;

}

或者使用第二种内减模式

div {

width: 200px;

height: 200px;

background-color: rgb(85, 226, 193);

border: 20px solid rebeccapurple;

padding: 30px;

box-sizing: border-box;

}

以上两种可以避免盒子被撑大。

盒子模型------外边距

属性名:margin

与padding属性写法完全相同,包括多值写法,同时margin不会撑大盒子。

实现版心居中的效果:要求盒子必须要有width属性

margin: 0 auto;

相关推荐
To_OC2 小时前
面试被问了三回三栏布局,这次我终于把 BFC 那层窗户纸捅破了
前端·css·面试
To_OC3 小时前
啃完 TS 工具类型我发现:Pick 和 Omit 原来就是一层窗户纸
前端·面试·typescript
风月说与山鬼4 小时前
三、大括号语法
前端·react.js
kyriewen4 小时前
我把最常踩的8个CORS跨域报错整理了一遍——第8个去年还不存在
前端·javascript
Csvn5 小时前
🕰️ 闭包 + setTimeout 的 5 个经典陷阱:为什么定时器看到的永远不是最新的值?
前端
lilian2335 小时前
Harmony os 技术实战|拼豆制图27:用单字符编码承载 50 张 70×70 图纸
前端·数据库·华为·harmonyos
CarIise6 小时前
CSS选择器与样式关联
前端·css·tensorflow
里欧跑得慢7 小时前
CSS 模块化架构的演进:BEM、CSS Modules 到 CSS-in-JS 的反思
前端·css·flutter·web·css-in-js
IT_陈寒7 小时前
Vue的computed属性把我坑惨了,原来我一直用错姿势
前端·人工智能·后端