首页

轻松三步搞定数据统计分析:统计+分析+可视化!

资深UI设计者

我们都知道,数据是支撑决策的重要依据,于是我们可以看到,几乎所有的产品,都会具有数据统计分析的功能模块。往大了说,比如数据中台;往高端了说,比如数据大屏、数据看板、数据驾驶舱;往本质了说,其实就是数据的统计分析。作为一个非数据型产品经理,或者是初级产品经理,该怎样设计这个功能模块呢?

如果你刚好为此苦恼,不妨试一下我最近研究的这三步曲:统计+分析+可视化!

前言

关于数据统计分析,首先表达一个我蛮认同的观点:

好的数据分析师,要像眼科医生一样:配眼镜可能有很多专业的方法,有很多专业的工具,可在配的过程中,医生纠结的不是自己的理论,而是关注用户看得清不清楚,不断问用户“这样可以吗?这样更清楚吗?再这样试试呢?”

—— 接地气的陈老师

相信在工作中,大家经常会碰到一些“孔乙己”式的数据统计分析,一开口就是“xx 指标体系”,再加上一大堆什么“权威的、标准的、BAT 认定的”这之类的修饰词汇。这特么就是典型的虚假数据分析啊,因为这些大多数时候,耗时费力,却没有解决实际问题。

并且这种虚假的数据统计分析,还有它遵循的理论模型:

轻松三步搞定数据统计分析:统计+分析+可视化!

而真正的数据统计分析,就像太极拳的精髓一样:“只重其义,不重其招,你忘记所有的招式,就练成太极拳了。”(以解决业务问题为根本)

统计

要搞数据的统计分析,那第一步我们得先有数据,也就是数据的统计工作。提起数据统计,那自然绕不开数据埋点。如果你们公司从来没整过埋点这个事,那也不用大费周章,因为界内已经有很多成熟的埋点公司了,例如神策、友盟等等,直接花钱办事就完了,也不贵。

我们今天研究的,是通过埋点,能够获得哪些数据呢?总结下来,大概有这么五类:

埋点获取五类数据

  1. 整体概况
  2. 用户获取
  3. 活跃与留存
  4. 事件转化
  5. 用户特征

来来来,我们逐个剖析一下,这几类数据,具体都包含什么,以及获取这些数据有啥用。

1. 整体概况

轻松三步搞定数据统计分析:统计+分析+可视化!

实时数据意义:可以获取到每个小时的产品实时数据,帮助你了解产品目前的实时情况。

使用概况意义:产品整体的使用情况,包括用户量、访问情况、留存等,帮助你对产品整体指标有一个大致的了解。

2. 用户获取

轻松三步搞定数据统计分析:统计+分析+可视化!

渠道访问意义:每个渠道的用户的使用情况,包括渠道中新用户的占比、留存等,帮助你了解产品在获客层面上的优势与不足。

版本数据意义:每个版本的使用情况,帮助你了解在产品升级的过程中,是否在活跃和留存方面有所改善。

3. 活跃与留存

轻松三步搞定数据统计分析:统计+分析+可视化!

访问流量意义:产品的每日访问数据,指标集中在新老用户的访问行为上,提供访问次数、时长、次数分布、访问时段高峰等指标,帮助了解新老用户在使用产品时的一些行为特征。

用户留存意义:提供用户 7 日,次日,次周,次月留存的数据,帮助你了解新老用户的使用粘性。

4. 事件转化

轻松三步搞定数据统计分析:统计+分析+可视化!

自定义事件意义:用户自定义关键事件,系统会自动生成该事件的发生次数、人数以及分布情况,也就是能够看到用户都在干啥。

收益类事件意义:用户自定义收益类事件,系统会自动生成该事件的发生次数、人数以及分布情况,会根据你选择的数值类型属性,计算该数值的总值、人均值以及次均值。也就是能够看到用户都咋花钱的。

5. 用户特征

轻松三步搞定数据统计分析:统计+分析+可视化!

用户特征意义:能够看到我们的用户,都是哪些牛鬼蛇神~

分析

有了埋点的数据以后,那就是怎样利用这些数据,充分发掘这些数据的价值了。数据分析的套路就更多了,把下面这些学会,应该“二八原则”里面的“八”就能够搞定了~

1. 常见的数据分析指标

轻松三步搞定数据统计分析:统计+分析+可视化!

综合性指标:反映产品的整体情况。

流程性指标:反映用户的使用行为。

业务性指标:反映具体的业务情况。

2. 常见的数据分析维度

轻松三步搞定数据统计分析:统计+分析+可视化!

数据细分:通过不同的细分维度分析,往往可以追溯到问题发生的原因,还能为后续的一些动作提供参考依据。

数据对比:没有对比就没有伤害,一方面是横向比较,即自身和别人进行对比,如常见的同比、环比;另一方面是纵向比较,即自身和自身进行对比,比如行业竞品、全站数据、AB 测试等。

3. 常见的数据分析方法

轻松三步搞定数据统计分析:统计+分析+可视化!

HEART 模型:Google HEART 模型的提出,可以让大家反思自己的产品设计思维,同时运用相关设计工具去提高 HEART 五项指标来完善用户体验,打造更好的产品。

AARRR 模型:该模型出自于《增长黑客》,它是在 2007 提出,当年的获客成本还比较低廉,而这种模型很简单又很直观地突出了增长的所有重要元素,所以这个模型很长时间内都很受欢迎。

RARRA 模型:而现在获客的成本与日俱增,市场情况和 2007 年已经完全不同。现在黑客增长的真正关键在于用户留存,而不是获客。于是,一个突出了用户留存重要性的模型 RARRA 诞生了。

可视化

有了统计的数据以及分析的维度之后,最后一步工作就是可视化啦!

而想要完成这一步,又快又好的方法,那自然就是参考各种规范啦,首先我们可以去一个叫做「e-charts」的网站,去查看各种可视化图表,因为开发很多时候,就是依照这些开源的图表库进行撸代码的~

轻松三步搞定数据统计分析:统计+分析+可视化!

而我们设计的时候,就需要借助各种原型组件啦。数据可视化的内容有很多,我们来举几个典型例子:

1. 折线图

轻松三步搞定数据统计分析:统计+分析+可视化!

注意事项:选用的线型要相对粗些,线条一般不超过 5 条,不使用倾斜的标签,纵坐标轴一般刻度从 0 开始。预测值的线条线型改为虚线。

2. 柱形图

轻松三步搞定数据统计分析:统计+分析+可视化!

注意事项:同一数据序列使用相同的颜色。不使用倾斜的标签,纵坐标轴一般刻度从 0 开始。一般来说,柱形图最好添加数据标签,如果添加了数据标签,可以删除纵坐标刻度线和网格线。

3. 条形图

轻松三步搞定数据统计分析:统计+分析+可视化!

注意事项:同一数据序列使用相同的颜色。不使用倾斜的标签,最好添加数据标签,尽量让数据由大到小排列,方便阅读。

4. 饼图

轻松三步搞定数据统计分析:统计+分析+可视化!

注意事项:把数据从 12 点钟的位置开始排列,最重要的成分紧靠 12 点钟的位置。数据项不要太多,保持在 6 项以内,不使用爆炸式的饼图分离。不过可以将某一片的扇区分离出来,前提是你希望强调这片扇区。

饼图不使用图例,不使用 3D 效果,当扇区使用颜色填充时,推荐使用白色的边框线,具有较好的切割感。

5. 其他

轻松三步搞定数据统计分析:统计+分析+可视化!

这种数据可视化的图表还有很多,而它的意义就在于,用图表代替大量堆砌的数字,有助于阅读者更形象直观地看清楚问题和结论。我也在工作中搜集到了一些不错的数据可视化原型组件,有需要的同学可以自行下载啦~

结语

好了,以上就是今天的所有内容了,正如前言所说的,我们今天只讨论武功招式,不讨论内功心法。

延伸一下:数据统计分析,最终还是要从业务中来,到业务中去,一切的形式,都是次要的,关键还是要以解决业务问题为根本、但对于我们这些“新手”来说,经验主义自然也是要借鉴的!相信今天总结的内容,也足够支撑大家比葫芦画瓢啦。


蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码蓝小助,报下信息,蓝小助会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

截屏2021-05-13 上午11.41.03.png



