Web-Dev-For-Beginners重构浏览器扩展的视觉设计——Carbon Trigger 扩展 CSS 样式化实战【免费下载链接】Web-Dev-For-Beginners24 Lessons, 12 Weeks, Get Started as a Web Developer项目地址: https://gitcode.com/GitHub_Trending/we/Web-Dev-For-Beginners本文基于课程第 5 项目「浏览器扩展」第 1 课的作业文档assignment.pt.md其完整版见 assignment.md讲解如何为 Carbon Trigger 碳足迹浏览器扩展重构 CSS 样式从分析现有设计、规划配色与排版到修改 CSS、用 Webpack 构建并在浏览器开发者模式下加载测试。读完并实践后你将能够独立完成一个扩展界面的完整视觉重构并通过「构建—加载—测试—可访问性验证」的闭环交付一套跨浏览器主题可用、对比度达标的样式方案。任务定位为已有功能的扩展重写视觉身份该作业对应课程文档中的葡语标题「Refatore o estilo de sua extensão」重构你扩展的样式。作业的核心指令是这个扩展的基线代码自带一套样式但你不必沿用——直接编辑你的 CSS 文件做出属于你自己的风格。这意味着前置条件已经满足你已经在 1-about-browsers 课程 中搭建好了扩展的 HTML 结构配置表单 结果展示两屏本作业专注样式层。扩展的完整运行效果可参考 extension-screenshot.png它是 starter 代码 运行后的真实截图。作业最终按三级评分标准Exemplar / Adequado / Necessita de melhoria验收原文档给出的葡语评分表如下Critérios标准Exemplar优秀Adequado合格Necessita de melhoria需改进代码交付O código é enviado com novos estilos funcionais提交了带新样式的可用代码O estilo está incompleto样式不完整Os estilos contém erros样式存在错误完整版作业文档在此基础上将评分细化为 4 个维度 × 4 个等级见「提交要求与评分细则」一节。分析当前设计先看懂你将要改动的代码作业第一部分要求在动手前完成四项分析定位 CSS 文件、审阅现有样式方案与配色、识别布局/排版/视觉层级上的改进点、思考设计如何支撑用户目标轻松填完表单、清晰展示数据。结合仓库源码可以明确你要分析的对象1. 构建产物结构与样式入口。课程 README 给出的项目结构如下project-root/ ├── dist/ # 构建后的扩展文件 │ ├── manifest.json # 扩展配置 │ ├── index.html # 用户界面标记 │ ├── background.js # 后台脚本功能 │ └── main.js # 编译后的 JavaScript 包 ├── src/ # 源码开发文件 │ └── index.js # 你的主 JavaScript 代码 ├── package.json # 项目依赖与脚本 └── webpack.config.js # 构建配置其中dist/index.html是弹窗界面用户点击扩展图标时出现你的 CSS 就为它服务。2. 需要被样式化的 DOM 节点。课程 README 中定义的界面分为配置屏与结果屏关键类名即为你 CSS 的选择器目标form classform-data autocompleteon divh2New? Add your Information/h2/div div label forregionRegion Name/label input typetext idregion required classregion-name / /div div label forapiYour API Key from tmrow/label input typetext idapi required classapi-key / /div button classsearch-btnSubmit/button /form div classresult div classloadingloading.../div div classerrors/div div classdata/div div classresult-container pstrongRegion: /strongspan classmy-region/span/p pstrongCarbon Usage: /strongspan classcarbon-usage/span/p pstrongFossil Fuel Percentage: /strongspan classfossil-fuel/span/p /div button classclear-btnChange region/button /div即.form-data配置表单容器、.region-name/.api-key两个输入框、.search-btn提交按钮、.result-container数据展示区、.loading/.errors/.data加载、错误、调试数据状态、.clear-btn切换区域按钮。3. 交互逻辑的位置。从源码结构看starter 的 src/index.js 目前是注释骨架规划了七步实现顺序选取表单字段与结果 div → 设置监听器并启动应用 → 初始检查 → 处理表单提交 → 设置用户的 API key 与 region → 调用 API。样式重构时尤其要注意.loading与.errors的状态显示/隐藏是由这段 JavaScript 驱动的你的 CSS 需要为这些状态设计视觉反馈而不是只美化静态界面。设计自定义样式配色、排版与布局三条主线作业第二部分要求建立一套「有视觉一致性」的设计分三条主线配色方案Color Scheme选择呼应环保主题的_primary 色板Carbon Trigger 的语境是区域用电碳排放绿色系或大地色系是自然的出发点确保足够的对比度以满足可访问性要求原文建议用 WebAIM 的 contrast checker 一类工具验证考虑配色在不同浏览器主题浅色/深色下的呈现。排版Typography选择在小尺寸扩展弹窗中依然易读的字体通过字号与字重建立清晰的层级关系保证文字在浅色与深色浏览器主题下都可辨识。布局与间距Layout and Spacing改善表单元素与数据展示的视觉组织为可读性添加恰当的 padding 与 margin考虑不同屏幕尺寸下的响应式设计原则。实现设计修改 CSS 的关键落点作业第三部分给出了一组可直接起步的 CSS 模板对应上文分析过的真实类名/* Example starting points for customization */ .form-data { /* Style the configuration form */ background: /* your choice */; padding: /* your spacing */; border-radius: /* your preference */; } .result-container { /* Style the data display area */ background: /* complementary color */; border: /* your border style */; margin: /* your spacing */; } /* Add your custom styles here */原文列出的四个关键样式区域可对照 DOM 结构逐条落实样式区域对应选择器关注点表单元素.form-data、.region-name、.api-key、.search-btn输入框、label、提交按钮的可点击性与对齐结果展示.result-container、.my-region、.carbon-usage、.fossil-fuel数据容器、文本样式、加载状态交互元素:hover、按钮状态、transition悬停反馈、按钮状态、过渡动画整体布局容器间距、背景色、视觉层级容器间距、背景色、层级作业「Tips for Success」部分给出的最佳实践务必在实现阶段遵守在浅色与深色浏览器主题下都测试扩展使用相对单位em、rem提升可扩展性用CSS 自定义属性变量维持一致的间距体系考虑不同视觉需求用户的阅读体验校验CSS 语法。原文同时警告了一个常见错误不要为了视觉吸引力牺牲可用性——扩展必须同时美观与好用。具体包括关键信息保持易读、按钮与交互元素易于点击、为用户操作保留清晰的视觉反馈、用真实数据而非占位文本测试设计。构建、加载与测试npm run build 到浏览器验证作业第四部分定义了一个五步闭环流程# 第 1 步构建扩展 npm run build对照 starter 的 package.jsonbuild脚本即webpack另有watch脚本webpack --watch可在开发时自动重新构建——迭代样式时使用它省去每次手动构建。该文件同时声明了环境要求node 18、npm 9依赖axios ^1.15.0用于后续调用 CO2 Signal API开发依赖为webpack ^5.105.0与webpack-cli ^5.1.4。按 starter README 与课程 README 的说明完整验证流程为Buildnpm install后执行npm run buildWebpack 将src/index.js编译打包为/dist/main.js生成可安装的扩展文件Load在浏览器右上角「设置和更多」...菜单进入 Extensions 页面开启 Developer mode对首次安装选Load Unpacked并选中dist文件夹对已安装版本点reloadEdge 下的入口见 install-on-edge.pngTest遍历所有视觉状态——表单填写中、加载中、结果展示、错误提示对应.loading/.errors/.data/.result-container各节点Verify用浏览器开发者工具验证可访问性对比度、焦点状态、表单标签关联Refine根据真实使用反馈打磨样式。创意挑战基础、进阶与高级三档原文提供了由浅入深的三档挑战可作为练习深度自选基础级Basic更新颜色与字体形成统一主题改善整体间距与对齐为交互元素添加细微的悬停效果。进阶级Intermediate为扩展设计自定义图标或图形实现不同状态间的平滑过渡为 API 调用创建独特的加载动画。高级级Advanced设计多套主题选项light / dark / high-contrast针对不同浏览器窗口尺寸实现响应式设计添加增强体验的微交互micro-interactions。提交要求与完整评分细则作业要求的交付物包含三项经过修改的CSS 文件含你的自定义样式展示扩展不同状态的截图表单、加载、结果一段2–3 句的设计说明解释你的设计选择以及它们如何改善用户体验。完整版作业文档将评分细化为 4 个维度 × 4 个等级Exemplary 4 / Proficient 3 / Developing 2 / Beginning 1维度Exemplary (4)Proficient (3)Developing (2)Beginning (1)视觉设计有创意且一致的设计提升可用性并体现扎实的设计原则设计选择良好样式一致、视觉层级清晰有基础改进但存在一些一致性问题样式改动极少或设计不统一功能性所有样式在不同状态与浏览器环境中完美工作样式工作良好仅边缘情况有小问题大部分样式可用但存在显示问题存在严重影响可用性的样式问题代码质量干净、组织良好的 CSS类名有语义、选择器高效结构良好选择器与属性使用得当可接受的 CSS存在一些组织问题结构差或样式过度复杂可访问性出色的色彩对比度、可读字体并考虑残障用户需求良好的可访问性实践有小的改进空间基础的可访问性考虑但存在问题对可访问性要求关注有限小结样式重构是扩展体验的最后一公里这次作业把「浏览器扩展开发」的视觉环节独立出来在 课程主文档 完成 HTML 结构搭建之后你通过「分析现有 CSS → 规划配色/排版/布局 → 以.form-data与.result-container等真实选择器为落点重写样式 →npm run build构建并在开发者模式下逐状态测试 → 按四维度评分细则自查」的完整闭环交付一个跨浏览器主题可用、对比度达标的扩展界面。后续课程会继续叠加表单交互、Local Storage 与后台任务等内容一套结构清晰的 CSS 体系变量、语义化类名、状态样式正是这些功能上线后持续迭代的地基。【免费下载链接】Web-Dev-For-Beginners24 Lessons, 12 Weeks, Get Started as a Web Developer项目地址: https://gitcode.com/GitHub_Trending/we/Web-Dev-For-Beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考