首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

来自用户体验大师100个UX设计建议——上篇

把网站设计想象成铺设一条黄色砖路,理解用户角色目标和需要,然后不断让用户从一个区块跳转到下一个。 2. 用户更有可能注意到网站/页面顶部附近内容/选项,建议按其重要性排序。 3....网站应该提供用户一个强大视觉指示器,用于滚动页面和查看是否有更多内容。 8. 网站页面越长,用户滚动到底部可能性就越小。 9....在设计移动布局时,考虑用户是否会单手或两只手使用设备情况。 5.png 六、关于导航设计 28. 在网站上设置一个明显路径供用户访问导航菜单。 29....字段标签应该在文本字段之外,而不是在文本字段内,这样用户才不会丢失目标。 44. 使用分隔符区分不同部分,使长网页表单对用户更加友好。 45. 将表单错误提示放在网页表单中所有导致错误字段旁边。...网站上链接必须突出——使用蓝色文本或下划线表示超链接。 49. 链接应该看起来就是链接样子。 50. 链接文本应该表明链接指向,而不是让用户通过点击一个链接来找出它指向。

1.6K30

如何用Web3.jsAPI在页面中进行转账

本文介绍如何使用Web3.js API 在页面中进行转账,是翻译文档Web3.js 0.2x 中文版 及 区块链全栈-以太坊DAPP开发实战 Demo文章说明。...用户环境检查 既然需要使用Web3.js API 在页面中进行转账, 首先应该检查在浏览器环境有没有安装好钱包,并且钱包应该是解锁状态。...先检查是否安装了MetaMask钱包: MetaMask推荐在window加载时,进行MetaMask检查,当然在没有安装MetaMask时,也可以指定一个节点Provider创建web3,可以参考...Web3.js 文档引入web3 检查是否钱包已经解锁: 我们在发送交易之前应该先首先检查一下当前钱包一个状态,检查钱包是否解锁(是否输入了密码进入了MetaMask),通常使用eth下面的getAccounts...因此在发送交易时候,关键是构造这样一个交易对象,JavaScrpt代码如下: 补充说明:$('#fromAccount').val()是使用JQuery用来获取用户输入内容,其次应该在实际构造发送交易之前对输入参数做一个判断

1.7K20
您找到你想要的搜索结果了吗?
是的
没有找到

终极指南!超全面的UI动效基本规则总结

△ 对称和非对称运动差异 当元素从屏幕一个位置移动到另外一个位置时候,最好使用这种标准缓动曲线,这个过程,尽量不要让动画效果引人注意,不要使用戏剧化效果。 ?...△ 不同类型 cubic-bezier()曲线和参数 界面动效编排 就像芭蕾舞舞蹈编排一样,动画效果也是需要编排,它主要目的是让元素从一个状态切换到下一个状态,自然过渡,让用户注意力自然地被引导过去...在这个实例当中,所有的卡片都遵循着一个方向来引导用户注意力,自上到下地次第加载。相反,没有按照这样清晰规则加载,用户注意力会被分散,元素外观排布也会显得比较糟糕。 ?...△ 沿着对角线加载 从属交互 从属交互指的是使用一个中心对象作为主体,吸引用户注意力,而其他元素从属于它逐步呈现。这样动画设计能够创造更强秩序感,让主要内容更容易引起用户注意。...在其他设计当中,用户很难搞清楚哪个才是主要,因为注意力被分散了。因此,如果要设置多个动画元素,应该定义清楚谁为主,谁是中心,并且尽量按照从属关系次第呈现不同子元素。 ?

1.4K20

用这些 iOS 技巧让你 APP 性能更佳

将启动页用作启动画面以显示品牌或添加加载动画是一个常见错误。如 Apple 所述,应将启动页设计为与应用一个页面相同: 「设计一个与应用程序首页几乎相同启动页。...如果你应用程序在完成启动后包含着与启动页看起来不同元素,那么用户则可能会在启动页到应用程序一个页面的过程感到令人不快闪屏。」 「启动页并不是一个做品牌推广机会。...再次启动应用程序并检查状态是否已成功还原。 由于本节仅涵盖了状态保存和恢复基础知识,因此推荐 Apple Inc. 上以下文章。...如果视图具有透明度(即 alpha 低于 1.0),那么 iOS 将需要做些额外工作混合视图层次结构不同视图层以计算出哪些内容需要展示。...按性能和能效排序 QoS 值 (查看大图) Apple 提供了 一个简单表格 其中包含用于不同任务 QoS 值示例。 需要记住,所有 UIKit 代码始终都应该在主线程上执行。