文章来源:优设   作者:晓庄同学产品笔记

分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务




掌握好「视觉重力原则」,构图的奥秘很简单!

资深UI设计者

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

生活在地球上的我们,每时每刻其实都在感受着重力的存在。除了物理层面的影响,重力是否会改变我们对于视觉画面的认知呢?又或者说,物理学中经常听到的重力概念,和设计中的构图、排版又存在着怎样的关联呢?

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

我们或许能够从格式塔学派对认知心理学的研究里,寻找到一些蛛丝马迹。

人们的大脑总是会去脑补眼前看到的事物。就像我们看到的这三个被遮挡住的圆形图案,位于中心的倒三角虽然没有实际出现,但我们确实认为它是存在的对吧。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

视觉本身是很容易被周围环境影响的,就像我们现在看到的这个画面。如果忽略掉空间和透视的话,你还会觉得右侧的竖线更高吗?

而实际上的情况是,左边的竖线高度要远远高于右边的竖线高度。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

再看这个例子,两侧位于中央的白色球形,它们之间,谁看起来更大,谁又看起来更小?也许有的朋友会说左边更大,这个答案是没错的,但它也仅仅是看起来更大而已。

如果我们在画面中拉出两条辅助线,我们就会发现,原本右边看起来更小的圆球,要比左边的圆球更大。

通过刚刚的几个小测试,相信大家已经对于用眼睛的判断能力有了一些认识了,是不是有一种眼见不一定为实的感觉?视觉重力原则,其实就是建立在这样的认知基础之上的。我们大脑所认为的重心或平衡感,和真实的情况,往往并不相同。

在做版式设计的时候,我们的构图越接近重心的平稳状态,就越会激发和谐的美感。因为重力在自然界中是再平常不过的现象了,生活在这样环境中的我们,自然也会有这种审美上的倾向了。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

我们来看这个例子,这张纸最稳定的位置在哪里呢?答案是它的正中心。

我们把信息添加在页面的中心位置,现在它看起来更平稳了吗?然而并没有,可问题出在哪?一定是我们没有把文字摆正吧?上方的区域(a),看起来要比下方的区域(b)面积更大一些,真的是这样么?

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

可实际上,文字确实是在页面的正中心位置上了,这同样我们的眼睛在作怪。

所以为了抵消视觉上的这种坠落感,我们需要将文字略微向上移动,这样我们看这段文字才是真正居中的。

正向

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

我们再举个例子,这是一个数字 8,我们来仔细观察一下它的造型,顶部与底部的负空间看起来是一样大的对吗?

垂直翻转

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

而事实上并不是这样的,通过将它倒置,我们就会更明显的看出来,其实为了抵消人眼的错觉,我们在做字的时候,需要将上面做的更小,底部做的更大一些。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

这是两个完全等大的黑色圆形,但它在视觉上其实并不是平衡的,人们的眼睛会觉得右边更轻,这虽然没有顶部和底部那么明显,但也确实存在。那么解决的方法就是将左边的圆形略微缩小一些,现在这个页面看起来平衡多了。我们总是会下意识的认为左侧要更重要些。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

⇧ 画作:The Creation of Adam

看这幅画,很明显左侧的内容要比右侧更少,可如果我们将它镜像翻转过来,它原版的平衡感就会被打破了。人们更多会认为左边看起来更重了。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

同样的,在我们的汉字设计中,也会应用这种做法,比如林字的两个木字旁,就并不是左右等大的,因为这样在视觉上会显得不平衡。所以需要将左侧的偏旁削弱,才会在视觉上看起来更加和谐。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

具有左右结构的汉字,基本上都遵循了这个原则。形成了左收右放的构成样式。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

汉字“田”的中心十字笔画,为了看起来是居中的感觉,实际上也特地微调了文字的重心部分。利用辅助线,我们会更容易察觉到这其中的变化。可以看到,横笔部分,向上移动了很多。竖笔部分也相应向左做了位置上的调整。

人们常说,细节决定成败。也正是这些不起眼的细节,拉开了专业平面设计和业余设计师之间的距离。相信看到这里的小伙伴们,应该已经领略到了视觉重力原则在设计中的重要地位了。那么光知道有这么一回事儿可不行,我们更应该去了解它的特点,以及尝试着去掌握它。

我们看到的所有图像,无论抽象的还是具象的,其实都是具有重量感的。那么都有哪些因素会影响到视觉重力的大小呢?找到视觉重心之后,我们又要怎样去利用它们?接下来我们就一起去寻找相应的答案。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

色彩对视觉重量有影响吗?我们看画面中的这两个图形,是不是很明显感觉到右边更重呢?黄色的色相本身的视觉明度就要比蓝色更浅,所以我们会感觉到右边更重。

为了抵消颜色对视觉重量的影响,我们需要降低蓝色的面积,这样才能让两个图形看起来是平衡的。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

那么换成具象的物体呢?道理其实也是一样的。我们依然可以把它们看成是纯粹的色彩。经过这一步分析,我们是不是发现了左侧红色的苹果,显然会更深和更重呢?

所以,为了保持左右的平衡感,我们也需要把红色相应的缩小一些。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

我们看这两个图形,它们谁更重?左侧的八边形,它的页面边缘更复杂,角度变化也更多,所以承载了更多的信息量,相比正方形更简洁的造型来说,左侧会更重。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

那么换成大小相同的秤砣和棉花呢?谁更重?几乎没悬念了,棉花完败。当具象的物体出现时,结合以往的视觉经验后,谁更重谁更轻也就很显而易见了。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

对齐也需要考虑到视觉重力吗?如果你也有这种疑问的话,接着往下看。这是两个马克杯,它们虽然造型类似,但是色彩却不同。很显然蓝色的版本会更重,而在位置上更靠近左边,也就显得更重了。

所以,为了抵消这种重量上的轻微不平稳,我们可以把颜色更浅的橙色放到左侧的位置上。这样虽然色彩上橙色更轻,可由于它的位置更重要,也就不会给人不平稳的感觉了。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

那么构图基本确定之后,我们为这两个杯子搭配上一段文案信息。这样两个商品的展示也就做完了。你发现这两个组合出现什么问题了吗?当文字信息加入到页面之后,是不是觉得哪里不对呢?

电脑是看不懂图像的,所以用到对齐命令时,它们会围绕着像素的边缘去做对齐。可问题在于,并不是所有图片的视觉重心都刚好在方框的中间位置。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

所以我们要去修改的地方,也正是这个视觉重心的对齐位置。现在再看这两个组合,是不是感觉和谐了很多。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

当西文和汉字相互组合时,需不需要考虑到视觉重心的对齐呢?我们看,如果仅仅是依据边缘进行对齐的话,就会让西文部分看上去很小。而正确的做法是需要我们忽略掉一些文字边缘的。

分别找到两组文字的视觉大小。只有这样,才能让两组文字在视觉面积上达到相同的重量。当然,文字字重部分也是需要做出相应匹配。我们看,经过调整后,中西文的搭配明显要更加平稳了。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

但也是有例外的,比如这个例子,明明是按照之前的调整方式,仅仅是更换了文字的内容。为什么它看上去依然没有对齐呢?这里的问题其实出现在西文部分,有些单词组合,字母并没有占据下伸部的空间。所以在整体上,就会显得有高低的错落感。

这种情况,当然就需要重新去匹配了。解决方法依然是对齐文字之间的视觉重心部分。所以,方法并不是死记硬背的。我们需要根据不同的情况去做出有针对性的调整。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

接下来我们来做一个包装的案例。它是一个螃蟹口味的海鲜调味料。首先,我们选择这个手绘的螃蟹作为这个画面中的视觉焦点,把它放在版面的中心位置。经过前面的学习,我们知道了,选择对齐元素时,我们要忽略掉那些细枝末节的部分,才能找到真正的视觉中心位置。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

找到了视觉重心后,我们把它安排到页面真正的中央部位。顶部和底部的空间,我们就继续调整其他的信息。首先从层级上来说,在页面顶部我们需要一个相对第二大面积的文字组合。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

而其余的元素,围绕着底部的负空间去排列就可以了,到这里这个包装也就做完了。

