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

文档流与盒子模型详解

一、文档流(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教学文档?可包含所有示例代码和说明,便于保存和使用。

相关推荐
掘金安东尼1 小时前
纯 CSS 实现弹性文字效果
前端·css
牛奶2 小时前
Vue 基础理论 & API 使用
前端·vue.js·面试
牛奶2 小时前
Vue 底层原理 & 新特性
前端·vue.js·面试
anOnion2 小时前
构建无障碍组件之Radio group pattern
前端·html·交互设计
pe7er2 小时前
状态提升:前端开发中的状态管理的设计思想
前端·vue.js·react.js
SoaringHeart3 小时前
Flutter调试组件:打印任意组件尺寸位置信息 NRenderBox
前端·flutter
晚风予星4 小时前
Ant Design Token Lens 迎来了全面升级!支持在 .tsx 或 .ts 文件中直接使用 Design Token
前端·react.js·visual studio code
sunny_4 小时前
⚡️ vite-plugin-oxc:从 Babel 到 Oxc,我为 Vite 写了一个高性能编译插件
前端·webpack·架构
GIS之路4 小时前
ArcPy 开发环境搭建
前端
林小帅6 小时前
【笔记】OpenClaw 架构浅析
前端·agent