Flex弹性盒子布局案例(认识弹性布局)

一、导航菜单

此示例创建了一个水平导航菜单,其中链接在 Flex 容器中等距分布。

HTML结构:

html 复制代码
<nav class="nav-menu">
  <a href="#">Home</a>
  <a href="#">About</a>
  <a href="#">Services</a>
  <a href="#">Contact</a>
</nav>

CSS样式:

css 复制代码
.nav-menu {
  display: flex; /* 使用 Flex 布局 */
  justify-content: space-around; /* 在主轴上等距分布 */
}

.nav-menu a {
  text-decoration: none; /* 去除链接的下划线 */
  color: #333; /* 设置链接文本颜色 */
  padding: 10px; /* 设置链接内边距 */
}

运行结果:

二、卡片布局

这个示例创建了一个包含三个卡片的卡片布局,卡片在 Flex 容器中等距分布。

HTML结构:

html 复制代码
<div class="card-container">
  <div class="card">Card 1</div>
  <div class="card">Card 2</div>
  <div class="card">Card 3</div>
</div>

CSS样式:

css 复制代码
.card-container {
  display: flex; /* 使用 Flex 布局 */
  justify-content: space-between; /* 在主轴上等距分布 */
}

.card {
  width: 200px; /* 设置卡片宽度 */
  height: 150px; /* 设置卡片高度 */
  border: 1px solid #ccc; /* 添加边框 */
}

运行结果:

三、响应式布局

这个示例创建了一个简单的响应式布局,项目在 Flex 容器中根据空间自动换行,并在容器中均匀分布。

HTML结构:

html 复制代码
<div class="flex-container">
  <div class="item">Item 1</div>
  <div class="item">Item 2</div>
  <div class="item">Item 3</div>
</div>

CSS样式:

css 复制代码
.flex-container {
  display: flex; /* 使用 Flex 布局 */
  flex-wrap: wrap; /* 允许项目换行 */
}

.item {
  width: 100px; /* 设置项目宽度 */
  height: 100px; /* 设置项目高度 */
  background-color: #ccc; /* 设置背景颜色 */
  margin: 10px; /* 设置项目外边距 */
}

运行结果:

四、网格布局

在 Flexbox 中创建一个灵活的网格布局是非常常见的。这可以用于创建响应式的网格系统,适应不同的屏幕尺寸和布局需求。

HTML结构

html 复制代码
<div class="grid-container">
  <div class="grid-item">1</div>
  <div class="grid-item">2</div>
  <div class="grid-item">3</div>
  <div class="grid-item">4</div>
  <div class="grid-item">5</div>
  <div class="grid-item">6</div>
</div>

CSS样式

css 复制代码
.grid-container {
  display: flex; /* 使用 Flex 布局 */
  flex-wrap: wrap; /* 允许项目换行 */
  justify-content: center; /* 在主轴上居中对齐 */
}

.grid-item {
  width: 200px; /* 设置项目宽度 */
  height: 200px; /* 设置项目高度 */
  background-color: #ccc; /* 设置背景颜色 */
  margin: 10px; /* 设置项目外边距 */
  display: flex; /* 嵌套的 Flex 容器 */
  justify-content: center; /* 内部项目居中对齐 */
  align-items: center; /* 内部项目垂直居中对齐 */
}

运行结果

五、侧边栏布局

创建了一个包含侧边栏的布局,主内容区域会自动填充剩余空间,而侧边栏则保持固定宽度。

HTML结构

html 复制代码
<div class="main-container">
  <div class="sidebar">Sidebar</div>
  <div class="content">Main Content</div>
</div>

CSS样式

css 复制代码
.main-container {
  display: flex; /* 使用 Flex 布局 */
}

.sidebar {
  width: 200px; /* 侧边栏宽度 */
  background-color: #f0f0f0;
  padding: 20px;
}

.content {
  flex-grow: 1; /* 主内容区域充满剩余空间 */
  padding: 20px;
}

运行结果

六、水平垂直居中对齐

这个示例创建了一个容器,其中的内容水平和垂直居中对齐,适用于创建模态框等UI组件。

HTML结构

html 复制代码
<div class="center-container">
  <div class="center-content">Centered Content</div>
</div>

CSS样式

css 复制代码
.center-container {
  display: flex; /* 使用 Flex 布局 */
  justify-content: center; /* 在主轴上居中对齐 */
  align-items: center; /* 在交叉轴上居中对齐 */
  width: 100%; /* 宽度占满父容器 */
  height: 300px; /* 固定高度 */
  background-color: #f0f0f0;
}

.center-content {
  padding: 20px;
  background-color: #ccc;
}

运行结果

相关推荐
lilian2332 分钟前
Harmony os 技术实战|拼豆制图48:把个人页字符串路由改成可穷尽的类型协议
前端·华为·harmonyos
咏方舟【长江支流】12 分钟前
【前端2】单据编辑 -订单单据主子表,万能模板行,自定义添加行
前端·前端框架·状态模式·咏方舟-长江支流
qq_4523962315 分钟前
第六篇:《CI/CD 流水线:从前端构建到自动化部署》
前端·ci/cd·自动化
咏方舟【长江支流】18 分钟前
【前端1】单据编辑 -EasyUI/Vue/React/Bootstrap 主流框架实现订单单据主子表显示和编辑比较,哪个你最易入门?
前端·vue.js·easyui·咏方舟-长江支流·userbaodatagrid
m0_5791466521 分钟前
Element UI 表格合并单元格完全指南:从原理到实战
前端·vue.js·elementui
sibylyue25 分钟前
# Web端流媒体JS播放器开源库
前端·javascript·开源
海兰28 分钟前
【应用】UUID v7 生成器 HTML 代码
css·html·css3
码视野36 分钟前
基于 Vue3 + Element Plus 的【基于物联网与深度学习的智慧工业园区能耗监测与光储充一体化微电网协同调度系统】设计与实现(附完整源码与PRD)
前端·人工智能·深度学习·物联网·vue3
铁皮饭盒40 分钟前
网页端, 5.5mb谷歌模型, 识别躯干, 视频都不卡
前端·javascript·后端
雪芽蓝域zzs1 小时前
Prettier (代码格式化)配置详解
前端·vue.js