无论是版式设计,还是绘画摄影,构图从来都是一个讲究的事情。想要做一版在视觉上平稳的版面,最简单的办法,就是把主体固定在页面的中心位置。可是这种对称的设计,由于太过完美,也多少会给人一种单调和乏味的印象。那么有没有一种既让页面保持平衡,又能在结构上做出变化的设计方法呢?这就引出了我们接下来的内容了。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

这个案例,属于网页中会出现的广告页面。首先,如果我想要让版面达到平衡状态,就需要把主体的重心安排在页面的中央位置。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

但是,为了让页面中加入更多信息,我们也不得不让主体向页面的一端靠拢,从而预留出足够的空间。

可这样就导致了页面的不平衡,左侧的文字重量并不能平衡整个版面。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

其实,解决的办法也很简单,我们可以试着将主体略微移向页面的中心部分。这样一来,就实现了一种动态的平衡状态。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

这背后的知识其实很简单,就是最基本的杠杆原理。如果天平两端并不平衡,那就让更重那个的靠近中心,更轻的远离中心。这样也就恢复到平衡状态了。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

这同样是一个网页中会出现的广告页面。我们看,它都出现了哪些问题。版面中所有的元素都集中到了顶部,这就导致了页面底部重量过轻,顶部重量过重的极端对比。也就是我们俗称的头重脚轻。那么经过调整之后问题依然存在。过多的空白,会让人们感觉这个版面作品没有完成。所有的重量都集中到了版面的左侧,这依然是一个极端的构图。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

正确的做法应该是怎样的呢?我们可以将重量最大的元素安排在中心位置。并且让其他元素以对称的样式排布。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

当然,你也可以将信息放大,和原本的图像进行一个叠压组合,形成一个更重更大的整体。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

又或者,采用顶部图像,底部文字的做法,让页面中的重量分配均等。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

反过来也是一样的,顶部安排文字,底部安排图像。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

再或者,我们可以将信息安排在页面的左侧,形成左字右图的配置。这样的构成,有助于人们第一眼发现你想传达的信息。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

而反过来呢?图像就成为了更重要的那个。人们会先看到图,然后紧接着去阅读相应的文字信息。

到这里,我们分别从细节的刻画,再到元素的重心对齐;又从视觉重心的动态调整,一直讲解到了宏观页面的构建思路。我们可以看到,视觉重力原则几乎渗透了整个设计流程。很多时候我们其实并不缺乏理论知识的武装,可一到自己实际动手,就马上缴枪投降了。矛盾点还是出在对理论知识点灵活运用上,接下来我就带着大家再做几个案例。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

打算做一套大米的包装设计。产品的名字就叫高山岩米。它长什么样子呢,就像我们现在看到的这样,类似葡萄干一样,和我们平时见到的大米颜色是有一些区别的,据说营养价值很高,也被誉为米中黄金。

我想利用图形的切割来表现这个岩米的部分。同时,在辅助一个篆书结构的山字,以这样的图形来体现这个主题内容。并且,我也希望这个大米的部分是镂空的,能够透过它看到真实的米。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

主视觉的刻画差不多后,接下来我把它放到包装上,并且将其他信息也一并加入到版面里。不过这样一来,信息和主视觉相互叠压,对于内容来说可能会有些相互干扰了。所以我们来试着编排一下。到这里,好像出现了我们前面提到过的问题了,那就是,整个布局显得头重脚轻了。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

接下来再试着调整一下。现在我们把底部和顶部的空间都占据了,同时也预留出了三分之一的留白,这该不会有什么问题了吧。相信看到这里的小伙伴应该都能看出问题了,那就是这样的配置确实有些左重右轻了。留白可以有,但绝对不是这样做的。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

除了我们之前提到的上图下字,或者是左图右字之外。我们当然也可以综合的应用它们。我们现在这个构成,其实就是一种全包围的结构。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

又或者,将一部分内容放在底部,而主要去刻画上方的文本样式。这就形成了类似半包围的结构。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

如果说之前的版本是上下样式的半包围构成的话。那么接下来的这个构图,就是融合了重心动态布局的左右样式半包围构成了。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

当我们不知道怎样去安排版式构成时,视觉重力原则就成为了一个很好的参考依据。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

我们再做一版活动海报。画面中出现的各种电器,都是经过退底处理的。这样的处理,能够让它们毫无违和感的出现在同一个页面中。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

在页面的部分,我加入了这个活动的具体内容。展览的主题叫《模块世界展》,是著名设计师迪特拉姆斯的个人展览。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

拿到这样的内容时,最保险的做法就是让顶部的图片成为一个更大的组合。上图下字,很平稳,也很保守。

我们可以看到,图片部分,我尽量将它们还原成了现实中它们本来的比例关系。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

或许,我们也可以再换一种思路,相对的更突破一些。将图片通过颜色划分成组。我们能够看到,其中有全黑的,也有彩色的,更有白色的。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

除了像刚刚的堆积到角落,我们也可以把图片组合规划成对角线的样式,在这样的形式下,版面构图依然是平衡的。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

我们当然也能让图片组合划分成一个更大的组合,以及一个更小的组合。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

又或者,打乱图片的顺序,完全依据视觉重心去匹配其中的位置关系。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

最终,我决定从展览的主题中寻找突破口,以“错位”的手法去呼应“模块化”这个概念。不仅仅是文字部分的错位和拆解,图片部分也通过硬边的投影,形成了一种嵌套于版面中的视觉印象。

掌握好「视觉重力原则」,构图的奥秘很简单!(超多案例)

蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码蓝小助,报下信息,蓝小助会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

截屏2021-05-13 上午11.41.03.png



文章来源:优设   作者:研习社

分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务





立方体轮播图(3d轮播图)

前端达人


<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <meta http-equiv="X-UA-Compatible" content="ie=edge">

  <title>Document</title>

  <style>

    * {

      margin: 0;

      padding: 0;

      list-style: none;

    }

    html {

      height: 100%;

    }

    .container {

      width: 400px;

      margin: 200px auto;

      height: 100px;

      position: relative;

    }

    .box {

      width: 100px;

      height: 100px;

      position: absolute;

      float: left;

    }

    #rigth {

      background-color: rgba(0, 0, 0, 0.3);

      position: absolute;

      right: 0px;

      top: 50%;

      transform: translateY(-50%);

    }

    #left {

      position: absolute;

      left: 0px;

      background-color: rgba(0, 0, 0, 0.3);

      top: 50%;

      transform: translateY(-50%);

    }

    span:hover {

      cursor: pointer;

      color: red;

    }


    ul {

      width: 100px;

      height: 100px;

      transform-style: preserve-3d;

      float: left;

      transition: all 1s;

    }

    .top {

      background-color: red;

      transform: translateY(50px) rotateX(-90deg);

      transform: translateY(50px) rotateX(-90deg);

      background: url('./image/4.jpg') no-repeat;

    }

    .footer {

      transform: translateY(-50px) rotateX(90deg);

      background: url('./image/2.jpg') no-repeat;

    }

    .left {

      transform: translateX(50px) rotateY(90deg)

    }

    .rigth {

      background-color: yellow;

      transform: translateX(-50px) rotateY(-90deg);

    }

    .Front {

      background-color: pink;

      transform: translateZ(50px);

      background: url('./image/1.jpeg') no-repeat;

    }

    .behind {

      background-color: blue;

      transform: translateZ(-50px) rotateX(-180deg);

      background: url('./image/3.jpg') no-repeat;

    }

    /* 前 */

    .container ul:nth-child(2) .Front {

      background-position: -100px 0;

    }

    .container ul:nth-child(3) .Front {

      background-position: -200px 0;

    }

    .container ul:nth-child(4) .Front {

      background-position: -300px 0;

    }

    /* 底部 */

    .container ul:nth-child(2) .footer {

      background-position: -100px 0;

    }

    .container ul:nth-child(3) .footer {

      background-position: -200px 0;

    }

    .container ul:nth-child(4) .footer {

      background-position: -300px 0;

    }

    /* 后面 */

    .container ul:nth-child(2) .behind {

      background-position: -100px 0;

    }

    .container ul:nth-child(3) .behind {

      background-position: -200px 0;

    }

    .container ul:nth-child(4) .behind {

      background-position: -300px 0;

    }

    /* 上面 */

    .container ul:nth-child(2) .top {

      background-position: -100px 0;

    }

    .container ul:nth-child(3) .top {

      background-position: -200px 0;

    }

    .container ul:nth-child(4) .top {

      background-position: -300px 0;

    }

  </style>

