项目9:页面布局
黑龙江旅游职业技术学院 · 《网页设计与制作》
授课教师:刘继峰
授课教师:刘继峰
🎯 教学目标
知识目标
掌握DIV+CSS3布局特点,理解单列/双列/三列布局原理,掌握弹性盒子基本用法。
能力目标
具备编写DIV+CSS3布局代码能力,能独立实现复杂页面的结构搭建与样式控制。
素质目标
培养严谨工作态度、审美素养及团队协作精神,提升解决技术难题的能力。
🚩 任务1:制作“龙江商城”布局页面
💡 任务分析: 页面总体属于三列布局形式。先从上至下按单列划分一级区块(Header, Wrapper, Footer),
再对Wrapper进行详细划分(左侧、中间、右侧)。使用浮动定位方法实现多列布局。
🛠️ 实施步骤
- 结构搭建: 创建 HTML5 基本结构,构建 Header、Nav、Section、Aside、Footer 等语义化标签。
- 一级划分: 将页面分为头部(通栏)、主体(居中容器)和页脚(通栏)。
- 二级划分: 在主体容器内划分左、中、右三列区块。
- CSS 样式: 使用
float: left和float: right实现三列并排布局。 - 居中处理: 利用
margin: 0 auto使主体内容在大屏下居中显示。
📐 核心知识:多列布局方式
1. 单列布局 (Single Column)
最基础的布局,从上到下排列:Header -> Nav -> Content -> Footer。通常宽度 100%。
2. 双列布局 (Two Column)
在单列基础上,将 Content 区域划分为两部分。常见形式:主内容区 (Main) + 侧边栏 (Aside)。
CSS实现: 左侧 float: left,右侧 float: right 或使用
margin 预留空间。
3. 三列布局 (Three Column)
内容更丰富的布局。通常结构:左侧菜单 + 中间主内容 + 右侧广告/推荐。
CSS实现: 左中右三列分别设置宽度,并使用浮动定位。
🚩 任务2:制作“杂志封面展示”页面
💡 任务分析: 使用弹性盒子 (Flexbox) 布局实现图片的自动排列与对齐,并添加鼠标悬停 (Hover) 过渡动画,提升交互体验。
🛠️ 实施步骤
- 准备素材: 收集6张杂志封面图片,放入 img 文件夹。
- HTML结构: 创建一个容器 DIV 和6个子 DIV 项目,内部放入 IMG 标签。
- 启用Flex: 在容器上设置
display: flex。 - 设置对齐: 使用
justify-content和align-items控制主轴和交叉轴对齐方式。 - 悬停效果: 使用
transition属性实现鼠标指针悬停时图片宽度平滑变化的效果。
🔄 核心知识:弹性盒子 (Flexbox)
弹性盒子布局(Flexible Box)是 CSS3 提供的一种新的布局方案,可以简便、完整、响应式地实现各种页面布局。
1. 容器属性 (父元素)
- flex-direction: 决定主轴方向(row, column)。
- flex-wrap: 决定是否换行(nowrap, wrap)。
- justify-content: 主轴对齐方式(center, space-between)。
- align-items: 交叉轴对齐方式(flex-start, center, stretch)。
2. 项目属性 (子元素)
| 属性 | 说明 |
|---|---|
order |
定义项目的排列顺序,数值越小越靠前 |
flex-grow |
定义项目的放大比例,默认为0(不放大) |
flex-shrink |
定义项目的缩小比例,默认为1 |
align-self |
允许单个项目与其他项目有不一样的对齐方式 |
📝 随堂测试
请完成以下单选题,检验本节课的学习成果:
1. 在 HTML5 中,通常用于定义页面导航区域的标签是?
2. 要让一个容器成为弹性盒子(Flex容器),需要设置哪个 CSS 属性?
3. 在 Flexbox 弹性盒子布局中,用于设置主轴对齐方式的属性是?
📌 课堂总结
本节课我们系统学习了网页布局的核心技术,主要掌握了以下三大模块:
- HTML5 语义化标签: 使用
<header>、<nav>、<section>、<footer>等标签构建清晰的页面结构。 - 传统多列布局: 掌握了利用浮动(Float)实现单列、双列及三列经典布局的方法。
- Flexbox 弹性盒子: 理解了主轴与交叉轴的概念,能熟练使用
justify-content和align-items进行灵活的对齐与排列。
💡 重点提示: 传统浮动布局适合固定结构的页面,而 Flexbox 更适合现代响应式开发。课后请多加练习,熟练掌握这两种布局方式的切换与配合!