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;

相关推荐
GIS之路2 小时前
ArcGIS Pro 中的 Notebooks 入门
前端
IT_陈寒3 小时前
React状态管理终极对决:Redux vs Context API谁更胜一筹?
前端·人工智能·后端
Kagol4 小时前
TinyVue 支持 Skills 啦!现在你可以让 AI 使用 TinyVue 组件搭建项目
前端·agent·ai编程
柳杉4 小时前
从零打造 AI 全球趋势监测大屏
前端·javascript·aigc
simple_lau4 小时前
Cursor配置MasterGo MCP:一键读取设计稿生成高还原度前端代码
前端·javascript·vue.js
睡不着先生4 小时前
如何设计一个真正可扩展的表单生成器?
前端·javascript·vue.js
天蓝色的鱼鱼4 小时前
模块化与组件化:90%的前端开发者都没搞懂的本质区别
前端·架构·代码规范
明君879974 小时前
Flutter 如何给图片添加多行文字水印
前端·flutter
进击的尘埃4 小时前
AI 代码审查工具链搭建:用 AST 解析 + LLM 实现自动化 Code Review 的前端工程方案
javascript
juejin_cn5 小时前
[转][译] 从零开始构建 OpenClaw — 第五部分(对话压缩)
javascript