</head>

<body>

  <div class="container">

    <ul>

      <li class="box top"></li>

      <li class="box footer"></li>

      <li class="box left"></li>

      <li class="box rigth"></li>

      <li class="box Front"></li>

      <li class="box behind"></li>

    </ul>

    <ul>

      <li class="box top"></li>

      <li class="box footer"></li>

      <li class="box left"></li>

      <li class="box rigth"></li>

      <li class="box Front"></li>

      <li class="box behind"></li>

    </ul>

    <ul>

      <li class="box top"></li>

      <li class="box footer"></li>

      <li class="box left"></li>

      <li class="box rigth"></li>

      <li class="box Front"></li>

      <li class="box behind"></li>

    </ul>

    <ul>

      <li class="box top"></li>

      <li class="box footer"></li>

      <li class="box left"></li>

      <li class="box rigth"></li>

      <li class="box Front"></li>

      <li class="box behind"></li>

    </ul>

    <span id="rigth">下张</span>

    <span href="JavaScript:;" id="left">上张</span>

  </div>

</body>

<script>

  var rigth = document.getElementById("rigth")

  var left = document.getElementById("left")

  var ul = document.querySelectorAll(".container ul")

  var index = 0

  var flags = false

  rigth.onclick = function () {

    if (flags == false) {

      flags = true

      index++

      for (var i = 0; i < ul.length; i++) {

        ul[i].style.transform = "rotateX(" + index * 90 + "deg)"

        ul[i].style.transitionDelay = "" + i * 0.3 + "s"

      }

      setTimeout(function () {

        flags = false

      }, 2000)

    }

  }

  left.onclick = function () {

    if (flags == false) {

      flags = true

      index--

      for (var i = 0; i < ul.length; i++) {

        ul[i].style.transform = "rotateX(" + index * 90 + "deg)"

        ul[i].style.transitionDelay = "" + i * 0.3 + "s"

      }

      setTimeout(function () {

        flags = false

      }, 2000)

    }

  }

</script>

</html>



作者:yuanzhuang

链接:https://www.jianshu.com/p/10c90c482795

来源:简书

蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码蓝小助,报下信息,蓝小助会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

截屏2021-05-13 上午11.41.03.png


分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务


css简单样式(旋转正方形、纸片旋转、轮播图3D、简单轮播图)

