用 Cursor 做 UI,有两种最简单又有效的方法,一个免费一个付费,不管你要做网页 UI 还是应用程序 UI,都能用。

我这里不推荐直接用 Cursor 自带模型生成 UI,模型生成出来的效果比较差,就算是最强的 Claude 也不太行。

本文我分享的方法是我最近学到的,先说免费的。当我们手头有一张 UI 图片时,不要直接丢给 Cursor,而是先用 Google 的 Gemini 模型、Claude 或者 ChatGPT,这里我用的是 Gemini 并打开 Canvas 功能。

我把 UI 图片放到 Gemini 中,然后让它根据 UI 截图生成一份 JSON 格式的设计规范文件。

提示词参考:

Create a JSON-formatted design system profile. This profile should extract relevant visualdesign information from the provided screenshots. The JSON output must specifically include:
The overarching design style (e.g., color palette, typography, spacing, visual hierarchy).The structural elements and layout principles.Any other attributes crucial for an Al to consistently replicate these design systems.Crucially, do not include the specific content or data present within the images, focusing solely

生成出来的 JSON 包含整体设计风格、结构元素、布局原则,以及一些关键属性。

接着把这份 JSON 文件复制到 Cursor 中,让 Cursor 根据这份 JSON 来生成代码。

提示词参考:

参考 @design.json 设计规范,根据图片中的样式,生成一个网页。

生成效果如下:

对比一下如果直接用 Cursor 根据截图生成代码,不用 JSON 文件。

提示词:

按照图片中的UI样式,创建一个新的页面。注意:尽可能按照图片中的样子创建!!!

效果如下:

可以看到,效果差了很多,我原型 UI 的截图如下:

这是我随便找的一张图片作为例子,可以明显看出,先提取一份 JSON 文件,然后再让 Cursor 生成代码,效果要好很多。

为什么这种先提取 JSON 文件再生成代码的方法很有效?因为当任务涉及精确、结构化、无歧义的数据时,JSON 让模型理解更清晰,处理更高效,生成的结果也更稳定。

以上就是免费的方法。

接下来是付费的方法。

如果你对 UI 要求比较高,比如需要反复修改,那我推荐直接用 v0 API。v0 模型是 Vercel 推出的,专门针对 UI 和前端开发优化,所以在处理这类任务时,v0 比 Claude、Gemini、ChatGPT 都更强。

我一般会在需要大量生成 UI 时订阅 v0,一个月 20 美金,这个月把需要的 UI 全部生成完,然后就可以退订。

订阅后去后台生成 API Key,然后在 Cursor 中调用 v0 模型即可。

在 Cursor 模型设置中,把 v0 的 API Key 填进去,v0 模型是符合 OpenAI API 规范的,所以直接选择 OpenAI 模型即可。

实际使用时,你在对话中用的是 OpenAI 模型,但后台用的其实是 v0 模型。

好了,这就是免费和付费的两种方法。

最后再推荐两个动画工具:Framer MotionReact Bits,也都是很棒的选择。

你可以把 React Bits 中动画代码直接粘贴到 Cursor 中,让模型帮你集成即可。

  • React:相当于项目经理和架构师
  • Radix UI:相当于功能工程师
  • Tailwind CSS:相当于视觉设计师
  • Framer Motion:相当于动效设计师

以上就是一套现代强大 UI 开发工具箱,大家可以根据需要组合使用!