3.2K30

在折叠屏手机上如何做交互设计?

易用性 在这里想到了ipad一个不错特性:打开多个应用后,并在多个应用之间进行文件管理,例如将相册里图片拖到微信或者邮件里,避免了多个应用之间来回切换。 ?...除了附加交互空间,我们真的可以把它当做第二块屏幕进行使用。在平时我们可以通过两块屏幕同时运行两个不同应用程序,例如我们可以用主屏幕玩游戏,在加载游戏时翻转屏幕刷个微博,操作起来十分方便。...内折叠设计 相比外折叠设计,内折叠设计玩法相对较少,在这里只想到了任天堂NDS概念:在翻折状态时它就是两块独立屏幕,它可以独立显示不同内容,例如上屏显示内容,下屏显示操作区域,打游戏时翻折状态明显要其他状态舒服...从上文得知,“展开”态时要考虑是平板模式还是双屏幕模式,如果是平板模式,那么内容应该在一个整体里;若是双屏幕模式则可以考虑不同屏幕展示不同内容。设计时需要根据实际需求和场景进行模式选择。...您可以将多个Fragment组合在一个 Activity 构建多窗格 UI,以及在多个 Activity 重复使用某个Fragment。

1.3K40

CSS编写规范

2、目前司在编写CSS样式时存在编写混乱、多页面的样式写在同一CSS文件、不方便阅读等几乎毫无原则现象,产生诸多弊端,罗列如下: 1)多个页面的样式写在同一个CSS文件加载一个页面同时把其他页面的...相关原则有: 1、常用控件、表格、布局和页面做出一套或者多套模板 单选、复选框、按钮、轮播图上一张/下一张按钮等,应该根据不同场合提前做好一套或者数套模板,每次使用这些控件时应该在这些模板基础上进行相应更改...4、每一个页面都应用一个独立CSS文件,常用页面应该做成CSS文件模板 每一个页面都应用一个独立CSS文件,而不能出现多个页面的样式放到同一个CSS文件,这样会延长加载时间,也会使得命名更加困难。...9、层级(z-index)必须清晰明确 页面弹窗、气泡为最高级(最高级为999),不同弹窗气泡之间可在三位数之间调整;普通区块为10-90内10倍数;区块展开、弹出为当前父层级上个位增加,禁止层级间盲目攀比...7)为选择器添加状态前缀 有时候可以给选择器添加一个表示状态前缀,让语义更明了,比如下图是添加了“.is-”前缀。

2.6K30

ViewModel:持久化、onSaveInstanceState()、UI 状态恢复和 Loader

如何高效地使用 ViewModel 保存和恢复 UI 状态? 简而言之,你可以混合混合 ViewModels、 onSaveInstanceState()、本地持久化一起使用。...如何高效地使用 ViewModel 保存和恢复 UI 状态? 简而言之,你可以混合使用 ViewModel、 onSaveInstanceState()、本地持久化。继续读看看如何使用。...用户离开一个 activity 有两种常用方式,用户期望也是两种不同结果: 第一个是用户是否彻底关闭了 activity。...不过,在这两种场景,你仍需要一个 ViewModel 避免因配置更改而重新从数据库中加载数据导致资源浪费。 ViewModel 是 Loader 一个替代品吗?...此外,Loader 可以在配置更改期间保留,比如说在加载过程你旋转了手机屏幕。这听起来很耳熟吧!

3.6K30

ViewModel:持久化、onSaveInstanceState()、UI 状态恢复和 Loader

在上篇博文中用新 ViewModel 类开发了一个简单用例保存配置更改过程篮球分数。ViewModel 被设计用来以与生命周期相关方式保存和管理 UI 相关数据。...如何高效地使用 ViewModel 保存和恢复 UI 状态? 简而言之,你可以混合混合 ViewModels、 onSaveInstanceState()、本地持久化一起使用。...如何高效地使用 ViewModel 保存和恢复 UI 状态? 简而言之,你可以混合使用 ViewModel、 onSaveInstanceState()、本地持久化。继续读看看如何使用。...用户离开一个 activity 有两种常用方式,用户期望也是两种不同结果: 第一个是用户是否彻底关闭了 activity。...此外,Loader 可以在配置更改期间保留,比如说在加载过程你旋转了手机屏幕。这听起来很耳熟吧!

