作为一名前端工程师,一直有个理想,能不能自己设计出一些好看的效果/有趣的交互,然后用代码去实现,那应该会是一件非常愉快的事儿。
最近 ChatGPT
很火,火的都出圈了,所以看看它能给我带来哪些帮助?
对话
下面是精简的入门对话,对话中间的括号是我当时的想法
我: 我是一名前端工程师,我对设计十分的感兴趣,你对我有什么建议呢
ChatGPT:
如果你是一名前端工程师,对设计感兴趣,那么我有一些建议可以分享:
-
学习设计基础知识:了解设计原则、色彩理论、排版规则、视觉层次等基础知识,可以帮助你更好地理解设计,并应用到自己的工作中。 ...省略(给了5条) 希望这些建议对你有所帮助,祝你在设计领域取得更大的进展!
(我认为当下最想学习的是色彩搭配,所以继续提问色彩理论方面的知识)
我:我想我可能还处于比较基础的阶段,色彩理论包括哪些知识呢,学会了他,我就能搭配出很美的配色吗
ChatGPT:
色彩理论是设计中非常重要的一部分,它涉及到色彩的分类、使用、组合和搭配等方面。要想掌握色彩理论,需要了解以下几个方面的知识:
- 色彩的基本属性:色相、饱和度和明度。 ...省略(给了5条)
通过掌握这些基础知识,你可以更好地理解色彩的使用规律和效果,从而在设计中合理地运用色彩。但要想搭配出很美的配色方案,还需要通过实践和不断尝试,结合自己的审美和创造力,才能得到最佳的效果。
此外,如果你对配色不确定或是需要一些灵感,可以使用一些在线的配色工具或网站,如 Adobe Color、Coolors、Color Hunt 等,这些工具可以帮助你找到合适的颜
(我看到了它给出了一些基础知识和一些工具,我简单的再问了问他一些基础知识(这处省略了,字数太多),看得出来,他对色彩,饱和度,明度,之间的搭配有一些心得,所以我决定试试直接问出我的需求)
我: 我有一个导航网站,是给同事们提供便捷的工具,以及一些网站分发的入口,你觉得设计成什么配色,会让网站看起来更高效,更职业呢。
ChatGPT:
对于一个导航网站,需要考虑到其主要功能是提供便捷的工具和网站入口,因此建议采用一些比较清爽、明亮的配色方案,以便让用户更快地找到自己需要的信息。以下是一些建议:
- 蓝色系配色方案
蓝色通常被认为是一种比较职业、稳重、可靠的颜色,也是互联网上经常出现的颜色。因此,可以考虑采用一些蓝色调的配色方案,如浅蓝、深蓝、天蓝等等。这样的配色方案不仅可以让网站看起来更加职业,同时还可以传递出稳健、可靠、冷静的感觉。
- 橙色系配色方案
橙色是一种比较活泼、温暖的颜色,也是表现创新、活力的一种颜色。(省略)
- 灰色系配色方案
灰色是一种比较中性、低调的颜色,也是表现成熟、稳重的一种颜色。(省略)
综上所述,不同的配色方案都有其各自的特点和适用场景,你可以根据你的网站的具体情况和目标用户的需求进行选择。
(可以看到了它只是给出了配色的大体方案,并没有具体的色码,对于只会写代码的我,还是无法想象如何去搭配,所以我觉得问的详细点)
我: 请详细介绍下第一种方案具体的色码,我的网站主要由标题,副标题,分类标题,导航按钮组成,请给出标题,副标题,分类标题的大小和颜色,导航按钮的边框颜色和文字颜色。
ChatGPT:
好的,以下是一个基于蓝色系的配色方案,具体的色码和设计元素如下:
- 标题:使用蓝色系中的一种较深的颜色,比如 #2C3E50,字体大小可根据具体情况进行调整。
- 副标题:使用与标题相近的颜色,但是颜色要更浅一些,比如 #34495E,字体大小可以比标题略小。
- 分类标题:使用与标题和副标题相近的颜色,但是颜色要更浅一些,比如 #4A6984,字体大小可以比副标题略小。
- 导航按钮:使用与标题和副标题相近的颜色,但是颜色要更浅一些,比如 #5D8AA8。导航按钮的边框可以使用与标题相同的颜色,即 #2C3E50。导航按钮的文字颜色建议使用白色或者深灰色,以保证视觉上的对比度。
这种配色方案可以让网站看起来比较稳健、职业,同时又不失清新、明亮的感觉,符合导航网站的主要功能。当然,最终的设计方案还要考虑到具体的网站内容和用户需求,进行适当的调整和优化。
(事情开始渐渐的变得有意思起来,有了色码,我就可以去实践,这样我就真的在和 ChatGPT 的聊天中得到了学习)
实践
从它能给出具体色码的一刻起,我对他的信心大大增强,而且我有一个更大胆的想法,就是他也许可以给我提供很多套不同的配色,让我放肆体验。
我之前的代码里,这些需要被替换的颜色,处于不同的 css
文件中,非常的散乱,替换起来很麻烦。
此时,我们可以采取 css var
的方案来实现。
.title {
color: #ffffff;
}
.sub-title {
color: #dddddd;
}
.text {
color: #eeeeee;
}
/**
* 默认主题色
*/
:root {
--title: #ffffff;
--sub-title: #dddddd;
--text: #eeeeee;
}
/**
* 可以自定义多套配色
*/
body[data-theme='theme1'] {
--title: #ffffff;
--sub-title: #dddddd;
--text: #eeeeee;
}
.title {
color: var(--title);
}
.sub-title {
color: var(--sub-title);
}
.text {
color: var(--text);
}
这样我们就可以方便的把 chatGPT
提供给我们的色值实践一下了!
我:
我把我想要的颜色做成了css主题,朋友们反馈你的配色不是很好看,请按css变量的模式,再给我提供一套新的。接下来我会给你发css变量的格式
chatGPT:
好的,请发给我你的 CSS 变量的格式,我将为你提供一套新的配色方案。
我:
--primary-color: #2c3e50; // 标题色 --subtitle-color: #34495e; // 副标题色 --category-color: #335980; // 分类颜色 --item-border-color: #5d8aa8; // 导航按钮边框色 --item-bg-color: #2c3e50; // 导航按钮背景色 --item-color: #fff; // 导航按钮颜色 --item-hover-border-color: #eaeaea; // 悬浮状态导航按钮边框色 --item-hover-bg-color: #fdb813; // 悬浮状态导航按钮背景色 --item-hover-color: #2c3e50; // 悬浮状态导航按钮颜色 --bg-deg: to bottom; // 渐变方式 --bg-start-color: #1e88e5; // 渐变初始颜色 --bg-end-color: #fdd835; // 渐变结束颜色
chatGPT:
这样我就可以直接通过 chatGPT
生成多套 UI 主题了。下面是成品
以上分别是:
-
人工设计
-
ChatGPT(高效风格2)
-
ChatGPT(高效风格2)
-
ChatGPT(俏皮风格)
-
ChatGPT(高对比度风格)
-
ChatGPT(赛博朋克风格)
对 ChatGPT 的看法
一开始,我只是抱着试试的态度,看看能不能行,结果挺好的,他的智能程度在我的意料之外。
这相当于有一个朋友一直陪着你在学习,或者提高,他给出的建议你可以去实践并获得效果,正反馈感很强,在做一些需要长期付出的事情,有了他的陪伴,你可能不会因为孤独而坚持不下去。
而且在体验的过程中我发现,他挺勇的,他是宁可回答错误,也不会逃避问题(比如其他AI的知识库模式:这个问题我不知道之类的),而且在对话的过程中,不仅我们自己能得到成长,也可以帮助 AI 成长。
比如 first-child
这个伪类,如果这么写代码
.myclass:first-child {
}
我原来一直以为是找到父元素下的第一个 myclass
类名的子元素,给他加上样式。
但经过实践,这个伪类其实是找到父元素下的第一个元素,如果他是 myclass
类名,那就给他追加上样式。
很巧的是 ChatGPT
也给出了不太准确的描述。
它说这个规则会选择第一个类名为 child
的子元素,并设置他的样式,虽然他后面补了一句第一个子元素不是 child
类名,那么这个规则就不会应用,结合在一起理解,结果是对了。
但其实前面那句话是不准确的,如果看的快的话很有可能忽略后面这句话。
对他的错误进行纠正后,我觉得自己也提高了,他也提高了,他提高了就可以更好的帮助我。
我对这个 AI
的定位是,把它当作一个知识面很广的朋友,从它这批判性的汲取知识,从而提高自己的能力。
题外话
不知道看到这里的同学有没有对图中的导航项目有兴趣,这个项目是完全开源的,而且不依赖数据库资源,使用 json
文件的格式来管理导航数据,而且支持按部门新增,修改,删除,拖拽排序,有兴趣的朋友可以看看,项目地址。
也许你也可以用它来管理你们公司内部常用的导航链接。