摘要:以优化「英语单词听写」网页为例,记录作者是如何使用AI编程助手的。
痛点:我为女儿做的单词听写页面太窄了,需要优化。
解决思路:先豆包搜索大致方案,把方案要点给TRAE SOLO,在Plan模式下再次确认方案。
说干就干,开始!
一、成果
优化后
优化前
二、优化过程
先自己和豆包对话,了解大概方案,再和Trae确认方案。(有点像开技术方案确认会前,自己想准备准备)
1、对话大模型
我用的豆包,我扔一个提示词给它。
我有一个个人网站。 主页:zhimalab.tech/ 工具页:zhimalab.tech/tools/ 英语单词听写页:zhimalab.tech/tools/word-… 请从专业设计师专家和前端专家的角度对我的网站给出优化方案。
它给了方案,我看太复杂,工程太大,就先保存了一下,没有照做,而是追问
现在,我感觉我的首页布局的页面宽度影响到了工具的宽度,这个该如何解决?
它给的核心思想是:
核心解决方案是布局差异化 + 样式作用域隔离—— 让首页、工具页、工具详情页拥有独立的宽度规则,避免全局样式互相污染。
2.使用Trae solo,开始Plan
很快,Trae给出了如下方案:
# 布局差异化与样式作用域隔离实现计划
## 问题分析
当前项目所有页面(首页、工具页、工具详情页)都使用相同的 `BaseLayout.astro`,其中 `main` 元素的宽度固定为 `max-w-6xl mx-auto`,导致所有页面布局一致,无法根据不同页面类型的需求进行优化。
## 实现目标
1. 为首页、工具页、工具详情页设置独立的宽度规则
2. 确保样式作用域隔离,避免全局样式互相污染
3. 保持代码的可维护性和扩展性
## 实现方案
### 1. 修改 BaseLayout.astro
- 添加 `layoutType` 属性,用于区分不同页面类型
- 根据 `layoutType` 为 `main` 元素应用不同的宽度类
- 支持自定义宽度类,提高灵活性
### 2. 定义页面宽度规则
- **首页**:保持当前的 `max-w-6xl`,适合展示博客和工具卡片
- **工具页**:使用 `max-w-7xl`,让工具卡片展示更多内容
- **工具详情页**:使用 `max-w-7xl` 或 `w-full`,让工具组件有更大的展示空间
### 3. 页面适配
- 修改 `index.astro`(首页):设置 `layoutType="home"`
- 修改 `tools/index.astro`(工具页):设置 `layoutType="tools"`
- 修改所有工具详情页:设置 `layoutType="tool-detail"`
### 4. 样式优化
- 使用 Astro 的组件级样式隔离
- 为不同页面类型添加特定的样式类
- 确保响应式设计,在不同屏幕尺寸下都有良好的表现
## 预期效果
- 首页:保持原有的紧凑布局,适合内容展示
- 工具页:更宽的布局,展示更多工具卡片
- 工具详情页:最大化利用屏幕空间,提供更好的工具使用体验
- 样式隔离,避免不同页面间的样式冲突
## 实现步骤
1. 修改 `BaseLayout.astro`,添加布局类型支持
2. 更新首页、工具页和工具详情页的布局类型
3. 测试不同页面的显示效果
4. 优化响应式设计
## 代码变更
- `src/layouts/BaseLayout.astro`:添加布局类型支持
- `src/pages/index.astro`:设置首页布局类型
- `src/pages/tools/index.astro`:设置工具页布局类型
- `src/pages/tools/*.astro`:设置工具详情页布局类型
## 技术要点
- Astro 组件属性传递
- Tailwind CSS 响应式设计
- 组件级样式隔离
- 布局差异化实现
10分钟后,就看到了开篇所示的效果