前端达人

 
  1. 旋转正方形
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  6. <meta charset="utf-8">
  7. <title>旋转立方体</title>
  8. <style type="text/css">
  9. .stage{
  10. position: relative;
  11. perspective: 800px;
  12. }
  13. @keyframes rotate-frame{ /* 设置动画效果 */
  14. 0% {
  15. transform: rotateX(0deg) rotateY(0deg);
  16. }
  17. 50% {
  18. transform: rotateX(360deg) rotateY(0deg);
  19. }
  20. 100% {
  21. transform: rotateX(360deg) rotateY(360deg);
  22. }
  23. }
  24. .container{
  25. width: 450px;
  26. height: 450px;
  27. margin: 0 auto;
  28. transform-style:preserve-3d;
  29. animation: rotate-frame 8s infinite linear;
  30. animation-timing-function: all;
  31. animation-direction: normal;
  32. animation-fill-mode: backwards;
  33. transform-origin: 50% 50% 75px;
  34. /*background: yellow; 容器屏幕背景色*/
  35. }
  36. .container:hover{
  37. /*覆盖时暂停动画*/
  38. animation-play-state: paused;
  39. }
  40. .side{
  41. width: 150px;
  42. height: 150px;
  43. position: absolute;
  44. text-align: center;
  45. line-height: 150px;
  46. font-size: 50px;
  47. }
  48. .top{
  49. left: 150px;
  50. top: 0;
  51. transform: rotateX(-90deg); /* 设置角度 */
  52. transform-origin: bottom;
  53. background-color: rgba(0,0,255,0.5);
  54. }
  55. .bottom{
  56. left: 150px;
  57. top: 300px;
  58. transform: rotateX(90deg);
  59. transform-origin: top;
  60. background-color: rgba(0,255,0,0.5);
  61. }
  62. .left{
  63. left: 0;
  64. top: 150px;
  65. transform: rotateY(90deg);
  66. transform-origin: right;
  67. background-color: rgba(255,0,0,0.5);
  68. }
  69. .right{
  70. left: 300px;
  71. top: 150px;
  72. transform: rotateY(-90deg);
  73. transform-origin: left;
  74. background-color: rgba(0,0,100,0.5);
  75. }
  76. .front{
  77. left: 150px;
  78. top: 150px;
  79. transform: translateZ(150px);
  80. background-color: rgba(0,100,0,0.5);
  81. }
  82. .back{
  83. left: 150px;
  84. top: 150px;
  85. background-color: rgba(100,0,0,0.5);
  86. }
  87. .rotateX180{
  88. /*让倒置的数字倒置回正常状态*/
  89. transform: rotateX(180deg);
  90. }
  91. </style>
  92. </head>
  93. <body>
  94. <div class="stage">
  95. <div class="container">
  96. <div class="side top" >1</div>
  97. <div class="side bottom">2</div>
  98. <div class="side left">3</div>
  99. <div class="side right">4</div>
  100. <div class="side front">5</div>
  101. <div class="side back">6</div>
  102. </div>
  103. </div>
  104. </body>
  105. </html>
 
  1. 纸片旋转
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <title>Document</title>
  7. <style type="text/css">
  8. .zpbox{
  9. /*设置3D视角*/
  10. perspective: 800px;
  11. perspective-origin: bottom right;
  12. }
  13. .box{
  14. height: 200px;
  15. width: 100px;
  16. margin: 50px auto;
  17. /*preserve-3d 指定子元素定位在三维空间内 */
  18. transform-style: preserve-3d;
  19. /*指定变换为:linear-线性过渡*/
  20. transition-timing-function:linear;
  21. /*指定旋转动画*/
  22. animation-name: action_b1;
  23. animation-duration: 4s;
  24. animation-timing-function: all;
  25. animation-direction: normal;
  26. animation-iteration-count: infinite;
  27. animation-fill-mode: backwards;
  28. position: relative;
  29. }
  30. .box:hover{
  31. /*覆盖时暂停动画*/
  32. animation-play-state: paused;
  33. }
  34. .b1{
  35. /*声明第一个卡片为浮动,使得两个卡片能重叠*/
  36. float: left;
  37. height: 200px;
  38. width: 100px;
  39. background-color: #000;
  40. text-align:center;
  41. line-height: 100px;
  42. color: #fff;
  43. font-size:50px;
  44. }
  45. .b2{
  46. height: 200px;
  47. width: 100px;
  48. background-color: #000;
  49. text-align:center;
  50. line-height: 100px;
  51. color: #fff;
  52. font-size:50px;
  53. /*第二个卡片旋转90度*/
  54. transform: rotateX(90deg);
  55. /*第二个卡片位于中间位置*/
  56. position: absolute;
  57. margin-left: 0;
  58. margin-top: 0;
  59. }
  60. .rotateX180{
  61. /*让倒置的2、4数字倒置回正常状态*/
  62. transform: rotateX(180deg);
  63. }
  64. @keyframes action_b1{
  65. 100%{
  66. transform: rotateX(-360deg);
  67. }
  68. }
  69. </style>
  70. </head>
  71. <body>
  72. <div class="zpbox">
  73. <div class="box">
  74. <div class="b1">
  75. <div>1</div>
  76. <div class="rotateX180">3</div>
  77. </div>
  78. <div class="b2">
  79. <div>2</div>
  80. <div class="rotateX180">4</div>
  81. </div>
  82. </div>
  83. </div>
  84. </body>
  85. </html>
 
  1. 轮播图3D
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <title>Document</title>
  7. <style type="text/css">
  8. html, body, ul, li, ol, dl, dd, dt, p, h1, h2, h3, h4, h5, h6, form, fieldset, legend, img { margin:0; padding:0; } /*去掉多余的像素*/
  9. body{
  10. perspective: 800px;
  11. }
  12. .box{
  13. width: 800px;
  14. height: 360px;
  15. margin: 100px auto;
  16. text-align:center;
  17. position: relative;
  18. left: 50%;
  19. margin-left: -400px;
  20. /*background-color: #eee;*/
  21. transform-style: preserve-3d; /*设置为3D模式*/
  22. /*transform: rotateY(-30deg) rotateX(57deg);*/
  23. /*transition:5s ease;*/
  24. animation-name: animate;
  25. animation-duration: 10s;
  26. animation-iteration-count: infinite;
  27. }
  28. .box>div{
  29. width: 800px;
  30. height: 360px;
  31. position: absolute;
  32. }
  33. .box>.up{
  34. background: url(flower.jpg); /*引入照片*/
  35. transform: rotateX(90deg) translateZ(180px); /* 设置角度 */
  36. }
  37. .box>.down{
  38. background: url(flower.jpg);
  39. transform: rotateX(90deg) rotateZ(180deg)translateZ(-180px);
  40. }
  41. .box>.before{
  42. background: url(flower.jpg);
  43. transform: translateZ(180px);
  44. }
  45. .box>.after{
  46. background: url(flower.jpg);
  47. transform: translateZ(-180px) rotateX(180deg);
  48. }
  49. .box:hover{
  50. animation-play-state: paused; /* 当鼠标悬停的时候停止 */
  51. }
  52. @keyframes animate{
  53. 0%{
  54. }
  55. 25%{
  56. transform: rotateX(90deg);
  57. }
  58. 50%{
  59. transform: rotateX(180deg);
  60. }
  61. 75%{
  62. transform: rotateX(270deg);
  63. }
  64. 100%{
  65. transform: rotateX(360deg);
  66. }
  67. </style>
  68. </head>
  69. <body>
  70. <div class="box">
  71. <div class="up"></div>
  72. <div class="down"></div>
  73. <div class="before"></div>
  74. <div class="after"></div>
  75. </div>
  76. </body>
  77. </html>
  
  1. 轮播
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <title>轮播</title>
  7. <style>
  8. .frame{
  9. position:absolute;
  10. margin: 50px 200px;
  11. width:280px;
  12. height:200px;
  13. overflow:hidden;
  14. border-radius:6px;
  15. background-color: #000;
  16. }
  17. .imgdiv img{
  18. float:left;
  19. width:280px;
  20. height:200px;
  21. }
  22. .imgdiv {
  23. position: absolute;
  24. width: 1500px;
  25. }
  26. .play{
  27. animation: lbt 10s ;
  28. animation-direction: normal;
  29. animation-iteration-count: infinite;
  30. }
  31. .play:hover{
  32. animation-play-state: paused;
  33. }
  34. @keyframes lbt {
  35. 0%,20% {
  36. margin-left: 0px;
  37. }
  38. 20%,40% {
  39. margin-left: -300px;
  40. }
  41. 40%,60% {
  42. margin-left: -600px;
  43. }
  44. 60%,80% {
  45. margin-left: -900px;
  46. }
  47. 80%,100% {
  48. margin-left: -1200px;
  49. }
  50. }
  51. </style>
  52. </head>
  53. <body>
  54. <div class="frame" >
  55. <div class="imgdiv play">
  56. <img src="lunbo.jpg" > <!-- 引入照片 -->
  57. <img src="lunbo.jpg" >
  58. <img src="lunbo.jpg" >
  59. <img src="lunbo.jpg" >
  60. <img src="lunbo.jpg" >
  61. </div>
  62. </div>
  63. </body>
  64. </html>

1

蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码蓝小助,报下信息,蓝小助会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

截屏2021-05-13 上午11.41.03.png


部分借鉴自:csdn  

原文链接:

分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务

这样做设计,可太香了~

seo达人



今天我将告诉大家一个更加简单高效的技巧去定义一个色板。在星球里还有很多这样的文章,无论是现有的500+精华文章,还是每天100+设计干货,我们坚信相信水滴石穿的力量。请看今天的分享,Enjoy it。

图片

a

一套界面需要哪些颜色?

图片

说到色板,我们得首先弄清楚一套APP需要哪几种色彩,我们从airbnb的色板中,以及很多很多产品中大概可以得出一个公式:品牌色 + 提醒类型颜色(成功,错误,警告)+ 中性黑白灰颜色(各种字体,背景,分割线颜色等)

图片

在定义了上述大的色彩原理下,我们需要对界面中使用场景进行梳理得出下列大概色彩类型。

图片

a

如何去做呢?

重点来了,那我们如何去做呢?首先,我们先创建3个方块,这些方块后面会成为基础颜色!这里我设置的是被3整除的高度和宽度,我创建了一个300X300的正方形:

图片

接着我们填充3个颜色,红,绿,蓝,为什么是红,蓝绿,因为在色彩体系里面,这三种颜色属于色光三原色(色光三原色为:红、绿、蓝。光线会越加越亮)

红,绿,蓝怎么定义,大家可以从自己品牌色里面去定一个,然后可以根据HSB的方法去得出同色温下面的绿和蓝!

图片

h值(色相)以15,S和B不变,递增得到基于品牌色的24个色带,有人可能会问为什么是24个?因为24X15=360刚好围绕色环盘一圈。

图片

所以我们得到一圈基于品牌色,明度和饱和度一致性的颜色!

图片

你也可以依据https://coolors.co/去生成一套蓝色或者绿色

第二步

第二步,将这三个方块横向等分,因为每个方块300X300,所以除以3就是100PX

图片

图片

图片

将一个矩形与画板顶部对齐,然后填充微白色,将第二个矩形与画板底部对齐,填充微黑色,然后将顶部的白色,和黑色透明度调整微20,这样我们就过得到,三种不同的红色,绿色,和蓝色。

第三步

第三步,我们需要定义垂直等分的区间,我们需要画2个矩形,这2个矩形的宽度刚好是300X300的三分之一也就是100X100,将他们和正方形的右侧对齐。

图片

现在到了这篇文章的核心,就是我们需要将这个颜色改为黄色,很多人可能会好奇,为什么是黄色,因为黄色是色彩的三原色之一(可以参考上面我们通过HSB得出黄色)

图片

图片

调整黄色的模式改为叠加,将其中一个透明度降低为40%,另外一个降低为80%,然后将他们复制到绿色和蓝色的画布上,借助叠加模式,我们得到了明亮和鲜艳的颜色。

第四步

这样我们就快速的得出了一套色彩体系,然后根据我们的需求选取一部分颜色成为这个色盘体系:

图片

图片

然后添加到我们的整个色盘里面去,同理我们可以得出黑白灰色颜色,比如我们的颜色最黑是#333333

图片

顶部20%白色,底部80%黑色得出

图片

图片

纵向叠加40%白色,80%白色得出

图片

得出文字3个梯度颜色

生成最终色板

图片

通过上面的步骤就可以得出整个色板

注意

色彩感觉不好的同学,如果没有品牌色,或者品牌色搭配出来不太和谐,强烈推荐大家使用这个网站进行配色。

图片

他是基于设计师人工智能匹配出来的颜色,都比较和谐,使用起来的,我们随便试试。

图片

在这个网站上输入一个红色,锁定,然后按空格随机生成颜色,最终确定,蓝色,绿色黄色,制作出色盘。

图片

得出色盘

关于色彩系统构建的方法就是这样,不知道大家掌握没有,希望大家在做设计时候,色彩运用更加科学,一定要自己动手试试!

 

原文地址:我们的设计日记(公众号)

作者:sky


 

转载请注明:学UI网》这样做设计,可太香了~

蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码蓝小助,报下信息,蓝小助会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

                                                            微信图片_20210513163802.png

 

分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

 

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务

设计心理学系列(03)——雅各布定律与心智模型

seo达人



在体验设计层面,设计师需要匹配用户心智和引导用户心智。而产品设计更需要建立品牌心智,提升用户对品牌的忠诚度。因此在产品和运营活动设计时需要充分考虑对品牌心智的影响,避免带来负面效果。今天我们继续设计心理学第3篇——雅各布定律。

本文主要内容包括:
  • 雅克布定律与心智模型
  • 心智模型对设计的影响

 

01雅各布定律与心智模型

雅各布定律指的是如果用户已将大部分时间花费在某个网站上,那么他们会希望你的网站可以与那些他们已熟悉的网站一样拥有相似的使用模式。
这个定律揭示了用户认知事物的过程和特点——用户是“懒”的,会通过已有的经验去认知新的事物。当经验无法匹配时,用户会产生各种不适应,极端情况下用户会放弃使用产品。
比较典型的就是长期使用Windows的用户,最开始使用Mac时会表现出各种不习惯。最根本的原因就是用户在Windows系统中建立的使用心智,无法适用于Mac系统,为此有人在MacBook 中安装了Windows 系统。
图片
Don Norman 将心智模型定义为:“存在于用户头脑中的关于一个产品应该具有的概念和行为的知识,这种知识可能来源于用户以前使用类似产品的经验,或者是用户根据使用该产品要达到的目标而对产品的概念和行为的一种期望。”

因此我认为雅各布定律其实是用户心智模型的外在表现。

 

02心智模型对设计的影响

设计师如何去应用心智模型呢?主要有以下3个方面。

图片

1、匹配用户心智

匹配用户心智模型来改善体验是设计师的首要任务。当设计方案与用户心智模型一致,用户可以轻松地将已有经验从一个产品转移到另一个产品上,无需额外的理解和学习成本。

 

最常见的就是与真实环境相匹配。例如手机系统中开关样式、日历风格,都是与现实生活中相匹配的,用户的认知成本很低。同样在电商平台中,很多弹窗套用类似于微信红包样式,希望可以提高活动对用户吸引力带来更多点击和转化。

图片

之前曾经碰到一个案例。在某一数据监控系统中,数据正增长时采用红色表示,负增长采用绿色表示,理由是与股市的涨跌配色保持一致,但是系统跟股市并没有任何关系。该系统中红色又代表了告警色,绿色代表了健康色,同一系统中采用了两套设计形式,结果造成了用户困扰。

 

因此匹配用户心智需要综合考虑用户场景、应用目的等多种因素。

 

例如常见的地图,在不同的场景中表现方式也是有所差异的。在高德地图中,用户需要查询地点、导航出行等等,所以地图与我们常见的实物地图更加匹配。而在滴滴打车中,地图更多是为了确定用户地理位置、上车地点、周边车辆数量等等,所以地图更多的是作为背景进行了简单化的处理。

图片

 

2、建立新的心智

我们在设计工作中会遇到各种新的场景、新的功能,无法完全匹配用户已有的认知,因此需要借助一定的设计手段建立用户新的心智,主要包括以下3种设计形式。

图片

 

1)产品心智植入

