当前位置: 首页 > news >正文

CSS盒子模型:网页布局的基石与艺术

一、什么是盒子模型?

每个HTML元素在浏览器中都被渲染为一个矩形盒子。CSS盒子模型描述了这些盒子如何构成:从内容区域开始,依次添加内边距、边框和外边距。理解盒子模型是掌握CSS布局的第一步。

想象一下俄罗斯套娃:

  • 最内层:内容(你真正想展示的东西)

  • 第二层:内边距(内容与边框之间的缓冲空间)

  • 第三层:边框(盒子的边界)

  • 最外层:外边距(盒子与其他盒子之间的距离)

二、盒子模型的组成部分

1. 内容区域(Content)

盒子最核心的部分,包含文本、图片等实际内容。

div { width: 200px; /* 内容区域的宽度 */ height: 150px; /* 内容区域的高度 */ background: #f0f0f0; }

2. 内边距(Padding)

内容区域与边框之间的空间,背景色会延伸到内边距区域

div { padding: 20px; /* 简写:四个方向都是20px */ /* 分别设置各边内边距 */ padding-top: 10px; padding-right: 15px; padding-bottom: 10px; padding-left: 15px; /* 简写的不同形式 */ padding: 10px; /* 上右下左都是10px */ padding: 10px 20px; /* 上下10px,左右20px */ padding: 10px 20px 15px; /* 上10px,左右20px,下15px */ padding: 10px 20px 15px 5px; /* 上10px,右20px,下15px,左5px */ }

3. 边框(Border)

围绕内容和内边距的边界线,可以设置样式、宽度和颜色。

div { /* 边框的三个属性 */ border-width: 2px; /* 边框宽度 */ border-style: solid; /* 边框样式:solid, dotted, dashed, double等 */ border-color: #333; /* 边框颜色 */ /* 简写形式 */ border: 2px solid #333; /* 分别设置各边边框 */ border-top: 1px dashed red; border-right: 2px solid blue; border-bottom: 3px dotted green; border-left: 4px double orange; /* 圆角边框 */ border-radius: 10px; border-radius: 50%; /* 圆形 */ }

4. 外边距(Margin)

盒子与其他盒子之间的空间,始终是透明的,不会显示背景。

div { margin: 20px; /* 四个方向都是20px */ /* 简写与padding相同 */ margin: 10px 20px; /* 上下10px,左右20px */ /* 特殊值 */ margin: 0 auto; /* 水平居中(左右auto平均分配) */ margin-top: -10px; /* 负外边距,元素会重叠 */ }

三、标准盒子模型 vs 替代盒子模型

这是盒子模型中最关键的区别!

1. 标准盒子模型(content-box)【默认】

元素的widthheight只包含内容区域的尺寸。

.box { box-sizing: content-box; /* 默认值 */ width: 200px; height: 100px; padding: 20px; border: 5px solid black; margin: 10px; }

实际占据空间计算:

  • 总宽度 =width+左右padding+左右border+左右margin

    • = 200 + 20*2 + 5*2 + 10*2 = 270px

  • 总高度 =height+上下padding+上下border+上下margin

    • = 100 + 20*2 + 5*2 + 10*2 = 170px

2. 替代盒子模型(border-box)

元素的widthheight包含内容+内边距+边框的尺寸。

.box { box-sizing: border-box; width: 200px; /* 这个200px包含了内容+padding+border */ height: 100px; padding: 20px; border: 5px solid black; margin: 10px; }

实际占据空间计算:

  • 总宽度 =width+左右margin

    • = 200 + 10*2 = 220px

  • 总高度 =height+上下margin

    • = 100 + 10*2 = 120px

内容区域实际尺寸:

  • 内容宽度 =width-左右padding-左右border

    • = 200 - 20*2 - 5*2 = 150px

  • 内容高度 =height-上下padding-上下border

    • = 100 - 20*2 - 5*2 = 50px

推荐使用border-box!

http://www.jsqmd.com/news/262623/

相关文章:

  • 射频-驻波比的理解
  • Gemini CLI快速运维
  • Linux 基础开发工具详解(Yum, Vim, GCC, Make, GDB, Git) - 指南
  • 组合螺丝专业供应商靠谱吗,东层紧固件有哪些信任背书? - 工业品牌热点
  • 复合式分板机国内选哪个厂家的产品好? - 工业品牌热点
  • Godot Win32
  • 芯片制造企业网页如何集成百度开源上传组件实现文件夹上传?
  • 极端天气数据集 恶劣天气数据集 雾天道路行驶数据集 黑夜情境下的交通数据集 红绿灯检测数据集 疲劳驾驶检测数据集 交通路锥检测数据集 路面标识交通引导线 车道线检测数据集]
  • 14.2 去中心化协同与导航:基于LIVEPOINT框架的无死锁多机器人系统
  • 机械制造行业网页如何用html5实现文件夹上传?
  • 14.3 任务分配与协同操作:从市场拍卖到分布式优化的多机器人协作
  • 基于SpringBoot+Vue网络办公自动化系统的设计与实现
  • 15.1 机器人控制的伦理、安全与社会影响:技术成熟度伴随的责任审视
  • hadoop集群搭建 (超详细) 接入Impala、Hive,AI 大模型的数据底座 - 教程
  • 仓库管理软件哪个好用,有没有最简单的出入库系统
  • 15.2 技术融合与未来展望:AI、新材料与生物交叉驱动下的新形态与新能力
  • 研究生必看:导师让改AI率?这份超全攻略帮你顺利过关
  • skill-creator详细且实用的教程
  • 2010-2025年上市公司数字化迎合指标数据
  • 保姆级教程:5分钟学会用工具降低论文AIGC检测率
  • 2002-2024年上市公司供应链数字化转型数据+代码
  • 1985.1-2026.1世界各国经济政策不确定性指数
  • 知网AIGC检测标准更新后,这3款降AI工具依然有效
  • 【多无人机路径规划】基于K均值聚类与遗传算法的无人机路径规划,对任务区域进行划分,并优化每个区域内的访问路径研究(Matlab代码实现)
  • 【多无人机协同目标运输任务】多无人机协同目标运输任务中的路径规划与动态控制研究(Matlab代码实现)
  • py每日spider案例之music搜索接口
  • py每日spider案例之music搜索接口
  • 还没想好
  • 2026年国内评价高的抖音广告代运营公司找哪家,视频矩阵/抖音头条信息流广告/微信朋友圈广告,抖音广告代运营公司推荐排行 - 品牌推荐师
  • 2026年好用的液压旋铆机优质生产商排名,前十名有谁? - 工业品牌热点