91420

如何利用动画效果提升用户体验

1483798894743563.gif 在页面完全加载完之前用屏幕框架递增方式完成 状态切换不能太生硬 动画效果可以让过渡更加显著,所以当用户开始和结束,动画效果要能展示到底发生了什么。...1487831128494623.jpg 清晰 避免在一次动效做多件事情,因为当多个项目需要在不同方向或交叉路径移动时,它们就会变得很混乱,让用户晕头转向。 ?...1490772910886046.gif 用户比我们预想更能注意到页面细节,动画作为一种交互元素可以向用户传递一种情感。一个风格活泼可爱下拉加载动画可以给用户带来一个愉快用户体验。 ?...如何达到平衡 页面一个动画都应该具有相应功能,作为一个"花瓶"用来充当美化页面的动画不仅无法提升用户体验,而且动画会降低页面加载速度。...这对与时间安排以及考虑一个动画是否是有效是非常重要。我们需要从开始就接受动画效果,并且考虑这对于我们设计来说是否自然,因为设计不仅仅只是视觉展示。

1K40

Windows Phone 7 Application Controls

你可以使用该控件展示普通进度,或者是根据一个数值改变进度。它包括特性有: 进度条支持选取框(不确定)模式。 进度条支持主题化。 程序设计时考虑 进度条具有启用和禁用状态。...为了确保良好程序性能,最少加载时间,并且无需剪裁,图片大小应该在800 x 480和800 x 1024像素(高x宽)中选择。 对于一个具备4个全景区域应用,使用16 x 9屏幕高宽比。...当用户导向到一个区域时,开启屏幕动画。 注: 根据全景区域宽度是否大于或者小于屏幕宽度,该全景区域标题应该不同。如果全景区域标题宽,它就需要水平动画。...Pivot Control 枢轴(Pivot)控件提供了一种快速方式管理应用视图或页面。枢轴可以用来过滤大数据集,浏览多个数据集,或者切换应用视图。...枢轴控件应该只用来显示相同类型条目或者数据。 该控件不应该用来做任务流程。不同页面应该在外观方面具备无缝切换。页面不应该极大地改变用户活动。 枢轴控件应该少使用,在适当情况下才使用

1.5K70

性能翻倍!京东亿级体量小程序优化实践