最开始我对slogan之类的品牌心智是无感的,感觉这种口号太虚了,用户不会care,或者很难引起用户共鸣。但是今日头条改变了我的认知,短视频逐渐占领了我的碎片时间,通过短视频让我看到了别人不一样的生活,跟着别人的镜头也让我“看见了更大的世界”。

拼多多月卡为了建立用户的省钱心智,在页面中突出了产品slogan,并且将“4张5元无门槛券”打造成标志性权益,降低用户的决策成本,并且形成权益记忆点,方便营销传播。

图片

 

2)心智引导

当产品设计无法与用户心智相匹配,或者改变了用户已有心智时,需要通过引导方式让用户快速建立新的心智。例如常见新手引导、功能入口提示、功能调整说明等。

图片

 

3)行为培养心智

为了培养用户习惯,签到类产品都会采用“定时玩法”打造用户心智。例如淘系的各种游戏化产品,都采用了每天早上7点定时收获游戏奖励的玩法,通过日复一日的行为刺激固化用户心智模型。

图片

对于会期比较长的年卡付费会员,用户对权益感知比较散碎,同样需要周期性权益激发用户与产品之间的互动,不断的增强用户的省钱感知。因此不少付费产品增加了月度权益。例如京东每月100元优惠券,淘宝88VIP每月兑换优惠券,1号会员店每月领鸡蛋,考拉海购黑卡月度专享购物券权益等。

 

这些月度权益在用户生命周期中形成了一个个记忆点,逐渐增强用户对产品的“省钱”心智,并且可以持续的激活用户,为续费活动做好衔接。

图片

 

3)利用心智

设计师既要为用户服务,又要考虑商业价值实现。所以某些场景下,设计师需要利用已有的心智为产品服务。

例如弹窗可以更好地吸引用户注意力,并且用户对于弹窗主要有两种操作,要么关闭要么点击。基于这样的心智,某些App开机广告就采用弹窗样式吸引用户点击。

图片

 

另外广告作为互联网平台重要的收入来源,需要考虑投放效果,因此广告大都采用软植入的方式,在形式上尽可能的与实际内容保持一致,从而借助已有的心智引导用户浏览和点击。

图片

写在最后
我个人认为心智模型其实包括交互和品牌两个层面。

在体验设计层面,设计师需要匹配用户心智和引导用户心智。而产品设计更需要建立品牌心智,提升用户对品牌的忠诚度。因此在产品和运营活动设计时需要充分考虑对品牌心智的影响,避免带来负面效果。

 

原文地址:子牧UXD(公众号)

作者:子牧先生


 

转载请注明:学UI网》设计心理学系列(03)——雅各布定律与心智模型



蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码蓝小助,报下信息,蓝小助会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

                                                            微信图片_20210513163802.png

 

分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

 

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务


设计实验室:车载交互(HMI)的一些设计探索

ui设计分享达人

关于车载交互(HMI)的一些探索,用一些试验和案例来进行探索与验证。

这次我们不聊视觉,也不畅想未来,只说说当下HMI产品设计与交互体验。

本文内容会涉及一些专业的汽车知识名词,因为篇幅有限,如有些知识名词不太明白可以百度一下。



别看错了,不是HDMI!


说到HMI大多数设计师应该是既熟悉又陌生,HMI是Human Machine Interface 的缩写,“人机接口”,也叫人机界面,人机界面(又称用户界面或使用者界面)是系统和用户之间进行交互和信息交换的媒介, 它实现信息的内部形式与人类可以接受形式之间的转换,凡参与人机信息交流的领域都存在着人机界面。


听起来是不是觉得这不就是UI吗?有什么区别吗?emm......的确...似乎...差不多...几乎是没有区别的,只不过是在某些场合和设备上管他叫UI,比如移动端设备,而在另外某些场所和设备上管他就叫HMI,比如汽车车机和数控机床。所以这个概念也不用去特别较真,HMI就权当做是汽车上的UI界面吧。毕竟汽车是高科技与工业结合的完美产物,“HMI”念出这个词时候就感觉是蛮专业的!很般配!


HMI前世与今生?

刚才说HMI最早更应用于工业上,比如常见的各种机床、制造装备。

或者说让时间在向前推进一点!

而这里通常意义的HMI则更加聚焦点,基本特指汽车车机或者车载多媒体设备。

说到这里还是要从车载仪表盘说起,从德国人卡尔·本茨发明世界第一辆汽车,距今已经100多年的时间了,在那些还没有HMI这个名词的年代,那么他是以什么形态出现的?那就不得不提“仪表盘”了。




当然写这篇文章并不是去评测谁家HMI更优秀,而是希望通过一些假设、实验和推断,和大家一起来探讨一下如何更有效的设计HMI。



屏幕越大越好?车内到底需要几块屏幕?

我们先从屏幕开始。

说到屏幕,设计师都是比较敏感的,因为我们最终的设计交互创意都是需要都是在屏幕上显示展示出来的,HMI当然也不例外。现在在车载屏幕上你能看到最大尺寸多大?

拿特斯拉为例,Model S和Model X车型都是17英寸,Model 3为15英尺。

当然他肯定不是最大的,熟悉汽车朋友你应该知道我想说谁了,没错就是他!拥有48寸可多段升降屏幕的BYTON新能源概念车M-Byte!48寸的确很夸张,难道屏幕越来越大就是未来HMI的方向吗?

当然这个问题肯定是否定的,为什么?那就要从车载屏幕的作用来说起。


首先我是作为一个曾经就职于汽车公司的设计师,并且是一名地道的汽车发烧友,凭借对汽车还算熟悉和热爱做出一些产品交互分析,以下如有不妥之处还望海涵。


汽车内屏幕的作用

按照功能场景总体可为三类:主行驶状态信息、附设备状态信息、多媒体&外设


不可缺少还需要与使用者与场景结合,我们先来做一个大概的用户画像


