element ui 菜单右侧展开_老板:把这张1920分辨率的UI图也在1024分辨率上适配??

普通UI:对不起,我只能重做。打扰了。

中级UI:我做几个关键分辨率,1024,1366,1440,1920。

看到没,UI虽说就是画画图当个美工狗,但是如何偷懒一套系统少做几份不同分辨率的图,还是很有必要的。

毕竟...头发是自己的

2869c19f03c8607d6a3e2715bad05972.png

适配、响应式设计的必要性。

移动端设备我就不说了现在基本上也就一套可以全适配。

浏览器设备嘛天差地别,主流分辨率还是在1366-1920之间的,高级一点的2k/3k/4k也越来越多了,工业制造车间、传统行业很多还是用1024分辨率设备的(这次的客户是个超有钱的大银行居然扣扣搜搜用的带屁股的超级小的电脑。。。),甚至有的还要适配Pad,所以适配肯定要做。

设计之前就得张嘴问清楚:这次适配分辨率是多少(超级超级重要!!一定要问清楚!到时候临时改又麻烦还背锅!)


到底什么样的需求,需要UI做响应式或者适配不同分辨率?

一般我接触的网页分成三种:官网门户、后台系统、大数据展示。

官网门户类:

例如谷歌、百度,搜索进去之后就是列表,这个列表占满整个页面,为了响应不同设备,这类网站都有一个“版心”,

105681995af069e783120d2ad3703d2e.png

在浏览器宽度随意拖拽的时候,这个“版心”是固定宽度的,通常版心宽度定在900-1000px,这样1024分辨率下嘻嘻嘻完美解但是这样布局规则虽然简单,也有问题:页面右侧会很空(百度这个机灵鬼在右侧放了一些搜索优化和排行榜,凸显了AI和数据优势),而且布局会很老套(谷歌和百度十几年前就基本长这样了)。

这种布局还是适合内容简单、主要是文字信息的页面。在设计这种界面的时候,可以考虑把内容限定在“版心”内。图片很丰富的时候就明显不适用了。


后台系统:

甚至直接扔给开发就可以。开发GG为了省事也会参考组件,比如element/Antdesign/Bootstrap,这些组件在布局的原理上换汤不换药,都是通过栅格化实现。

以ElementUI为例:

b6ebf5d2bb9975d0d5b81224ec915771.png

865fd8bfd959f899ec63d490c26b942a.png

组件定义了一个24分栏(col)的基础布局,通过设置span创建栅格布局。比如这里,span=12,分栏数为24/12,以此类推。分栏如果需要加间隔,就加点gutter的属性。

反正这些说来说去就一句话:跟开发GG搞好关系,然后把锅扔给他。

2938cc1e759fec8e75acae6fc33a4f18.png

复杂需求:

如果以上布局方式不能满足复杂的需求,就需要UI小弟们费点脑子想想适配响应式设计的问题了。

1.工具。

想要处理好响应式设计的事首先你得选一个灵活的工具。PS就别想了。都什么年代了UI界面这么工程化化这么接近开发的图片还在用PS??PS的才华被你浪费了好吗!在这里我还是推荐AdobeXD和Sketch,普及率高而且五分钟上手。

2.响应式设计规则。

前端要求在不同分辨率下图文正常显示,分成两种情况。一是内容组件通过横向拉伸不改变布局可以承载功能操作且尽量保持优雅美观,二是组件不够放了需要改变布局。

第一种情况复杂点,牵扯到组件和Group的相对定位和间距。这种变化是相当常见且重要的。

现在以Adobe XD和Sketch为例,来看一下怎样实现响应式设计。

294f2ca6b74ae0985767240c3816e969.png

在这个案例中我们需要做一个文字卡片。左侧信息左对齐,右侧信息右对齐。当宽度改变时,对齐规则和跟卡片box的内边距固定,改变的仅仅是box的宽度,box内部的相对布局不动。

还有一个很常见的例子就是文字型按钮的宽度。我们可以指定一个按钮的宽度,也可以采用按钮宽度适应文字。比如,我规定,按钮文字字号为14px,按钮两边距离文字的边距是12px,那么系统中无论按钮文字为n(n就是字数,int形式),这个按钮的宽度width已经定了:w=14*n+12*2。


f455a06524d7d8c550be25ea86b8bdbc.png

在这个案例中,我们需要一个宽度不定的表格,表格宽度跟随窗口宽度流动。

产品名称明显是会很宽的,而银行、产品类别、风险等级、时间这几列宽度固定且适中,预期收益率、期限这两列列名占很宽但实际信息很短。

当然一般表格组件有四种排布方式:1️⃣不管列宽,只平分;2️⃣指定列宽(比如我们指定产品名称这一列永远占300px);3️⃣表格自适应;4️⃣为每一列分配一个百分比,当表格宽度变化时使得每一列的相对宽度比例不变。

这个表格我们来看一下应该用哪一种适应方式:

方案一:平分每一列。每一列长度相差太大,放弃。

方案二:指定列宽。本项目要从1024就开始向上适配分辨率跨度太大,放弃。

方案三:根据列宽自适应。可以是可以,最终会因为预期收益率、期限这两列名字占太长导致视觉上很空,备选。

方案四:分配百分比。效果如图,非常完美地解决了这次自适应的问题。


从这两个案例中总结,自适应或者响应式是有一定规范的。可以按照相对定位指定固定宽度,也可以指定百分比。Sketch中的Resizing功能强烈建议好好学习,并且在一上手做界面的时候养成好习惯,制定resizing的规范,使得组件复用率高提高效率。另外有兴趣的可以看下Anima的插件中Layout功能,也很丰富。基本可以无缝对接开发了。

aa0a5d9ce44d6684a7edbd63df36c3c1.png

b3fba82a65fc8a17f144be29b8399402.png

如果不改变内容的宽度,只改变布局,那就好办多了。

观察浏览器窗口在宽度拉伸过程中网页的标新结果,针对需要优化的临界值进行再设计。比如,现在我让窗口宽度一直变化,其实到导航栏卡片宽度没变,变得是卡片的列数,即只是布局改变。当然也会有综合的,组件本身会拉伸,超出临界值会去改布局。很多卡片类的列表就是采用的这种适应方式,丝毫没有影响卡片封面的图片质量。

cdde63c8fdaa269e0817f72b381b770d.png

68f6cd50e13526c40faf0b4a05ec7a5e.png

综上,自适应和适配问题已经说得很明白了。

当然有的原型扔给你的时候他就不好做自适应。

这个时候UI是要大胆改原型的布局的。一般来说,适合做自适应的布局应该满足这些条件:

  1. 图文类的卡片,要么重文字要么重图片,自适应的时候一定要强调不能改变图片长宽比。
  2. 图文类组合布局时,尽量按照上图下文或者左图右文的布局(仅仅是从自适应的角度)。这样在布局紧凑的时候文字往往会溢出,文字向下向右溢出,不应该挡住图片。
  3. 纯图表类的,要注意间距和排布的比例,疏密有致。
  4. 大量文字堆积的网页,在小分辨率(1024-1366)的时候考虑将页面上的字号统一调小一个级别。

以上。祝各位狗子早日脱离苦海。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值