02 、性能指标与衡量 理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载加载阶段会将产物转换为视图树结构,转换完成后将通过表达式引擎解析表达式并取得正确值...使用性能指标评估小程序加载速度是非常必要,首先回顾一下京购小程序页面加载几个关键阶段: 这几个关键阶段含义如下: 阶段 含义 loadPackage 小程序代码包下载 First Paint(...理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载加载阶段会将产物转换为视图树结构,转换完成后将通过表达式引擎解析表达式并取得正确值,通过事件解析引擎解析用户自定义事件并完成事件绑定...3.3.5 骨架屏 「骨架屏」用于页面渲染之前,通过一些灰色区块大致勾勒出页面的轮廓占位,待页面数据加载完成后,再替换成真实内容。...04 、总结和展望 理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载加载阶段会将产物转换为视图树结构,转换完成后将通过表达式引擎解析表达式并取得正确

16310

H5 常见性能优化和原理分析

优化浏览器页面渲染原理 独立频繁渲染图层,把需要进行频繁回流重绘那个区块,拿出来作为一个单独图层,使浏览器回流重绘范围减小,从而减少cpu资源消耗。...web-performance-7.png 依照上图情况,元素B应该在单独合成层上,并且屏幕最终图像应该在 GPU 上组成。但是A元素在B元素顶部,我们没有指定A元素和B元素层级。...说到这里,这让想起了以前去一个小公司面试时候,当我问到他们公司web性能优化一块时候,那个技术负责人就是一句话,“流量还没到10万以上的话,能看到界面正常体验就行,怎么方便怎么。...web缓存信息会保存在httpheader,通过httpheader一些属性去配置一些缓存策略,通过这里策略决定资源是否需要再次向服务端发起请求加载。...Etag 和 if-none-Match 由服务器端根据文件内容生成一个hash值,标识资源状态,第二次向服务端发起请求时,服务端会验证 hash 是否一致,判断文件是否发生了变化,他可以解决什么问题

1.1K71

如何利用动效提升用户体验

在Zurb叙述很清晰表明了: 我们不再是设计静态屏幕,用户将会从我们设计中看到实际内容。...屏幕线框图在内容完全加载之前完成UI 不能削减设计状态变化 动效可以使转换更加明显,用户明确知道开始到结束发生了什么。一个过渡设计会让用户清楚理解他们注意力应该在什么地方。...Adrian Zumbrunnen上有个很好滚动动画例子,当用户点击一个链接时,帮助用户联系上下文。只是一个普通静态页面感觉会很生硬: ?...转换播放图标到暂停,意味着这两个图标是连接着,当一个存在时另一个不存在。 ? 在这个情况屏幕控制音乐位置动效很吸引眼球 另一个例子,当按下浮动按钮时,加号变成一支铅笔。...这表明了铅笔是主要操作。这个小细节在猜测接下来发生什么和图标在不同状态含义总是不同。 ? 用动效反馈来说明问题 动效可以增强用户操作。 例如,表单输入可以用动效进行增强。

799120

【Android】WebView 应用模版 ( WebView 设置 | 设置 WebSettings | 启用调试模式 | 设置 WebChromeClient )

启用 DOM 存储可能会占用更多设备存储空间,因此您应该在必要时使用它,并在不需要时禁用它。...// 设置是否启用 DOM 存储 // DOM 存储是一种在 Web 应用程序存储数据机制,它使用 JavaScript 对象和属性存储和检索数据 settings.domStorageEnabled...// 设置 WebView 是否使用宽视图端口模式 // 宽视图端口模式下 , WebView 会将页面缩小到适应屏幕宽度 // 没有经过移动端适配网页 , 不要启用该设置...调试模式允许您使用 Chrome DevTools 调试 WebView 网页和 JavaScript 代码。...处理 WebView 页面加载事件类 ; // WebViewClient 是一个用于处理 WebView 页面加载事件类 webview.webViewClient

2.9K20

渐进式Web应用清单(翻译转载)

页面通过HTTPS加载 测试 使用Lighthouse验证是否通过HTTPS加载 修复 实施HTTPS,通过 letsencrypt.org着手开始。...测试 在很慢模拟网络下打开app。每次你在app触碰一个链接或者按钮,页面应该立即响应,可以使用以下方案: 立即过渡到下一屏,同时在等待网络内容时展示一个占位加载。...当app等待网络响应时,展示一个加载指示。 修复 如果使用是单页应用,直接把用户过渡到下个页面,同时展示一个加载占位图,并且使用加载时已经可用内容,像是标题或者缩略图。...用户体验 页面加载时内容不闪 测试 在PWA里面加载不同页面,确保页面加载时内容或界面不会“跳动” 修复 确保所有内容,特别是图片和广告,在CSS或者元素属性里有固定尺寸。...处于离线状态时站点会合适地通知用户 测试 模拟离线网络,验证当你处于离线状态时PWA是否有提示 修复 使用Network Information API决定用户处于离线状态是否提示。

1.6K20

交易履约订单中心实践

01 概述 在今年敏捷团队建设通过Suite执行器实现了一键自动化单元测试。Juint除了Suite执行器还有哪些执行器呢?由此Runner探索之旅开始了!...图1 交易履约订单中心系统 02 名词解释 理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载加载阶段会将产物转换为视图树结构,转换完成后将通过表达式引擎解析表达式并取得正确值...03 设计实现 理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载加载阶段会将产物转换为视图树结构,转换完成后将通过表达式引擎解析表达式并取得正确值...为了提高业务接入效率、降低接入成本,可以抽象一套通用数据处理流程,流程分支通过条件表达式识别,同时提供一套完整配置化页面供产品和运营同学使用,最终实现了业务接入配置化、自助化,如下图: 图...05 总结 理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载加载阶段会将产物转换为视图树结构,转换完成后将通过表达式引擎解析表达式并取得正确

39220

大文件上传实践分享

02 、 原理探索之路 理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载加载阶段会将产物转换为视图树结构,转换完成后将通过表达式引擎解析表达式并取得正确值...03 、 实践之路 理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载加载阶段会将产物转换为视图树结构,转换完成后将通过表达式引擎解析表达式并取得正确值..., 这里采用并发5(页面资源请求时,浏览器会同时和服务器建立多个TCP连接,在同一个TCP连接上顺序处理多个HTTP请求。...所以浏览器并发性就体现在可以建立多个TCP连接,支持多个http同时请求。Chrome浏览器最多允许对同一个域名Host建立6个TCP连接,不同浏览器有所区别。)...4.3 多个客户端上传同一个文件包缩减上传时间 大家可以考虑一下如何通过多个客户端来同时上传一个文件,以此实现更快上传? 最后欢迎大家交流学习,优化方案,共同成长。留下你赞 ‍

19610

【附代码】如何在私有链上编写、部署与以太坊进行交互智能合约

Github上给出了所有使用代码,所以你没有理由不去做。 但是如果不遵守规则,只是想阅读一下而已,希望这有助于提供一个从无到有做出一个区块链应用程序视角。...对于这样一个区块链,需要多个节点。要使区块链成为peers,它们需要拥有相同创始文件。所以要从同一个目录运行和上面相同命令,但是这次使用不同datadir。...另外请注意,更改了这些datadirs名称,所以会在屏幕截图中看到不同名称。 打开控制台 到目前为止,已经做了三件事。...1)在选择工作目录创建了一个genesis.json 文件,2)为一个节点选择一个目录存储区块链,并初始化第一个区块,3)为另外一个节点选择一个不同目录存储区块链。很少代码和一些命令。...有一个get函数,返回所有想要在页面上显示合约状态信息。可以分开来分别返回不同信息,但是不妨把它们放在一起,而不必多次查询。 -在合约不仅有其它方式存储这些数据,还有很多其它方式编写它!

