首页 > 其他分享 >16条前端 UI 设计原则

16条前端 UI 设计原则

时间:2024-03-11 16:58:11浏览次数:18  
标签:颜色 16 前端 元素 字体 使用 对比度 UI 文本

以一个卡片为例子,逐一按照规则进行优化,左边是原图,右边是经过优化后的设计。

规则

  1. 使用间距对相关元素进行分组
  2. 一致性
  3. 确保功能相似外观也相似
  4. 清晰的视觉层次
  5. 移除不必要的样式
  6. 有目的的使用颜色
  7. 确保界面元素的对比度为3:1
  8. 确保文本的对比度为4.5:1
  9. 不要仅仅使用颜色作为指标
  10. 使用单一的无衬线字体
  11. 使用较高小写字母的字体
  12. 限制使用大写字母
  13. 仅使用常规和加粗字体
  14. 避免纯黑色文本
  15. 左对齐文字
  16. 正文至少使用1.5倍行高

使用间距对相关元素进行分组

  • 相关元素放在同一容器
  • 相关元素看起来相似
  • 对齐

一致性

UI设计中一致性意味着有相似的外观和行为方式,可预测的功能提高了可用性并减少了错误。

确保功能相似外观也相似

如果元素看起来相似,会期望它们以相似的行为反应,尽量确保相同功能的元素使用一致的视觉处理,让不同功能的元素视觉做差异化处理。

清晰的视觉层次

创造秩序感来改善美学,可以使用大小、颜色、对比度、间距、位置和深度的变化创建清晰的视觉层次。

移除不必要的样式

不必要的信息和视觉风格会分散注意力,增加认知负担,避免不必要的线条、颜色、背景和动画,以创建更简单、更集中的UI.

有目的的使用颜色

有节制有目的的使用颜色,尽量避免使用纯粹的颜色来装饰,它可能会混淆和分心,从黑色和白色开始,在表达含义的地方再引入颜色。一个简单有效的方法是将品牌颜色应用于链接和按钮等交互元素上,尽量避免在非互动元素上使用品牌颜色。

确保界面元素的对比度为3:1

为了确保视觉障碍人士能够清楚看到界面细节,至少要满足web内容可访问性指南的颜色对比要求。

确保文本的对比度为4.5:1

小文本18px以下要4.5:1的最小对比度,大文本需要3:1的对比度,示例中可增加灰色不透明度增加文本的阴影,将对比度达到4.5:1以上。

不要仅仅使用颜色作为指标

通常,色盲人士很难区分红色和绿色,或者根本看不到,所以不能仅仅依靠颜色传达意义或者区分视觉元素,需要使用额外的提示来区分。示例中去掉颜色,链接和其他文本一致,无法判断是链接,可使用下划线方式区分。

使用单一的无衬线字体

无衬线字体通常是最清晰、中性、简单的,标题使用了一种详细的衬线字体,这有点难以阅读,可能会分散一些人的注意力。

使用较高小写字母的字体

小写字母较高、间距较大的字体在小尺寸时更容易辨认。


限制使用大写字母

大写单词有相同的矩形形状,会迫使你逐一阅读每个单词,很难阅读。

仅使用常规和加粗字体

使用不同粗细的字体可能会给界面增加混乱,使用规则的加粗字体,使界面简单明了。

小技巧:

  1. 标题使用加粗来强调
  2. 较小的字体使用常规字体
  3. 如果你确定使用很粗的字体,请使用在标题或者很大的文本

避免纯黑色文本

纯黑与白色有很高的对比度,会导致阅读文本时眼睛疲劳,安全的做法是避免纯黑黑白色搭配。示例中描述文本过于突出,使用了较浅的灰色。

左对齐文字

对于长文本,安全的做法避免使用居中对齐,居中对齐对于有认知障碍的认识更难阅读。居中对齐可用于标题或者短文本,因为它可快速阅读。

正文至少使用1.5倍行高

