前端基础实战笔记:文档流 + 盒子模型

文档流与盒子模型详解

一、文档流(Normal Flow)

1. 文档流概念

HTML元素默认处于文档流中,可分为两种状态:

  • 文档流内
  • 脱离文档流

文档流中元素特性

  • 块级元素

    1. 独占一行显示
    2. 宽度默认继承父元素100%
    3. 高度由内容自动撑开
  • 行内元素

    1. 与其他行内元素共享一行
    2. 宽高由内容决定,不可手动设置
  • 行内块元素

    1. 兼具块级和行内元素特性
    2. 存在3像素间隙问题
示例代码:
html 复制代码
<div class="box">
  <div class="box1">box1</div>
  <div class="box2">box2</div>
</div>
css 复制代码
.box {
  width: 300px;
  height: 300px;
  background-color: #ccc;
}
.box1, .box2 {
  width: 100px;
  height: 100px;
  background-color: red;
  display: inline-block; /* 转换为行内块元素 */
}
.box2 {
  background-color: green;
}

二、盒子模型(Box Model)

1. 基本概念

盒子模型是CSS布局的核心概念,将页面元素视为矩形盒子进行布局设计,只需关注尺寸和位置。

盒子由四个部分组成:

组成部分 类比说明 功能描述
内容区(content) 商品本体 元素的实际内容区域
内边距(padding) 防震材料 内容与边框的缓冲空间
边框(border) 包装外壳 内容区的保护边界
外边距(margin) 物品间距 控制元素间的距离

盒子实际尺寸 = 内容区 + 内边距 + 边框(外边距不计入)

示例代码:
css 复制代码
.box1 {
  width: 200px;
  height: 200px;
  background-color: red;
}
html 复制代码
<div class="box1">
  这是示例文本内容。
</div>

2、边框(Border)

边框定义元素的边界线,区分盒子内外区域。

css 复制代码
.box {
  border: 30px solid black;
  border-color: transparent transparent transparent black;
}

技巧:利用透明边框可制作三角形箭头效果。


3、内边距(Padding)

控制内容与边框之间的间距。

css 复制代码
.box1 {
  width: 200px;
  height: 200px;
  background-color: #bfa;
  border: 10px solid green;
  padding: 20px; /* 简写形式 */
}
.box2 {
  width: 100%;
  height: 100%;
  background-color: orange;
}

4、外边距(Margin)

设置元素之间的间距。

css 复制代码
.box1 {
  width: 200px;
  height: 200px;
  background-color: #bfa;
  border: 10px solid red;
  margin-top: -50px; /* 负外边距 */
}
.box2 {
  width: 200px;
  height: 200px;
  background-color: orange;
}

5、圆角与阴影

圆角(Border-radius)

css 复制代码
.box2 {
  width: 300px;
  height: 300px;
  background-color: #bfa;
  border-radius: 50px 0 50px 0; /* 简写形式 */
}

圆形实现:正方形元素设置border-radius: 50%


是否需要将这些内容整合为完整的HTML教学文档?可包含所有示例代码和说明,便于保存和使用。

相关推荐
摇滚侠3 小时前
三天学通 Groovy—Groovy 程序设计,Groovy 中的数据类型,笔记 1-13
笔记·groovy
wdfk_prog3 小时前
[Linux]学习笔记系列 -- [driver]base
linux·笔记·学习
am心3 小时前
学习笔记-套餐接口
笔记·学习
胖者是谁3 小时前
EasyPlayerPro的使用方法
前端·javascript·css
EndingCoder3 小时前
索引类型和 keyof 操作符
linux·运维·前端·javascript·ubuntu·typescript
liux35283 小时前
Web集群管理实战指南:从架构到运维
运维·前端·架构
沛沛老爹3 小时前
Web转AI架构篇 Agent Skills vs MCP:工具箱与标准接口的本质区别
java·开发语言·前端·人工智能·架构·企业开发
小光学长4 小时前
基于Web的长江游轮公共服务系统j225o57w(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
前端·数据库
Joe5565 小时前
vue2 + antDesign 下拉框限制只能选择2个
服务器·前端·javascript
悠哉悠哉愿意5 小时前
【嵌入式学习笔记】OLED 显示驱动 (SSD1306)
笔记·单片机·嵌入式硬件·学习