对应这些需求,汽车需要有仪表台(屏)控制和显示的区域有五个。


五个区域分别是:

1、主驾驶仪表屏   

2、中控台控制(屏)  

3、后排娱乐屏   

4、副驾驶信息屏  

5、扶手控制台(屏)


其中前三个是主流配置,后两个比较少见。

关于汽车设备这块我们不做深入展开了,毕竟这篇文章主要讨论的还是设计,直接看结果!


题外音:屏幕安全性的考量

汽车是比较特殊的设备,基于安全性考虑,汽车内屏幕尺寸不易太大与太多。

屏幕总体为玻璃材质,但与车窗风挡玻璃的材质不同,当汽车遭遇碰撞的时候,车内屏幕极易破损并形成尖锐物,极大可能会乘坐人员造成二次伤害,所以车内屏幕不易太多,更不易太大。虽然车载屏幕变大变多已不可逆转,而且随着屏幕技术的提升,柔性OLED的应用也将会在一定范围解决安全问题。但也需要汽车相关设计者多在安全方面进行考虑,任何产品体验应该建立在安全基础之上的,特别是交通工具。


物理实体按钮过时了?

为什么大屏幕操控成为了当前的HMI主流了呢?那不不得不去提一下另外一个我们熟悉的设备--手机!


同样一个有限的区域,如果用物理按键那么这么区域只能是固定的功能,而屏幕就可以无限扩展。特别是在汽车中控屏上集成内容会很多,体现就更加突出。

但是在汽车上的全部使用屏幕真的是最佳选择吗?显然这是有待商榷的。

不可否认屏幕的确有很强的扩展性,但是缺点也是明显的:1.触控反馈缺乏    2.交互效率不高


对于这样的判断,我们可以通过两个实验来进行验证。



将类似于Surface Dial这种智能按钮交互装置引入汽车的屏幕控制中,每个按钮可以根据情景进行自定义,并且吸附到汽车屏幕的任何位置进行交互操作,相信这一定是一种全新的使用体验。当然这一定是需要解决比如吸附力、安全性等一系列问题。


屏幕触控反馈

虽然目前的屏幕还有无法做到完美触控反馈,但已经出现了一些新的硬件技术来试图解决这些问题,比如Tanvas Touch,其定义为 “手指与触摸界面之间的电子压力控制”。简单来说他们的产品就 “皮肤的磁铁” 一样,能够更加精准的感应手指的动作,最后结果就是比 Apple 的 3D Touch 更加具有压感的触摸操作表现。



原理是利用手指尖触摸显示屏时产生的静电引力来模拟触感,通过电磁脉冲把更精确的反馈发送到用户的指尖。



Tanvas 也正在与汽车制造商们合作把这项技术嵌入到汽车或屏幕上,让人们更容易感触受到不同物体的表面。

也许在未来我们真的会遇到他。


蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码蓝小助,报下信息,蓝小助会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

截屏2021-05-13 上午11.41.03.png



文章来源:站酷   作者:残酷de乐章

分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务


3D与UI结合的设计探索

ui设计分享达人

在2020 年的苹果全球开发者大会(WWDC),苹果发布了新的 macOS 11(又名 Big Sur)。其中在UI视觉方面macOS Big Sur 系统最大的变化就是图标上, Big Sur更新了很多新设计风格的应用图标。

关于 Big Sur 的新图标的讨论很多,很多都在激烈争论。人们对苹果公司没有将完全扁平设计引入 Mac 感到松了一口气,但分歧并未停止。有些人认为这引领一种新的图标表现方式,而有些人则认为这是丑到了天际。



但苹果的设计就是这样,不管你你喜不喜欢,过一段时间他总会流行起来。就像iPhone11刚面世时,背面的摄像头组被无数人吐槽一样,而现在这个设计已经成了高端机的标板。


大家还能想起来UI扁平化设计已经流行了多少年了吗?

从2013年6月11日苹果发布iOS7算起,现在已经将近8年了,这8年时间扁平化像飓风一般席卷了整个UI设计圈,一夜间几乎所有的APP UI都被拍扁了。




其中以Instagram的换标作为扁平盛行时代的里程碑



但扁平化设计的确已经一统江湖太久了,人们似乎已经有点厌倦了。其实设计风格就是这样,并没有绝对的好与不好,只要审美不疲劳,就可以继续流行下去,至于流行多久我们经常会用一个词去形容---耐看度。

扁平化带给我们的是画面的轻盈和设计的高效率,但是缺点也是明显的,场景表现过于单一的问题,设计感体现较为有限,于是很多设计师都在尝试用新的设计风格替代或者进化现在的扁平化设计风格,今天我们就来探讨一下新拟物背景下3D与平面的结合设计,能在UI中擦出什么样的火花。


2014年我的作品-Cache 

https://www.zcool.com.cn/work/ZMjY1OTEwMA==.html


现在这样的风格会被我们称之为重度拟物风格,他不好看了?技术落后了吗?当然不是!只是目前不流行了!

他的特点是强调光影对比与物理质感,色彩都会比较偏“暗”,而且伴随设计的往往是难和慢!刻画一个细节需要很久,在强调设计效率组件化的今天,这种费时又难学的设计方法必然不会成为主流。


当前的UI流行趋势是强调高饱和的色彩搭配(在没有光影细节之下也只有色彩可以玩了),这种风格明显也不符合趋势,被“淘汰”也就难免了。


从设计角度上解析,图标主要是由四方面构成:构图+光影+色彩+纹理

而拟物风格图标在这四方面更加强调构图、光影和纹理,而色彩则是更多去搭配纹理质感,所以你看到多数拟物风格图标在质感上很棒,但是色彩却没有那么丰富。




说到新的拟物风格,这只是一个概念,也有称之为轻拟物,轻偏平,这里并没有通用的称呼和预设的设计方法,一切的UI设计风格都是为产品本身服务,如果新的设计风格能让产品整体体验得到“提升”,哪怕这种提升只是成功获取到了用户的注意力,那这个设计就是有价值的。



所以当下如果你的产品中想要吸引目光就要有点与众不同的东西,要么是独门的功能,要么就是吸晴的设计。
显然扁平的彩色图标现在已经达不到这个效果了,而以前的拟物又显得有点过时,在这种时代背景下,新的风格必然就会被碰撞出来。


于是乎我们就会看到以下的一些大厂“创新”,你不止能看到轻拟物设计,还能看到“实物”设计......

不得不说,各位设计师们还真是拼了...


“哪怕这种提升只是成功获取到了用户的注意力,那这个设计就是有价值的。”没毛病!各位加油!


当然苹果BigSur带给我们的图标设计创新更加有趋势意义,这种3D+平面的设计组合方法更加能给我们一些设计启迪和思考,并且这种3D图标与之前的拟物风格有着明显的视觉区别

我用3D重构了一个计算器icon,以此为例来进行分解,如下:

与2D设计方法设计图标一致,都是先勾画图形(建模),然后填色、加材质和灯光,但不同的是在3D环境下,这一切都比2D环境下简单了,而且视觉效果更佳,整体画面感更佳立体,质感更加饱满,并且根据渲染器的参数调节和材质质感的不同,即使是在同一模型下,也能制造出很多种不同的视觉体验。



图标背板的选择上,由于选择了3D作为主体表现,3D背板过于抢视线,图标为了突出主体而非背景,建议使用2D平面背板与3D前景图标进行结合。

3D设计图标的确有一些天然的优势,特别是在质感和光感的表达准确度上,是绝对超过2D的。
但是2D图标在一些风格的设计也是很难替代的,比如线性图标和渐变风格图标。




3D设计的确可以提升UI整体的视觉氛围,并且现在在一些APP中已经可以看到小范围3D案例了(比如支付宝),但是多是以插画的形式出现,其实与产品UI还是有一定距离的。

未来3D设计一定会是UI中大展身手,但是目前的常见的3D设计软件实在是太庞大了,我与许多3D行业的同行聊天的时候,大家普遍的认知是现在的3D软件(包括C4D)的实际最佳场景依然是动画设计,UI的中的3D属于非常轻量级的,用现在主流的3D设计软件做UI应用案例,有点用巡航导弹打蚊子的感觉,而且这个蚊子还是距离一米以内。这有点像当年的PS来做UI,虽然可以完成但是效率不高,学习曲线也高,于是Sketch和Figma这样的产品顺理成章的取代了PS在UI界的地位。


蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码蓝小助,报下信息,蓝小助会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

截屏2021-05-13 上午11.41.03.png



文章来源:站酷   作者:残酷de乐章

分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务


D3.js中Force-Directed Graph详解

前端达人

Force-Directed Graph

聊一聊力导向图。力导向图在echarts等快捷的可视化工具中都有非常方便的实现方式。来看看d3.js是如何实现的。
先来一张d3.js官网实现的力导向图的照片:

接下来解释一下d3.js中实现此力导向图的过程。

index.html——源码

<!DOCTYPE html> <meta charset="utf-8"> <style> .links line { stroke: #999; stroke-opacity: 0.6; } .nodes circle { stroke: #fff; stroke-width: 1.5px; } </style> <svg width="960" height="600"></svg> <script src="https://d3js.org/d3.v4.min.js"></script> <script> // 定义一个svg画布 var svg = d3.select("svg"), // 获取svg画布的宽度 width = +svg.attr("width"), // 获取svg画布的高度 height = +svg.attr("height"); // 定义一个颜色函数 // d3.scaleOrdinal()函数用来定义一个序列,其中的参数d3.schemeCategory20代表序 // 列函数的值域,这里d3.schemeCategory20指的是由RGB十六进制字符串表示的二十种分类 // 颜色的数组。因此,color()函数的值域就是离散的20中颜色值 var color = d3.scaleOrdinal(d3.schemeCategory20); // 创建一个力学模拟器 // d3.forceSimulation()函数用来创建一个空的模拟器 var simulation = d3.forceSimulation() // simulation.force(name,[force])函数的作用是:如果指定了力force,则为指 // 定的名称name分配力并返回该模拟。 如果未指定力,则返回具有指定名称的力,如果 // 没这样的力,则返回undefined。 (默认情况下,新的模拟没有力量。) // d3.forceLink()函数用来创建一个空的link力数组 // d3.forceLink().id()用来指定link力数组中每个节点的id的获取方式 .force("link", d3.forceLink().id(function(d) { return d.id; })) // 创建一个charge数组,forceManyBody()返回一个新的多体力数组 .force("charge", d3.forceManyBody()) // d3.forceCenter()用指定的x坐标和y坐标创建一个新的居中力。 // 如果未指定x和y,则默认为⟨0,0⟩。 .force("center", d3.forceCenter(width / 2, height / 2)); // 读取数据,该例子中的数据是雨果的《悲惨世界》中的人物关系信息。 // 通过力学模拟,人物关系相近的节点会比较接近;反之,节点会比较疏远 d3.json("miserables.json", function(error, graph) { if (error) throw error; // 定义人物节点之间连线的信息 var link = svg.append("g")
      .attr("class", "links") // 用line元素来绘制  .selectAll("line") // 绑定json文件中的links数据 .data(graph.links)
    .enter().append("line") // 人物节点之间连接线的粗细通过连接线的value字段来计算,value越大,连接线  // 越粗 .attr("stroke-width", function(d) { return Math.sqrt(d.value); }); // 定义人物节点信息 var node = svg.append("g")
      .attr("class", "nodes") // 人物节点通过圆来绘制  .selectAll("circle") // 为人物节点绑定nodes数据 .data(graph.nodes)
    .enter().append("circle") // 设置节点半径 .attr("r", 5) // 设置节点的填充色,通过节点的group属性来计算节点的填充颜色 .attr("fill", function(d) { return color(d.group); }) // 以定义的这些人物节点为参数,调用drag()函数 // 绑定拖拽函数的三个钩子,即拖拽开始、拖拽中、拖拽结束 .call(d3.drag()
          .on("start", dragstarted)
          .on("drag", dragged)
          .on("end", dragended)); //为人物节点绑定文字 node.append("title")
      .text(function(d) { return d.id; }); // 为力模拟器绑定节点数据 // 会为每个节点自动添加可视化时所需的index,vx,xy,x,y五个字段信息 // 并且为simulation内部计时器tick监听绑定动作,来绘制图形 simulation
      .nodes(graph.nodes)
      .on("tick", ticked);// 此处在每次tick时绘制力导向图 // 为力模拟器绑定连接线数据 // 调用结束后,会为每个连接线添加可视化时所需要的index,vx,vy,x,y五个字段信息 simulation.force("link")
      .links(graph.links); // 定义simulation内部计时器tick每次结束时的动作 function ticked() { // 每次tick计时到时,连接线的响应动作 // 设置连接线两端的节点的位置 link
        .attr("x1", function(d) { return d.source.x; })
        .attr("y1", function(d) { return d.source.y; })
        .attr("x2", function(d) { return d.target.x; })
        .attr("y2", function(d) { return d.target.y; }); // 每次tick计时到时,节点的响应动作 // 设置节点的圆心坐标 node
        .attr("cx", function(d) { return d.x; })
        .attr("cy", function(d) { return d.y; });
  }
}); // 定义开始拖拽节点时的动作 function dragstarted(d) { // restart()方法重新启动模拟器的内部计时器并返回模拟器。  // 与simulation.alphaTarget或simulation.alpha一起使用时,此方法可用于在交互 // 过程中进行“重新加热”模拟,例如在拖动节点时,在simulation.stop暂停之后恢复模 // 拟。 if (!d3.event.active) simulation.alphaTarget(0.3).restart();
  d.fx = d.x;
  d.fy = d.y;
} // 定义拖拽中的动作 function dragged(d) { d.fx = d3.event.x;
  d.fy = d3.event.y;
} // 定义拖拽结束的动作 function dragended(d) { if (!d3.event.active) simulation.alphaTarget(0);
  d.fx = null;
  d.fy = null;
} </script>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145

至此,力导向图解析完毕,这篇中有很多关于力学的专业的功能函数,理解起来有点难度。今天周日,起床后第一件事就是把这篇完结了,欧耶~

这篇文

蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码蓝小助,报下信息,蓝小助会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

截屏2021-05-13 上午11.41.03.png


部分借鉴自:csdn  

原文链接:

分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务

jquery获取焦点和失去焦点事件代码

前端达人

鼠标在搜索框中点击的时候里面的文字就消失了,经常会用到搜索框的获得焦点和失去焦点的事件,接下来介绍一下具体代码,感兴趣的朋友额可以参考下

input失去焦点和获得焦点
鼠标在搜索框中点击的时候里面的文字就消失了。
我们在做网站的时候经常会用到搜索框的获得焦点和失去焦点的事件,因为懒,每次都去写非常的烦,于是就一劳永逸,遇到类似情况就来调用一下就OK 了
相关js代码:

复制代码代码如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>input失去焦点和获得焦点jquery焦点事件插件 - 懒人建站</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
//focusblur
jQuery.focusblur = function(focusid) {
var focusblurid = $(focusid);
var defval = focusblurid.val();
focusblurid.focus(function(){
var thisval = $(this).val();
if(thisval==defval){
$(this).val("");
}
});
focusblurid.blur(function(){
var thisval = $(this).val();
if(thisval==""){
$(this).val(defval);
}
});
};
/*下面是调用方法*/
$.focusblur("#searchkey");
});
</script>
</head>
<body>
<form action="" method="post">
<input name="" type="text" value="输入搜索关键词" id="searchkey"/>
<input name="" type="submit" id="searchbtn" value="搜索"/>
</form>
<p>input失去焦点和获得焦点jquery焦点事件插件,<br/><strong style="color:#F00">鼠标在搜索框中点击的时候里面的文字就消失了</strong>。</p>
</body>
</html>

jquery获取和失去焦点事件
复制代码代码如下:


<script src="jquery-1.9.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$('#username').focus(function ()//得到教室时触发的时间
{
$('#username').val('');
})
$('#username').blur(function () 失去焦点时触发的时间
{
if ($('#username').val() == 'marry') {
$('#q').text('用户名已存在!')
}
else { $('#q').text('ok!') }

})



蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码蓝小助,报下信息,蓝小助会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

截屏2021-05-13 上午11.41.03.png


部分借鉴自:脚本之家

原文链接:

分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务

日历

链接

个人资料

蓝蓝设计的小编 http://www.lanlanwork.com

存档