1.7K120

前端监控 SDK 一些技术要点原理分析

),从页面加载开始到页面内容任何部分在屏幕上完成渲染时间 LCP(largest-contentful-paint),从页面加载开始到最大文本块或图像元素在屏幕上完成渲染时间 CLS(layout-shift...),从页面加载开始和其生命周期状态变为隐藏期间发生所有意外布局偏移累积分数 这四个性能指标都需要通过 PerformanceObserver 获取(也可以通过 performance.getEntriesByName...PerformanceObserver 是一个性能监测对象,用于监测性能度量事件。 FP FP(first-paint),从页面加载开始到第一个像素绘制到屏幕时间。...同时,在 CLS ,有一个叫会话窗口术语:一个多个快速连续发生单次布局偏移,每次偏移相隔时间少于 1 秒,且整个窗口最大持续时长为 5 秒。...判断是否在首屏 一个页面的内容可能非常多,但用户最多只能看见一屏幕内容。所以在统计首屏渲染时间时候,需要限定范围,把渲染内容限定在当前屏幕内。

2K30

最新iOS设计规范四|3大界面要素:视图(Views)

如果可能的话,让用户在一次点击中关闭一个浮层,同时打开另一个浮层。避免额外点击,尤其是需要在多个不同项目栏打开浮层时。 避免浮层太大。浮层不应该占据整个屏幕,足以显示其内容并指向触发按钮即可。...所以如果你需要在一个屏幕中放置两个滚动视图时,尽量考虑允许它们在不同方向进行滚动,如此可能对其相互间影响是最小。...还应该在启用了辅助功能选项(例如粗体文本)情况下测试内容单显示情况。 显示恰当键盘类型。iOS提供了几种不同键盘类型,每种键盘都对应着一种具体输入方式。...十二、网页视图(Web Views) 网页视图可以在APP中加载和显示丰富网页内容。例如:嵌入式HTML和网站;邮箱APP使用网页视图在消息显示HTML内容。 ? 适当地使用前进和后退导航。...网页视图支持前进和后退导航,但默认情况下这种交互行为是被禁用了。如果用户想通过网页视图访问多个页面,请启用前进和后退导航,并提供相应控件启动这些功能。 避免使用网页视图构建一个网页浏览器。

8.3K31
领券