You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/zh-CN/3-terrarium/2-intro-to-css/assignment.md

5.8 KiB

CSS 重构作业

目标

将您的微型生态瓶项目转换为使用现代 CSS 布局技术!重构当前的绝对定位方法,改用 FlexboxCSS Grid 实现更易维护、响应式的设计。此作业挑战您在保持生态瓶视觉美感的同时,应用现代 CSS 标准。

理解何时及如何使用不同的布局方法,是现代网页开发的关键技能。本练习架起传统定位技术与现代 CSS 布局系统之间的桥梁。

作业说明

阶段 1分析与规划

  1. 审查当前生态瓶代码 - 识别哪些元素当前使用绝对定位
  2. 选择布局方法 - 决定 Flexbox 还是 CSS Grid 更适合您的设计目标
  3. 绘制新布局结构图 - 规划容器及植物元素如何组织

阶段 2实现

  1. 创建生态瓶项目的新版本,放在单独文件夹中
  2. 根据需要更新 HTML 结构,以支持所选布局方法
  3. 重构 CSS,使用 Flexbox 或 CSS Grid 替代绝对定位
  4. 保持视觉一致性 - 确保植物与生态瓶罐保持相同位置
  5. 实现响应式行为 - 使布局能优雅适应不同屏幕尺寸

阶段 3测试与文档

  1. 跨浏览器测试 - 验证设计在 Chrome、Firefox、Edge 和 Safari 中表现正常
  2. 响应式测试 - 检查布局在移动设备、平板和桌面屏幕尺寸上的表现
  3. 文档编写 - 在 CSS 中添加注释,说明布局设计选择
  4. 截图 - 捕捉生态瓶在不同浏览器及屏幕尺寸下的效果

技术要求

布局实现

  • 选择一项:仅实现 Flexbox 或 CSS Grid同一元素不可同时使用两者
  • 响应式设计:使用相对单位(remem%vwvh)替代固定像素
  • 无障碍:保持适当的语义 HTML 结构和替代文本
  • 代码质量:使用一致的命名规范,逻辑清晰地组织 CSS

需包含现代 CSS 特性

/* Example Flexbox approach */
.terrarium-container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  align-items: center;
  justify-content: center;
}

.plant-containers {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 1200px;
}

/* Example Grid approach */
.terrarium-layout {
  display: grid;
  grid-template-columns: 1fr 3fr 1fr;
  grid-template-rows: auto 1fr;
  min-height: 100vh;
  gap: 1rem;
}

浏览器支持要求

  • Chrome/Edge:最新 2 个版本
  • Firefox:最新 2 个版本
  • Safari:最新 2 个版本
  • 移动浏览器iOS Safari、Chrome Mobile

交付物

  1. 更新的 HTML 文件,改进语义结构
  2. 重构后的 CSS 文件,采用现代布局技术
  3. 截图集,展示跨浏览器兼容性:
    • 桌面视图1920x1080
    • 平板视图768x1024
    • 手机视图375x667
    • 至少包含 2 种不同浏览器
  4. README.md 文件,内容包括:
    • 您的布局选择Flexbox 或 Grid及理由
    • 重构过程中遇到的挑战
    • 浏览器兼容性说明
    • 运行代码说明

评估标准

评估项 优秀 (4) 良好 (3) 进行中 (2) 初学 (1)
布局实现 熟练使用 Flexbox/Grid 及高级功能;完全响应式 正确实现,响应式表现良好 具备基本实现,响应式有轻微问题 实现不完整或错误
代码质量 CSS 清晰有序,注释丰富,命名规范 组织良好,包含部分注释 组织尚可,注释有限 组织混乱,不易理解
跨浏览器兼容性 各要求浏览器表现一致,附截图证明 与部分浏览器兼容良好,差异注释明确 存在兼容性问题但不影响功能 主要兼容问题或缺少测试
响应式设计 优秀的移动优先策略,断点流畅 响应式表现良好,断点合理 基本响应式,有局部布局问题 响应式表现有限或有缺陷
文档 README 详尽,解释深入,见解丰富 文档良好,涵盖所有必要内容 基础文档,解释有限 文档不完整或缺失

有用资源

布局方法指南

浏览器测试工具

代码质量工具

额外挑战

🌟 高级布局:在设计不同部分同时使用 Flexbox 和 Grid
🌟 动画集成:添加与新布局配合的 CSS 过渡或动画
🌟 暗模式:实现基于 CSS 自定义属性的主题切换器
🌟 容器查询:使用现代容器查询技术实现组件级响应式

💡 记住:目标不仅是让它运行,而是理解为何您选择的布局方法是本设计挑战的最佳解决方案!


免责声明
本文件通过 AI 翻译服务 Co-op Translator 翻译完成。虽然我们力求准确,但请注意自动翻译可能存在错误或不准确之处。原始语言版本应被视为权威来源。如涉及重要信息,建议采用专业人工翻译。对于因使用本翻译而产生的任何误解或误释,我们不承担任何责任。