常用中后台交互设计控件使用场景与规范总结
作者: panda (转载已取得作者授权)
此设计规范主要分享了中后台常用设计组件的定义、组成、使用场景及注意事项。
字体
概述
字体是界面设计中最基本的构成元素之一,用户通过文字来理解内容和完成任务,合适的字体将大大提升用户的阅读体验及工作效率。在安畅云项目的字体使用中,为了使页面的视觉层次更加清晰,我们从以下三方面来使平台的字体符合易阅读和美观的要求。
合理的使用不同的字重、字号和颜色来强调界面中需要突出的信息;
尽量使用单种字体,使用多种字体会让界面看起来零散和杂乱无章;
遵循 WCAG 2.0 标准(标准详情见 https://www.w3.org/Translations/WCAG20-zh/#visual-audio-contrast),字体在使用时与背景颜色的对比值满足无障碍阅读的最低标准。
字体使用建议
中文字体优先级:PingFang SC、Hiragino Sans GB 、Microsoft YaHei(平台使用字体)
英文字体优先级:Helvetica Neue、Helvetica、Arial(平台使用字体)
字号使用建议
行高使用建议
行高也是影响用户阅读体验的重要因素之一,我们查阅资料得知西文的基本行高通常是字号的 1.2em 左右,而中文因为字符复杂,所以中文行高需要更大。现在公认1.5em 至 1.8em 之间会有一个比较好的视觉阅读效果。
安畅云项目行高计算公式:行高值=字号 x 1.5,例如:12 号字体的行高为 18px,14 号字体的行高为 21px。
按钮&链接文字
使用按钮 or 链接文字 or 图标?
当按钮标签过长(超过6个中文字),导致视觉出现问题时,建议改用链接文字。
当按钮嵌在文本中时,应该用链接文字;
当命令是次要时,应该用链接文字。
当命令是很常规的操作(如删除、编辑等),且图标语义非常容易理解时,可以使用图标作为操作按钮。
按钮类型及状态
按钮类型主要有:主按钮、次级按钮、幽灵按钮和线框按钮。
按钮状态主要有:正常、悬浮、点击、加载中和禁用。
按钮中的文本标签应该足够简洁和易懂,并且通常是一个动词。
如果点击按钮后不会立即响应,应当切换为加载状态;加载状态下不能点击。
使用场景
1、主按钮
当需要突出或需要强调时使用它;通常情况下同一模块只允许有一个主要按钮。
2、次级按钮
当已存在主要按钮后还需要再突出时使用它;次级按钮权重比主要按钮低、比幽灵按钮高。
3、幽灵按钮
幽灵按钮几乎适用所有场景,是所有按钮中最基础的按钮。
4、线框按钮
权重性较低,主要用于添加附件等场景。
5、多按钮组合
当某条数据同时存在多个操作时,建议使用主按钮样式折叠显示,如下图:
输入框
定义与组成
定义:用于显示、输入或编辑文本、数值操作所使用的控件。
组成:一般由标签、必填项符号(根据业务需求而定)、输入框和状态反馈组成。
3种常见形式(状态反馈放在输入框下面还是后面,视排版空间而定;一般情况下,弹窗中表单输入框错误状态反馈放下面,新页面表单输入框错误状态反馈放后面)
输入框状态
输入框类型及使用场景
1、单文本框(当输入的字符长度超过文本框固定的宽度时,须保证最后输入的字符显示出来)
(1)普通文本输入框
例如,昵称、名称等填写。用户按照规则要求输入即可,输入错误时出现错误状态反馈提示;输入正确给出正确状态反馈提示。
(2)密码输入框
为了安全性起见,用户输入密码时,默认隐藏处理(同时提供“显示密码”和“密码加强计”功能)。同时需遵循密码的规则要求,状态反馈提示同普通文本输入框。
(3)数字输入框
建议给出输入框的同时,可以让用户对数字进行微调的功能。对于类似固定电话填写,建议将区号与主体号码分开填写,中间用“—”隔开。
2、多文本框
当用户需要输入或编辑长字符串时,请使用多行输入框。例如,备注、描述以及意见建议等的填写。
使文本控件的高度足够大,以便容纳典型的输入。
不要让文本输入控件在用户键入时增加高度;如果输入内容超过控件高度时,建议在框内出现滚动条。
对话框&气泡确认框&气泡提示&通知
对话框(消息对话框)
1、定义
用来临时显示与用户当前正在执行的操作相关信息的控件,通常与黑色背景遮罩搭配使用。
2、组成
一般由标题(可有可无依照具体场景而使用)、内容、操作按钮以及 “×” 组成。
3、使用场景
(1)操作后发生某些严重错误或者警告用户接下来操作可能出现的风险时使用。
(2)操作不可进行时;某些操作无法让用户进行时,应弹出警告消息对话框。
(3)操作不可逆时;例如删除命令,执行后再也不能复原,就应该在执行前使用对话框进行再次确定。
对话框(任务对话框)
1、定义
用来临时显示与用户当前正在执行的操作相关信息的控件,通常与黑色背景遮罩搭配使用。
2、组成
一般由标题、内容、操作按钮以及 “×” 组成。
3、使用场景
操作任务多或复杂时;当用户进行较复杂的任务时,应使用对话框嵌套控件,突出操作内容。例如表单。
气泡确认框
1、定义
用来临时显示与用户当前正在执行的操作相关信息的控件。通常在操作对象附近直接显示,不出现黑色背景遮罩。
2、组成
一般由内容、操作按钮以及 “×”(大部分情况下没有,在气泡确认框外部点击即可关闭该确认框) 组成。
3、使用场景
频繁使用的破坏性操作。
气泡提示
1、定义
用于对对象简短描述或补充说明的控件。当用户将鼠标悬停在对象上时会自动显示,当鼠标移开对象时提示就会消失。
2、组成
一般由解释说明信息组成。
3、使用场景
轻量级的信息反馈。例如,对某个对象简短描述或补充说明。对象通常是 链接文字或者是问号、感叹号图标。
通知
1、定义
全局展示通知提醒信息。通常在系统右上角显示。
2、组成
一般由通知提醒信息组成。
3、使用场景
(1)用户的操作反馈提示。例如操作失败、成功、系统正在执行某操作等。
(2)系统主动推送的消息。
单选控件
定义
只能在一组相关但互相排斥的选项中选择,且只能选择一个有效项的控件(包括通用单选控件和自定义单选控件)。
示例
(1)通用单选控件
(2)自定义单选控件(此处仅列举一种样式,其他样式视具体场景而定)
单选控件5种状态
单选控件使用场景及注意事项
(1)当选项数量 ≤ 4时,一般使用单选控件;选项数量大于4个时建议使用下拉控件。(最终使用单选还是下拉控件,根据页面空间大小而定)
(2)当有推荐选项或者是用户常用选项时,建议默认选中。(若默认项对用户选择产生干扰,则不要默认)
(3)若用于对立相反的选项且只有两个选项时,例如同意、不同意,这两个选项应该整合为一个复选控件而不是使用单选控件。如下图:
(4)单选控件建议以逻辑顺序排列选项,如从被选到的可能性从高到低、从小到大、操作难以度从简单到复杂、风险程度从低到高等。
复选控件
定义
在两个相对立选项之间进行选择或者是能选择多个有效项的控件(包括通用复选控件和自定义复选控件)。
示例
(1)通用复选控件
(2)自定义复选控件(此处仅列举一种样式,其他样式视具体场景而定)
复选控件5种状态
复选控件使用场景及注意事项
(1)当有推荐选项或者是用户常用选项时,建议默认选中。(若默认项对用户选择产生干扰,则不要默认)
(2)若用于对立相反的选项且只有两个选项时,例如同意、不同意,这两个选项应该整合为一个复选控件而不是使用单选控件。如下图
(3)复选框标签文本是对选中时的状态描述,未选状态的含义必须与选中状态明确相反。
下拉菜单
定义
当页面上元素或操作较多时,用以收纳这些元素或操作的控件。
示例
(1)下拉菜单—下拉框:
(2)下拉菜单—下拉浮层:
下拉框状态
下拉框使用场景及注意事项:
(1)当页面上的元素或操作较多时,用此控件收纳元素或操作。点击或移入触点,会出现一个下拉菜单。可在列表中进行选择,并执行相应的命令。
(2)当下拉选项中包含鼓励用户的可选项或大部分用户常用选项时,则可考虑提供默认项。
(3)当下拉选项非常多时,需在下拉框中加入搜索功能,方便用户选择。
(4)当下拉框中标签字符超过最大宽度时,多余的字符用“…”显示,鼠标移入此选项时,用气泡提示全部显示。
下拉浮层状态
下拉浮层使用场景及注意事项:
(1)当页面上的元素或操作较多时且视觉层次弱于下拉框时,用此控件收纳元素或操作。通常鼠标移入触点,会出现一个下拉浮层。可在列表中进行选择,并执行相应的命令。
(2)在浮层展开时,三角形图标顺时针翻转且同时变成红色;浮层收起时,三角形图标逆时针翻转且同时由红色变为默认颜色。
翻页控件
定义
一组提供翻页功能的按钮。
示例
(1)比较完整的版本(具体形式需根据业务需求而定)
(2)简化版
翻页控件状态(以例1做说明)
翻页控件使用场景及注意事项
当加载或者渲染所有数据将花费很多时间时,建议使用翻页将数据分为几部分加载。
时间拾取器
定义
为用户提供时间选择或日期选择的控件。
示例(其他形式根据自身需求而定)
(1)选择时间
(2)选择日期
时间拾取器使用场景及注意事项
当用户需要输入一个时间,可以点击标准输入框,弹出时间面板进行选择。
数量控件
定义
用于数量选择的控件。
示例
(1)微调数量控件
(2)下拉数量控件
数量控件使用场景及注意事项
(1)当在连续且较短区间,一般为 10 以内取值时使用微调数量控件。
(2)微调数量控件也支持数字直接输入,默认数量为1,当数值为1时,减少按钮禁用。
(3)当非连续、取值范围较大的场景时使用下拉数量控件。下拉数量控件不支持数字直接输入,系统按业务需求规则默认一些数值供用户选择。
(4)为了页面保持一致,若旁边有其他下拉控件时可考虑把微调数量控件以下拉控件方式使用。
Tab选项卡
定义
在页面内切换内容的功能控件。
Tab选项卡状态
Tab选项卡使用场景及注意事项
各选项卡内容模块之间是相互独立的,按照模块内容重要性以及用户使用 频率从前往后排列。
滑动条
定义
展示当前值和可选范围的滑动输入器。
滑动条类型
滑动条使用场景及注意事项
连续数值型滑动条一般数值以较小变量变化,建议在其后面增加自定义数值输入框,方便用户精确输入。
加载控件
定义
用于反馈需要2秒以上才能完成的系统进程的控件。
常见类型
加载控件使用场景及注意事项
(1)模块或正文初始内容加载、表单提交按钮提交后的加载、滚屏加载、加载更多等用通用加载控件。
(2)官网中产品展示图初始化加载时使用图片加载控件。
(3)上传大文件 / 加载需要较久时间的文件,使用显示进度的加载控件。
(4)官网专题页宣传时,需要配合主题的加载使用自定义加载控件。
暂时先总结这么多,不足之处请大家多多指教。同时,希望能和大家一起交流,一起进步。
最后,也欢迎有问题的小伙伴加微信:yw5201a1 沟通交流。
此外我们的官方网站也上线了,每日分享高质量的文章、原型素材和行业报告,小伙伴可自行前往索取,支持搜索,需要的小伙伴可点击底部的阅读原文直接查看,或者复制网址:www.dadaghp.com 打开。
更多干货可关注微信公众号:产品刘
想学习更多关于产品、职场、心理、认知等干货,可长按右边二维码,关注我们。
··················END··················
RECOMMEND
推荐阅读
滴滴的未来会怎样?
线下实战2.0
好的产品经理都是这样绘制原型图的(下)...
一道小米的产品经理面试题
点击“阅读原文”
查看更多干货
常用中后台交互设计控件使用场景与规范总结相关推荐
- repeater中后台动态为控件添加属性
在此贴出repeater中的ItemDataBound事件中的代码: private void ItemDataBound(object sender, RepeaterItemEventArgs e ...
- 在UAP中如何通过WebView控件进行C#与JS的交互
原文:在UAP中如何通过WebView控件进行C#与JS的交互 最近由于项目需求,需要利用C#在UWP中与JS进行交互,由于还没有什么实战经验,所有就现在网上百度了一下,但是百度的结果显示大部分都是在 ...
- 【小沐学C#】WPF中嵌入web网页控件(WebBrowser、WebView2、CefSharp)
文章目录 1.简介 1.1 WPF简介 1.2 WPF 体系结构 1.3 WPF入门开发 2.WebBrowser 2.1 WebBrowser特点 2.2 WebBrowser常用的属性.方法和事件 ...
- 服务器lIS绑定网站,DataList 中动态绑定服务器子控件的代码
DataList 中动态绑定服务器子控件的代码 更新时间:2007年09月10日 21:54:04 作者: 1.首先绑定dbList (一个DataList控件名称) 2.设置绑定子控件需要的关键 ...
- c#,c++,qt中多线程访问UI控件线程的问题汇总
c#和MFC中可以创建UI控件及模态/非模态对话框,Qt中只能在主UI线程中创建访问UI控件. c#和MFC中可以通过全局变量或指针句柄等方式在工作线程中访问其他UI线程控件,其中c#需要Invoke ...
- office中的域、控件、com组件、宏和VBA
在office的高级应用中,域.控件.com组件.宏和VBA是必须要知道的几个术语,为什么会产生这么多术语,是为了自动化生产,是人的懒惰带来了生产力的提高.这5个对象的功能也可以理解为是从小到大的排列 ...
- WindowsXamlHost:在 WPF 中使用 UWP 的控件(Windows Community Toolkit)
原文 WindowsXamlHost:在 WPF 中使用 UWP 的控件(Windows Community Toolkit) Windows Community Toolkit 再次更新到 5.0. ...
- vue项目中如何利用lodop控件实现多页打印
针对windows环境下的vue项目中如何利用lodop控件实现打印的功能,不支持mac环境 下载安装 首先去lodop官网下载中心下载相关的包,完成安装 重点关注前四个文件,安装第一个文件,在第二个 ...
- 关于xib中添加collection view 控件引起brash
首先这个问题我没有找到解决的办法,不知道问题出现在哪里,所以在这里贴个博文,看看有大神路过能把问题给解决了. 问题描述: 首先建立了一个新的项目,在stroyboard中添加collection vi ...
最新文章
- Android中常用的距离单位
- java解析xml 忽略dtd_使用dom4j解析XML时候忽略DTD文件
- c++string替换指定位置字符_Excel数据分析:如何替换字符串中的指定字符?
- Ubuntu LXC
- Spring 3.1缓存和配置
- 多用户远程连接mysql_Mysql权限控制 - 允许用户远程连接
- idea插件sonar安装使用教程
- python 内存溢出_python之记录一次内存溢出
- C++Builder 2010深入TApplication类之方法
- M2M技术、标准与智慧城市顶层设计方法
- 记2021上半年软考中级-数据库系统工程师考试
- 教你win10原版镜像怎么安装
- Android9怎么剪辑音频,Timbre – 安卓(Android )视频剪辑软件,在手机上对视频、音频进行合并、剪辑、格式转换、分割...
- bwt比对算法 C语言,BWT比对算法
- Clickhouse查询手册
- php发送邮件封装类,使用nette/mail 封装一个发送邮件类 (通用)
- 如何在程序里写死一张图片(base64编码,OpenCV)
- 【车间调度】基于matlab遗传算法求解车间调度问题(含甘特图)【含Matlab源码 2216期】
- java图片去掉文字_java解出图片中的文字
- 改系统注册表 实现Windows XP自动登录
热门文章
- java地址传递_关于java中是地址传递还是值传递的测试
- opencv Hog学习总结
- c语言中文刷屏,c语言二维数组刷屏练习.doc
- [Err] 1064 - You have an error in your SQL syntax check the manual that corresponds to 之Mysql报错
- 详细的Windows下安装 binwalk
- Silverlight 出现“无法加载 URI 的内容。URI 可能无效”错误的解决方案
- 解决Ajax返回的json数据乱码问题
- 使用Kylin导入JDBC数据源遇到的问题
- a开头的计算机语言,我们刚开始接触计算机语言大多从Hello world 开始
- python环境变量配置步骤_关于人工智能Python系统环境变量设置步骤