行高是两行文字之间的垂直距离。行与行之间的间隔有助于防止人们重读同一行文本,阅读起来也更舒适。

最后效果

原作者 Adham Dannaway,原文出处:UI Design Archives - Adham Dannaway

标签:颜色,16,前端,元素,字体,使用,对比度,UI,文本
From: https://www.cnblogs.com/zdailwh/p/18066507

相关文章

  • 前端发展趋势与 ViewDesign 的崛起
    前端发展的新时代近年来,随着Web技术的不断发展,前端已经不再是简单的展示层,而是日益成为复杂的应用程序。传统的前端开发模式已经无法满足现代Web应用的需求,因此出现了一系列新的前端框架和工具。其中,Vue.js因其轻量级、高性能和易于上手等优势,成为了前端开发领域中的......
  • error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft
       Defaultingtouserinstallationbecausenormalsite-packagesisnotwriteableCollectingPyQt5-sipUsingcachedPyQt5_sip-12.13.0.tar.gz(123kB)Installingbuilddependencies...doneGettingrequirementstobuildwheel...donePreparing......
  • vue前端获取/切换麦克风、播放采集音频和采集音量大小完整代码
    1、创建Vue项目在终端运行npminstallelement-uinpminstallrecordrtc2、案例图示 3、代码1、获取麦克风列表if(navigator.mediaDevices&&navigator.mediaDevices.getUserMedia){varMic=[]//弹框获取麦克风navigator.mediaDevices.getUserMedia({a......
  • JeecgBoot Vue3前端项目性能优化&按需加载方案
    JeecgBootvue3前端项目在3.5.5版本之前,的确存在很严重的性能问题,大家可以参考以下文档进行升级。按需加载改造方法1、全局注册地方去掉2、组件改成异步注册3、用不到的大组件可以删掉【精简项目方案】大组件1、富文本tinyme2、Markdown3、CodeMirror4、地图数据......
  • CodeCombat Teacher Getting Started Guide
    Skiptomaincontent Submitarequest Signin CodeCombat CodeCombatforEducators GettingStartedArticlesinthissectionCodeCombatTeacherGettingStartedGuideWhichprogramminglanguageshouldIchooseformystudentsinCodeCo......
  • 前端拖拽
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title><sty......
  • C# 生成Guid的几种方法以及显示结果
    原文链接:https://blog.csdn.net/weixin_40029679/article/details/126425629stringguid=Guid.NewGuid().ToString();//db2429d9-872c-4799-b6e5-b239b878e933stringguidN=Guid.NewGuid().ToString("N");//db2429d9872c4799b6e5b239b878e933stringguid......
  • 从16-bit 到 1.58-bit :大模型内存效率和准确性之间的最佳权衡
    通过量化可以减少大型语言模型的大小,但是量化是不准确的,因为它在过程中丢失了信息。通常较大的llm可以在精度损失很小的情况下量化到较低的精度,而较小的llm则很难精确量化。什么时候使用一个小的LLM比量化一个大的LLM更好?在本文中,我们将通过使用GPTQ对Mistral7B、Llama27b和L......
  • VK1650是LED数显/数码管显示驱动控制电路(IC),8*4共阴/4*8共阳
    概述VK1650是一种带键盘扫描电路接口的LED驱动控制专用芯片,内部集成有数据锁存器、LED驱动、键盘扫描等电路。SEG脚接LED阳极,GRID脚接LED阴极,可支持8SEGx4GRID的点阵LED显示。最大支持7x4按键。本芯片性能稳定质量可靠,抗干扰能力强,适用于24小时长期连续工作的引用场合。采用S......
  • 走进前端工程化
    虽然前端工程化的概念兴起还没几年的时间,但是对于“工程化”这个词并不是一个新鲜词了,在其他软件开发的领域很早就已经有了高度的工程化,例如Web服务端开发。只不过那个时候,前端工程师并没有工程化的意识,也没有必要对前端进行工程化的操作,毕竟在那个时期,前端的开发工作只能算......