Cursor生成UI,加一步封神的更多相关文章

  1. pytest封神之路第五步 参数化进阶

    用过unittest的朋友,肯定知道可以借助DDT实现参数化.用过JMeter的朋友,肯定知道JMeter自带了4种参数化方式(见参考资料).pytest同样支持参数化,而且很简单很实用. 语法 在& ...

  2. pytest封神之路第零步 快速入门

    背景:本文是在系列第五篇发表后的补充篇章,第一篇介绍了tep,可能对不熟悉pytest的朋友不够友好,特意补充入门篇,帮大家快速了解如何动手写pytest.如果你是从这篇文章第一次阅读,那么请忽略以上 ...

  3. 阿里封神谈hadoop学习之路

    阿里封神谈hadoop学习之路   封神 2016-04-14 16:03:51 浏览3283 评论3 发表于: 阿里云E-MapReduce >> 开源大数据周刊 hadoop 学生 s ...

  4. Android Phonebook编写联系人UI加载及联系人保存流程(一)

    2014-01-06 17:05:11 将百度空间里的东西移过来. 本文适合ROM定制做Phonebook的童鞋看,其他人飘过即可- Phonebook添加/编辑联系人UI加载及保存联系人流程,是一系 ...

  5. vue mand-mobile ui加class不起作用的问题 css权重问题

    vue mand-mobile ui加class不起作用的问题 css权重问题组件的样式优先权比自己定的class高多加几层权重才行,要直接用样式覆盖也可以在前面多加几层class,定位更精确了才会覆 ...

  6. 自己实现简单的RSA秘钥生成与加解密(Java )

    最近在学习PKI,顺便接触了一些加密算法.对RSA着重研究了一下,自己也写了一个简单的实现RSA算法的Demo,包括公.私钥生成,加解密的实现.虽然比较简单,但是也大概囊括了RSA加解密的核心思想与流 ...

  7. js 获取时间戳 登陆验证码生成要加时间戳

    JavaScript 获取当前时间戳,登陆验证码生成要加时间戳,防止存在session不重新请求第一种方法: var timestamp = Date.parse(new Date()); 结果:12 ...

  8. JS生成数字加减乘法验证码

    给大家分享一个简单的js验证码生成代码 PS:该代码依赖Jquery1.4版本以上 传入元素 如productionVerificationCode(#\(("a")) 反回验证码 ...

  9. pytest封神之路第一步 tep介绍

    『 tep is a testing tool to help you write pytest more easily. Try Easy Pytest! 』 tep前身 tep的前身是接口自动化测 ...

  10. pytest封神之路第六步 断言技巧

    pytest的断言把Python语言简洁的优点发挥的淋漓尽致,因为它用的就是Python的标准断言assert. assert基础 assert用法 assert_stmt ::= "ass ...

随机推荐

  1. BUUCTF---old flashion

    1.题目 2.知识 3.解题 很奇怪,一段英文字母,看起来像维吉尼亚,但需要key,不知道什么是Key,我们丢到q爆破中试试 直接得出来了flag:flag{n1_2hen-d3_hu1-mi-ma_ ...

  2. [源码系列:手写spring] IOC第七节:加载xml文件中定义的Bean

    目录 主要内容 代码分支 核心代码 BeanDefinitionReader AbstractBeanDefinitionReader XmlBeanDefinitionReader 测试 bean定 ...

  3. [每日算法] leetcode第88题:合并两个有序数组

    leetcode第88题入口 题目描述 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目. 请你 合并 ...

  4. 【Java】String字符串格式化

    一.前言 String.format() 作为文本处理工具,为我们提供强大而丰富的字符串格式化功能,为了不止步于简单调用 String.format("Hello %s", &qu ...

  5. 【SpringCloud】Hystrix熔断器

    Hystrix熔断器 概述 分布式系统面临的问题 分布式系统面临的问题 复杂分布式体系结构中的应用程序有数10个依赖关系,每个依赖关系在某些时候将不可避免地失败 服务雪崩 多个微服务之间调用的时候,假 ...

  6. ubuntu 22.04安装docker

    一.安装 更新软件包索引: sudo apt-get update 允许APT使用HTTPS: sudo apt-get install -y apt-transport-https ca-certi ...

  7. MySQL的limit优化2

    一.底层原理 在 MySQL 8.0 中,当使用 LIMIT offset, count 进行分页查询时,如果 offset 非常大(例如 LIMIT 200000, 10),性能会显著下降. 这是因 ...

  8. 大模型参数组成计算QwQ-32B为例

    计算大模型参数量主要依赖于模型的架构和各层配置,我们把常用大模型分为三层:输入层.transformer层.输出层. 输入层 参数组成是Embedding的词表总和 transformer层 参数组成 ...

  9. 没错,Go 语言的函数参数没有引用传递方式

    这篇文章想浅浅地讲解 Go 语言函数参数传递的值拷贝. 一句话观点 Go语言中所有传递都是值传递,严格来说并不存在引用传递的概念.传递指针只是传递指针的值,并不是引用传递,只不过通过指针可以间接修改变 ...

  10. 【深度思考】自定义日期格式,为什么@JSONField生效,@JsonFormat不生效?

    1. 前言 最近在自测接口时,发现一个问题:字段类型定义的是Date,但接口返回值里却是时间戳(1744959978674), 而不是预期的2025-04-18 15:06:18. private D ...