首页

CSS-弹性伸缩布局(新版本)

seo达人

如果您想订阅本博客内容,每天自动发到您的邮箱中, 请点这里

使用新版本的弹性伸缩布局
display使用弹性伸缩盒

direction容器盒内元素的排列顺序

flex-wrap设置无法容纳时,自动换行

justify-content 伸缩项目的排列方式

align-items 处理额外空间

align-self 单独处理一个伸缩项目的额外空间

flex 控制伸缩容器的比例分配

order 设置伸缩项目出现的位置

dislpay
值:
flex 将容器盒作为块级弹性伸缩盒显示。
inline-flex:将容器盒作为内联级弹性伸缩盒显示。
实际现实中 这两个值没区别。

direction
容器盒内元素的排列顺序

值:
row:从左到右排列
row-reverse:从右到左排列
column:从上倒下排列
column-reverse从下到上排列

flex-wrap
设置无法容纳时,自动换行

值:
nowrap:不换行
wrap:自动换行
wrap-reverse:自动换行,方向和wrap相反

下图为正常排序

使用wrap-reverse后缩小浏览器时:


justify-content
伸缩项目的排列方式

值:
flex-start:伸缩项目以起始点靠齐

flex-end:伸缩项目以结尾靠齐
center:以中心点靠齐
space-between:伸缩项目平均分布
space-around:同上但两段保留一般的空间

实例:使用space-around的排列效果


align-items
处理额外空间

值:
flex-start:以顶部为基准,清理底部的额外空间
flex-end:以底部为基准,清理顶部的额外空间
center:以中间为基准,清理上下部分的额外空间
baseline:以基线为基准,清理额外的空间
stretch:伸缩项目填充整个容器,默认值

align-self
处理额外空间

值:与align-items的值一样,需要用nth-child()设置某一个需要处理的伸缩项目
flex
设置伸缩项目分配比例

p:nth-child(1)
{
   flex: 1;
}

p:nth-child(2)
{
flex: 2;
}
 p:nth-child(3)
{

flex: 2;
}
p:nth-child(4)
{
flex: 1;
}

order
设置伸缩项目出现的位置

p:nth-child(1)
{
   order:2;
}

p:nth-child(2)
{
 order:3;
}
 p:nth-child(3)
{

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

视觉层级强力拆解

ui设计分享达人

如果您想订阅本博客内容,每天自动发到您的邮箱中, 请点这里

自从上一篇发文得到一些发表方向,以后决定以个人独特的总结以及符合商业的思维逻辑来写作设计拆解的相关文章教程,前期我还是按大类去诠释我的整个想法,看看大家的反馈,如果理解门槛还是有很大障碍,我在后期的文章中会再将文章细化出来。


拆解分类

拆解1、视觉面积的影响

拆解2、明度对比的影响

拆解3、色彩的影响

拆解4、视觉位置的影响

拆解5、丰富层度的影响

拆解6、其他(浮层、常用点、角标、动效)




拆解1、视觉面积的影响

视觉面积越大层级越高,而且与比较层的面积倍数有关,参考层如果为1级,那比较层的等级是由和参考层的倍数有关,大一倍那就为2级,大两倍那就是3级,依次类推。这是美术基础中的近远的关系,越靠近的视觉点越大,越靠远的视觉点越远,这样也很容易知道,越近获得关注越高,越远越低。

界面举例我们告一段落,这里再说一下比较常遇到的文字视觉面积,这块很容易被忽略,其实文字也是具有视觉面积的,而且有不同的视觉大小。接下来我会将所有可能性都拆解出来。


同字号大小,不同粗细层度的影响/文字的边宽形成的格式塔大小就是文字面积,但不一样的是,文字是线性结构,所以他不是实面,而是虚面,所以它相对于实面来说还是低一个等级,再说回到粗细的层级比较,越粗的文字他是越靠近实面的,所以这就能判断越粗的文字层级越高这个道理。


同粗细,同字号大小,一个是有文字底块,一个没有,这样有文字底块的视觉层级会比没有文字底块的视觉层级要高,因为有底块相当于为实面,这样就比没有文字底块的层级要高了


同粗细,不同字号大小,这个不难理解,这个不存在实面虚面的概念了,因为都是一样的粗细,但是这个格式塔大小不一样,也就是说,格式塔越大的层级越高,字号越大的层级越高。


拆解2、明度对比的影响

明度对比越高的视觉点会比明度对比低的视觉点视觉层级要高,这里其实也是美术基础中的空间的视觉差,越远的物体越模糊(对比小),越近的物体越清晰(对比大)。所以对比大的层级会比对比小的层级会高。(这里插一句,色相也是有明度的,不同的色相也是有不同明度解析,这个可以运用到电商banner的配色上)

下面来看看文字和背景不同对比度对视觉层级的影响。我们将统一文字大小和粗细,背景为白色。


拆解3、色彩的影响 

有色的视觉点总会比无色的视觉点更吸引人,因为色彩也是美术的一类,给没有色彩的视觉上色是提升视觉体验的一步。

文字为例:同等大小同等粗细同等明度的字,有颜色的字体会有更大的关注点。

拆解4、视觉位置的影响

给界面一个横轴和纵轴,从横轴的左边到右边起视觉层级逐渐减弱,从纵轴的上到下边视觉层级逐渐减弱。这是因为用户阅读习惯的问题,人们习惯从左上方开始往右边阅读,然后慢慢的往下读取信息。

拆解5、丰富层度的影响

丰富层度越高的视觉层级越高,丰富层度越高的点信息量越大,越需要花时间停留。

文字为例:设计过的字体丰富层度会比默认字体高,所以有些需要强调的标题或者banner上的字体都是有精心设计过,为了拉开于界面的层级。

界面为例:界面首页中的banner是丰富层度最高,其次是金刚区,再是标签栏。

拆解6、其他

除了上诉的主要层级影响,还有其他一些特殊的影响,我这就说两三个子吧。一个呢是给模块直接加投影,硬生生的造成前后层级。还有角标的影响,在干净的页面中突然来个提示角标,例如微信有消息时的小角标。还一个就是用户常用关键点,那个视觉层级整个产品中的最高层级,这个需要打破所有规则,这个是由用户主动选择的视觉层级点,例如电商软件的搜索框,不管这个搜索框大小如何,层级怎么低都行,但对于用户进来,第一个渴望的点就是这里,最后是动效的影响,每个动效就是一个互动,动的东西永远比静止的东西有活力更加吸引人。

图片来源UIGREAT的作者JGM



总结


视觉层级的梳理可以很大幅度的提升视觉规范和用户体验,通过视觉层级的分析,可以从不同方面去诠释复杂的页面,也可以更好的去处理文本关系。

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


vue项目 微信支付 和 支付宝支付

seo达人

如果您想订阅本博客内容,每天自动发到您的邮箱中, 请点这里

做了一个项目,有充值功能,充值方式为 微信和支付宝,效果如下:



代码:

<template>
<el-card class="box-card">
<ul class="msg-box">
<li>
<h4>我要充值</h4>
</li>
<li>
<h4 style="margin-bottom: 15px;">充值金额</h4>
<el-radio-group v-model="amountVal" @change="amountChange">
<el-radio border :label="''+ 100">充值100</el-radio>
<el-radio border :label="''+ 500">充值500</el-radio>
<el-radio border :label="''+ 1000">充值1000</el-radio>
<el-radio border :label="''+ 2000">充值2000</el-radio>
<el-radio border :label="''+ 5000">充值5000</el-radio>
<el-radio border :label="''">自定义</el-radio>
</el-radio-group>
</li>
<li>
<h4 style="margin-bottom: 15px;">充值方式</h4>
<el-radio-group v-model="rechargeParams.paymentType" @change="paymentTypeChange">
<el-radio border :label="''+ 0">微信</el-radio>
<el-radio border :label="''+ 1">支付宝</el-radio>
</el-radio-group>
</li>
<li>
<h4 style="margin-bottom: 15px;">充值金额</h4>
<el-input :disabled="disabled" clearable v-model="rechargeParams.totalAmt" placeholder="请输入金额" style="width: 150px;"></el-input>
</li>
</ul>
<div style="text-align: center; margin-top: 30px;">
<el-button type="primary" @click="surePay">确认支付</el-button>
</div>
</el-card>
</template>
 
<script>
export default {
data() {
return {
amountVal: '',
disabled: false,
//充值参数
rechargeParams: {
"totalAmt": '', //金额
"paymentType": "0", //支付方式[0:微信,1:支付宝,2:余额,3:活动]
"transType": "0" //交易类型[0:充值,1:消费]
}
}
},
methods: {
//充值金额
amountChange(val) {
this.rechargeParams.totalAmt = val;
if (val == '') {
this.disabled = false
} else {
this.disabled = true
}
},
//支付方式
paymentTypeChange(val) {
this.rechargeParams.paymentType = val
},
//确认支付
async surePay() {
if (this.rechargeParams.totalAmt == '') {
this.$message.warning('请输入金额');
return;
}
const res = await this.$http.post('orderInfo/createOrderInfo', this.rechargeParams)
const {
code,
msg,
result
} = res.data
if (code === '200') {
//支付方式跳转
if (this.rechargeParams.paymentType == '0') {
this.$message.success('微信支付');
this.wechatPay(result);
} else if (this.rechargeParams.paymentType == '1') {
this.$message.success('支付宝支付')
const payDiv = document.getElementById('payDiv');
if (payDiv) {
document.body.removeChild(payDiv);
}
const div = document.createElement('div');
div.id = 'payDiv';
div.innerHTML = result;
document.body.appendChild(div);
document.getElementById('payDiv').getElementsByTagName('form')[0].submit();
} else if (this.rechargeParams.paymentType == '2') {
this.$message.success('余额支付成功');
this.$router.push({
name: 'order'
})
} else {
this.$message.success('活动支付')
}
} else if (code === 401) {
this.$message.error(msg)
this.$router.push({
name: 'login'
})
} else {
this.$message.error(msg)
}
},
//微信支付
wechatPay(result) {
if (result) {
const orderParams = JSON.parse(result);
sessionStorage.qrurl = orderParams.qrurl;
sessionStorage.amt = orderParams.amt;
sessionStorage.returnUrl = orderParams.returnUrl;
sessionStorage.order_id = orderParams.order_id;
this.$router.push({
name: 'wechatPay'
})
}
}
}
}
</script>
 
<style scoped>
/* 信息列表样式 */
.msg-box > li {
list-style: none;
border-bottom: 1px solid #c5c5c5;
padding: 20px 10px;
}
</style>
支付宝方式:后台会返回来一个form,然后提交form自动跳转到支付宝支付页面。

微信方式:需要自己根据后台返回的url生成二维码页面,如图所示:



代码:

<template>
<div class="payBox">
<div class="img-logo">
<img src="http://img.huoxingbeidiao.com/public/WePayLogo.png" alt="">
</div>
<div class="info-box">
<div style="padding-bottom: 20px;">
<qrcode-vue :value="qrurl" :size="200" level="H"></qrcode-vue>
</div>
<img src="http://img.huoxingbeidiao.com/public/WePayInfo.png" alt="">
<p class="price">¥&nbsp;{{amt}}</p>
</div>
</div>
</template>
 
<script>
import QrcodeVue from 'qrcode.vue'
export default {
data() {
return {
amt: 0,
qrurl: '',
timer: null
}
},
components: {
QrcodeVue
},
methods: {
getOrderInfo() {
if (sessionStorage.qrurl && sessionStorage.amt) {
this.qrurl = sessionStorage.qrurl;
this.amt = sessionStorage.amt;
}
},
startLoop() {
this.timer = setInterval(() => {
this.isPaySuccess()
}, 3000)
},
async isPaySuccess() {
const orderId = sessionStorage.order_id;
const res = await this.$http.get('orderInfo/queryOrder?orderId=' + orderId)
const {
code,
msg,
resultList
} = res.data
if (code === '200') {
clearInterval(this.timer);
this.timer = null;
sessionStorage.removeItem('qrurl');
sessionStorage.removeItem('amt');
sessionStorage.removeItem('order_id');
sessionStorage.removeItem('returnUrl');
setTimeout(() => {
this.$router.push({
name: 'order'
})
}, 3000)
} else if (code === 401) {
clearInterval(this.timer);
this.timer = null;
sessionStorage.removeItem('qrurl');
sessionStorage.removeItem('amt');
sessionStorage.removeItem('order_id');
sessionStorage.removeItem('returnUrl');
this.$message.error(msg)
this.$router.push({
name: 'login'
})
} else {
 
}
}
},
created() {
this.getOrderInfo()
this.startLoop()
},
beforeDestroy() {
clearInterval(this.timer)
this.timer = null
}
}
</script>
 
<style scoped>
.payBox {
width: 1000px;
margin: 0 auto;
}
 
.payBox .img-logo {
padding: 20px 0;
text-align: center;
}
 
.payBox .img-logo img {
width: 180px;
}
 
.info-box {
padding: 60px 0;
border-top: 3px solid #F43B66;
-webkit-box-shadow: 0 0 32px 0 rgba(0, 0, 0, .18);
box-shadow: 0 0 32px 0 rgba(0, 0, 0, .18);
text-align: center;
}
 
.info-box .price {
color: #F43B66;
font-size: 40px;
padding-top: 20px;
padding-bottom: 20px;
border-bottom: 1px solid #f1f1f1;
}
</style>
需要安装qrcode.vue

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

为什么高手的配色那么抢眼? 原来是用了CMYK 配色法!

资深UI设计者

如果您想订阅本博客内容,每天自动发到您的邮箱中, 请点这里

界面配色

2016 年玩追波的时候,有幸加入了 FreedomUnion 团队,当时团队内的小D(Dea_n)的界面渐变风很受欢迎,他使用的颜色干净、舒服、有感染力,很快形成了自己特有的设计风格。

我被他的配色深深吸引了,特别想研究他的配色,就尝试把他的作品在 PS 中打开,尝试吸色,找找他经常使用的配色范围。为什么他配出来的颜色就很吸引人,长时间看眼睛也不会太累?下面先欣赏一下小D(Dea_n)的设计作品。

作品已经过了三年了,如果是一般的配色作品应该看上去会有些过时,但是小D(Dea_n)的作品看上去并没有,还是有不少作品的配色现在看上去也是很前卫的。一起来看看我对小D(Dea_n)的大部分作品的吸色情况吧。

小D(Dea_n)的用色着实很大胆,很多都是贴边用色。我上大学的时候,老师曾经说过尽量少用贴边的颜色设计,包括灰色也可以使用带有颜色倾向的高级灰。这下终于明白了为什么小D(Dea_n)的配色这么亮眼。

当然我也有自己的小发现,我发现每个的作品主配色的 CMYK 值总会有两种色值为 0%,比如C:0%、M:91%、Y:95%、K:0%。

难道只是偶然?当时我也请教过小D(Dea_n)是否是刻意的,得到的答案是并没有。然后小D(Dea_n)靠自己卓越的配色能力进入小米 RIGO 设计团队。

当小米 miui9 系统官网海报出来的时候,我把作品拿到 PS 一吸色,结果告诉我小D 一定参与了这个作品的配色设计。那为什么只有黄色的 CMYK 的色值是有 3 种颜色混合而成的。

难道仅靠着一点吸色就可以肯定 CMYK 配色方法的存在?CMYK 配色方法是不是只存在 UI 界面设计中?CMYK 配色方法可不可以增加它的扩展性?CMYK 配色方法可以作为一种配色方法帮助设计师完成色彩搭配的工作吗?带着这些疑问我继续研究配色。

图标配色

我们来看一下「子弹短信」的应用图标,它的用色基本符合之前说的 CMYK 配色方法,当然是不包含子弹上的深色调。渐渐地我发现 CMYK 配色方法的路子越来越宽了。

Asher 是追波绘画写实图标的大神,他的写实作品配色饱和度高,光影通透到位,需要很强的手绘功底。在他的设计作品中除去暗色调和深色调的部分,其他配色基本都使用了 CMYK 配色的技巧。

大厂系统规范

我们都知道 iOS 系统和 Android 系统,在他们各自的系统规范中对配色也有相应的规范。我们提取两大系统规范中的配色进行吸色分析。

一顿猛吸之后,发现大厂系统规范的用色也基本符合 CMYK 配色方法的标准。

前段时间 IBM 重新定义了他们的设计语言,在产品配色中 Blye 60、Alert60、Alert40、Alert20、Alert50 等主要配色都符合 CMYK 配色的方法。

配色中的主色或品牌色

近期很多互联网公司进行了品牌改版,深亮色调到浅亮色调慢慢成为一种趋势。

新版的 Facebook LOGO 从深蓝色变为亮蓝色,字体则继续保持原样。其中 CMY 值进行适当减少。除此之外,图标部分也由原来的圆角正方形变为圆形,图标中的「f」从偏右的位置移到圆形的中间位置。

全球旅行者喜爱的民宿预订平台 Airbnb 的品牌 logo 主色也符合 CMYK 配色的方法。和 2019 潘通流行色珊瑚橘很接近。

微信 7.0 版本使用了经过调整的全新图标。图标除了原来绿色渐变的背板变浅外,两个标志性的对话气泡与背景板的比例也做了相应的调整。色彩的 CY 值减少了。调整后的新版图标除了空间感和符号感也更强外,整体变得「更轻」了。

在网易云音乐 6.0 版本中,对品牌 LOGO 再次进行了调整。新版网易云音乐图标最明显的变化为红色的主色调,其次为「留声机」和「音符」组合而成的图形部分。

红色较之前变得更加明亮,同时图标红色背景由之前的纯色改为轻微的红色渐变填充。新的红色着重考虑了用户长时间使用屏幕造成的视觉疲劳,采用比较「轻」的色彩可有效降低这种问题。其中颜色 CMY 三种色值都有减少。图形部分,新版图形缩小了中间交叉部分的面积,顶部向右弯曲的弧形变大。整体效果较之前更加清晰,特别是在更小的应用尺寸中,其展示的效果明显要比之前的好。

不同颜色CMYK的色域范围

看到上面的描述是不是特别想知道当 CMYK 中的两个色值同时为 0 时,不同颜色的色域范围?带着这样的想法,把红橙黄绿青蓝紫中每类选一种颜色进行区域研究。打开 PS,在拾色器中截取不同颜色的色域范围如下:

上图白色区域就是在红色 C 值为 0、K值为 0 时的色域范围,范围还是很小的。

黄色的 CMYK 色域很奇怪,在色相 38-58 度的黄色纯度最高时,CMY 都有色值。也就是 PS 里面最纯的黄色也是由 CMY 复色调和而成的。这也是为什么之前黄色使用时,CMYK 色值是由三种颜色混合而成的。

上图白色区域就是在绿色 M 值为 0、K 值为 0 时的色域范围,范围开始慢慢变大,意味着绿色高饱和度的可使用颜色越来越多。

上图白色区域就是在绿色 M 值为 0、K 值为 0 时的色域范围,范围也开始慢慢变大,大体范围和绿色相当。

上图白色区域就是在蓝色 Y 值为 0、K 值为 0 时的色域范围,范围应该很大了。

上图白色区域就是在紫色 Y 值为 0、K 值为 0 时的色域范围,范围和蓝色的色域范围相当。

上图白色区域就是在洋红色 Y 值为 0、K 值为 0 时的色域范围,范围和蓝色、紫色的色域范围相当。

1. CIE

从理论上讲,可见光分布的色彩域就是 CIE 所表示的色域。在颜色感知的研究中,CIE 1931 XYZ 色彩空间(也叫做CIE 1931色彩空间)是其中一个采用数学方式来定义的色彩空间。从 CIE 图中能看出冷色的区域远远大于暖色的区域。其中黄色和红色的色域范围相对较少,完全符合 PS 拾色器里面的色域范围。

2. RGB

RGB 是计算机荧光屏显示颜色的色彩方式,它们是由 R、G、B 三种发光质通过加光混合产生的。RGB 色彩模式是一种加色模式,将红光、绿光和蓝光以不同的比例相加可以合成各种各样的色光。R、G、B 三种颜色各能产生 2 的 8 次幂,即 256 级不同等级亮度的颜色。256*256*256 即 16777216种颜色。RGB 色彩模式主要用在电脑显示器和电视上。RGB 色彩模式是绘图软件最常用的一种颜色模式。

3. CMYK

CMYK 由C(青)、M(品红)、Y(黄)、K(黑)四色高饱和度的油墨以不同角度的网屏叠印形成复杂的彩色图片。CMYK 色彩模式是一种颜料模式,它利用色料三原色混色原理,加上黑色油墨,形成各种各样的色彩。

这种模式属于相减混色模式,广泛运用于绘画和印刷领域。CMYK 的色域范围比 RGB 的色域范围要小,某些色彩无法用 CMYK 油墨印刷出来。当这些不能印刷出来的颜色出现时,在 PS 的「拾色器」对话框上会显示一个带感叹号的三角形警告标志,表示这些颜色超出 CMYK 的色域。即使设计了比较鲜艳的颜色,如果超出了 CMYK 印刷颜色的色域,计算机就会用一个接近它的较灰暗的颜色去顶替它。可见大部分 CMYK 印刷颜色的色域小于 RGB 屏幕颜色的色域。

我们来仔细研究下 CIE 色域范围,CMYK 当中的黄色色域值有一小段超过了 RGM 的色域值。这就说明黄色的更饱和的 CMYK 的原色和间色可能在 RGB 的范围之外。

其他的我们还有一个方法去验证。就是在 PS 里面新建颜色模式为 CMYK 的文件,打开拾色器界面,把颜色调到右上角改变色相值的 0-360度 的范围。色相在 38-58 度的黄色区域对话框上不会显示带感叹号的三角形警告标志,表示黄色区域的 CMYK 色域值是超过 RGB 的色域值。这就是为什么 iOS 系统规范中的黄色色值必须是三种颜色混合而成的。这时候特殊的颜色就需要特殊处理。

CMYK配色法使用技巧

CMYK 配色法就是两种颜色的色值为 0%,但是黄色因为色域问题是由三色组成的(c值尽量小于10)。

色域集中在纯色系的范围,浊(灰)色系和暗色系除外。

界面的主色(纯色系为主)、图标设计、品牌色(纯色系为主)都可以使用 CMYK 配色法。

总结

CMYK 配色法目前多适用于互联网产品,虽说在创意上要敢于创新,但在实际的工作中还是需要理性地根据公司品牌和产品定位,合理地进行色彩搭配。目前此方法没有更多的理论依据支撑,如有疑问希望多多交流。

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

顶部导航栏设计样式汇总

ui设计分享达人

如果您想订阅本博客内容,每天自动发到您的邮箱中, 请点这里

本篇文章主要汇总了常见的四种顶部导航栏设计样式,希望能帮助自己和小伙伴们更好地理解导航栏这个组件。

顶部导航栏作为我们使用APP时每天都要遇到的组件,出镜频率极高,看似简单,其实我们在绘制界面的时候还是有许多细节需要注意的。本篇文章主要汇总了常见的四种顶部导航栏设计样式,希望能帮助大家更好地理解导航栏这个组件。


一、常规导航栏

所谓常规导航栏,主要是指固定在状态栏下,能清晰分辨出的一行导航栏,主要由操作图标、标题、搜索框、背景等组成,大致分成三种,分别是简单标题导航栏、搜索框导航栏以及Tab/分段控件导航栏。


1.简单标题导航栏

简单标题导航栏常见于二级详情界面或导航简单的一级界面,主要由操作图标与标题组成,如下图:

(以下涉及的尺寸大小都是二倍图下的设计大小)

该类型的导航标题的大小一般是36px,操作图标的设计大小一般是40px,切图大小一般是48px,背景色多采用白色或APP主题色。并且很多APP为了保证整体界面的简洁,还会去除导航栏底部分割线,仅采用白色作为背景。


2.搜索框导航栏

常规搜索框导航栏是在简单标题导航栏的基础上,增加了一个搜索框,一般去除了导航标题。如下图:

搜索框的宽度随导航栏中操作图标的多少决定,搜索框高度多采用56~60px,搜索框中的图标设计尺寸多采用32px(为了减少切图尺寸,也可采用48px的切图大小)。

 

在摆放图标时,采用左右间距等分,距离搜索框的间距与边距相等,看起来会更舒适。如下图所示:


3.Tab/分段控件导航栏

Tab左右切换顶部导航栏与分段控件顶部导航栏,都是顶部有多个标题切换的导航栏样式,分为选中标题与未选中标题,如下图:


分段控件顶部导航栏一般有2~5个可选项,且不能左右滑动。Tab左右切换顶部导航栏的可选项可以扩展很多(如爱奇艺的首页顶部Tab切换有24个可选项),并且可以左右滑动切换,选中样式也比较丰富,常见的有底部加上小短线、字体颜色变化、字号放大等(多个合并使用更能突出选中标题),如下图:



二、通栏导航栏

通栏导航栏与常规导航栏的构成基本没有区别,最大的不同是,通栏导航栏的背景层一般与下方的模块打通了,在视觉上看起来更为统一,还能一定程度上节约界面空间。如下图:

通栏导航栏常用在电商、旅游等界面复杂或是需要烘托氛围的界面中(多伴随着背景处理),有些也会放在顶部通栏Banner上,节省空间的同时减少割裂感。


通栏导航栏的背景处理方式一般有三种

1.特殊背景处理:与下方模块整体风格保持一致,多采用与下方一致的图片背景;

2.颜色、渐变背景:采用纯色或是渐变背景,常见于卡片风格的界面;

3.黑色透明渐变蒙层:采用一层渐变蒙层,常见于图片Banner上,保证导航栏文字的可识别性。




三、大标题导航栏

自ios11发布后,大标题风格的导航栏便开始流行起来,尤其是飞机稿总能看见大标题导航栏的影子。普通的导航栏在二倍图下高度只有88px,标题字号为36px,而大标题导航栏在二倍图下高度足足有192px,标题字号为68px。


但并不是所有APP都适合使用大标题导航栏,并且即便使用大标题导航栏,整个APP中也不会全部使用,使用中界面向上滑动也会切换成正常状态的导航栏或直接隐去导航栏,便于内容的查看。

 

有些APP也会折中使用,在常规88PX(二倍图)导航栏高度下,放大字号,隐去分割线,使标题看起来更大。



使用大标题导航栏,你需要考虑以下两点:

1.是否需要帮助用户快速确认所处位置(多为产品页面重复性多,或是功能单一的APP);

2.APP整体风格是否偏向简约大气。

大标题导航栏总给人一种高逼格的感觉,这也是为什么飞机稿喜欢使用大标题,但却没见国内的电商APP使用。



四、小程序导航栏

微信的小程序导航栏,在顶部右上方有一个不可去除也无法编辑的Titlebar按钮,微信配置了一深一浅两种风格。

 

从APP转换到小程序时,要注意调整APP的顶部导航栏的位置以及搜索框的大小,避免被Titlebar遮挡,如下图:

上图中,豌豆公主的顶部导航栏整体下移,并且减小了搜索框的高度,提高屏幕的利用率。


五、划重点

·常规导航栏主要包括简单标题导航栏、搜索框导航栏以及Tab/分段控件导航栏通栏导航栏

 

·通栏导航栏要注意导航背景的处理,常用的有特殊背景处理、颜色渐变背景、黑色透明渐变蒙层

 

·大标题导航栏使界面整体更有逼格,但不是所有APP都适合的,要根据情况合理使用

 

·微信小程序导航栏在顶部右上方有一个不可去除也无法编辑的Titlebar按钮,从APP换到小程序时要注意重新调整导航栏

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



css高级选择器和基本选择器

seo达人

如果您想订阅本博客内容,每天自动发到您的邮箱中, 请点这里

ID选择器>类选择器>标签选择器
行内样式>内部样式>外部样式
*结构伪类选择器 一旦设置 不管在行内还是在后面重新设置,都没办法改变
*结构伪类选择器设置奇偶行以及从第三行开始变色如何实现
nth-cild(2N+3)表示从第三行开始的奇数行
同理 nth-child(2N+4)表示从第四行开始的偶数行
nth-cild(2N+5)表示从第五行开始的奇数行
*设置前三个:
p:nth-child(-n+3){
background-color: #b3d4fc;
}
*使用E F:nth-child(n)和E F:nth-of-type(n)的 关键点
E F:nth-child(n)在父级里从一个元素开始查找,不分类型
E F:nth-of-type(n)在父级里先看类型,再看位置

注意
child 跟子选择器没有关系,可以是子选择,也可以是后代选择 由层次选择器 (如table tr)来控制

1.层次选择器
table td 后代选择器 td包含在table里
div>p子选择器 p是div的子元素
p1+p p1后面一个兄弟p变化 是对p进行处理 p1不变 而且只是下面相邻的变化 上面相邻不变化
p1~p p1后面所有兄弟p变化 p1不变
2.结构伪类选择器
P:first-child 作为父元素的第一个子元素得元素 p
P:last-child 作为父元素的最后一个子元素得元素 p
P a :nth-child(n) p中第n个a元素 (even)(odd)
p:first-of-type 必须是p元素 不是子元素也行
p a:nth-of-type(n)
必须是a元素 不是a的子元素也行
3.属性选择器
a[id] a标签中含有id的
a[id=111] a标签中的id=111的
a[href*=http] a标签中包含href属性 且都包含http
a[href&=png] a标签中包含href属性 且最后以png结尾
a[href^=http://] a标签中包含href属性且以http://开头
1.层次选择器

*相邻兄弟选择器,只对后面的兄弟有作用,对前面的兄弟没效果。
*相邻兄弟选择器,E+F E不会产生效果效果

2.结构伪类选择器


使用E F:nth-child(n)和E F:nth-of-type(n)的 关键点
E F:nth-child(n)在父级里从一个元素开始查找,不分类型
E F:nth-of-type(n)在父级里先看类型,再看位置

注意
child 跟子选择器没有关系,可以是子选择,也可以是后代选择 由层次选择器 (如table tr)来控制
设置前三个:
p:nth-child(-n+3){
background-color: #b3d4fc;
}
3.属性选择器

举例:
a[href=^http]{backgroud-color:red}

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

想做大数据可视化?来看高手的实战案例!

资深UI设计者

如果您想订阅本博客内容,每天自动发到您的邮箱中, 请点这里

在大数据时代,数字化转型已经成为行业迫切的需求。2016-2018年金融、医疗、政府、安全等行业在大数据方向上的投入持续增加,大数据可视化的需求呈现爆发式增长,相关产品也纷纷推出:阿里 DataV 的「双十一的天猫可视化大屏」、360的数博会企业安全大屏、帆软的 BI系统。面对井喷式的市场需求和部门业务在 To G、To B 的拓展需求,需要快速储备大数据可视化的能力,作为一个 To C 的设计团队面临的挑战和责任都是巨大的。

(编者注:由于本文动图太大,将近100M,为了不影响移动端读者的阅读体验,本文图片都是静态截图,动图文章链接戳:https://docs.qq.com/doc

一、项目背景

在过去一年中,潘洛斯(Penrose)团队参与了「灵鲲」态势感知系统、「麒麟」系统、「鹰眼」反电话诈骗系统等14个大数据可视化产品的设计。随着产品不断的探索和迭代,积累了一些行之有效的大数据可视化设计的心得和方法。基于「灵鲲」这个案例,分享一下我们在大数据可视化方向的设计和思考,希望能够给对大数据可视化感兴趣的同学提供一些思路。

「灵鲲」是 MIG 安全云部门与潘洛斯(Penrose)团队合作的,基于潘洛斯大数据可视化引擎衍生出的一款金融风险监控可视化产品。应北京与深圳金融办的需求,搭建灵鲲金融风险态势感知系统,实现事中风险控制,减少网络欺诈损失。

着手设计之前,我们需要了解:大数据市场规模和各行业投入有多大, 政企客户的大数据可视化产品的痛点是什么?对比深耕多年的竞品,我们设计的突破口在哪?——挖掘我们的机遇和发力点。

二、我们的客户,目标群体

数据显示,2017年中国大数据产业规模为4700亿元。随着一系列政策的出台,大数据国家战略正在加速落地,大数据行业将持续增长,预计2018年中国大数据产业规模将达到6200亿元,增幅达32%。需求层面,预计2020年大数据应用市场需求中,仅政府需求就占比35%,另外包括医疗、交通、金融等多个行业在大数据和信息化建设投入也将持续增加。

除了旺盛的需求以外,我们还注意到很多政企内部数据基础很好,以宜昌为例,宜昌智慧办汇集了来自32个部门、60个系统的大量详尽的实施城市数据。与这些政企单位合作,易形成行业灯塔,便于规模复制。另外,针对大数据可视化,目前政企已不满足于「面子工程」,更多的希望大数据可视化与 AI 结合,呈现更复杂多样的数据,以辅助决策。

基于以上的市场潜在规模的考察和典型客户研究,在进行「灵鲲」产品能力规划时,我们主要考虑以下三类使用场景: 政府机构决策、展会展台及参观视察。

在金融局等相关政府机构的日常工作中,决策层和相关工作人员会基于实时金融平台数据,针对日常事务或紧急事件进行决策管理,监控大厅也就应运而生。基于这种工作方式,我们可以发现潘洛斯的产品特性非常契合监控大厅的使用场景。在监控大厅中,用户是通过两种不同的信息界面进行工作的,分别是综合数据可视化大屏(总屏)以及工作人员独立使用的电脑屏幕(分屏)。其中,在总屏上,呈现的内容通常是一些对于决策者来说至关重要的信息:正在发生的事件的状态和可能趋势(发生了什么)、值得注意的风险(需要团队做什么)以及风险的处理进度(团队做的怎么样);而在分屏上,主要为工作人员提供数据分析及风险事件处理功能,帮助团队对事件迅速作出响应,协作。

不同于工作场景,灵鲲产品在展会中展台的主要受众是参会人士,除了一般民众外,更有价值的观众主要来自于媒体和潜在客户等。所以在这个场景中展示的内容与实际工作中的数据可视化内容有一定的区别,更多的是对产品能力的展示、产品的宣传以及社会价值的呈现。如何直观的呈现产品的能力,并使观众快速获得有价值的信息并留下深刻印象非常重要。这也决定了在这个场景中,用户不仅包括观众,也包括演讲者。我们需要考虑如何通过控制端让讲演者而流畅的完成产品介绍。

在金融局等政府机构,经常会有上级领导视察参观的接待活动。这些来访的贵宾往往希望了解关于机构更全面和具体的信息,包括但不限于工作流程、工作成绩等,所以我们认为这个场景综合了以上两种场景的主要特点。这里的用户包括来访人员,演示人员以及工作人员,展示的内容也往往不局限于金融风险大数据的可视化,还会包括工作方式和流程本身。

三、行业竞品对比,反观自身发力点

通过对阿里 DataV,AntV、360、帆软的大数据可视化产品的体验,我们从产品呈现、产品体验、产品技术、部署方式和商业模式几个维度的横向对比。阿里的技术对可视化效果的局限性很大,优点是产品实现模板化、系统实时可交互,用户可以快速搭建自己的可视化产品;360产品可视化呈现3D化,数据呈现效果和数据感知度较2D更优,但是系统非实时可交互,而且搭建周期长,成本较高;帆软的可视化是传统报表型,可视化效果呈现缺乏竞争力。

经过对比,我们不难发现3D化数据呈现能力和数据感知度是最高的。但是局限于目前的技术,项目成本高、研发周期长、难以满足业务的发展速度。

四、我们的机遇和挑战

基于市场需求和竞品分析,我们从以下三个方面分别分析了产品的机会和突破点:

  • 可视化:数据和场景的呈现3D化,满足更多维度的数据呈现,支持云+本地实时大数据呈现能力;
  • 产品化:场景、组件、数据、图表全部实现可云端动态更新和配置的模块化,降低维护成本、提高服用率、缩短项目周期,无缝打包接入业务数据,提供丰富可自定义的可扩展接口;
  • 大数据+AI:基于公司多领域多业务线的大数据融合以及 AI 能力提供丰富的基于时间、空间、数据的预测预警、统计表达能力。
1. 产品架构规划

基于对灵鲲态势感知系统的使用场景、用户需求以及机会点的考虑,我们规划了未来产品的整体架构,包括大屏端、云端、客户管理端、小屏端以及虚屏端。大屏端基于本地端引擎进行大数据可视化呈现。客户管理端包括报表和配置管理等工具,帮助用户进行分析数据和策略管理。小屏端主要考虑操作控制和移动办公等移动使用场景,提供大屏控制、移动审批、监管、公众号等功能。以上三个端由云端拉取和更新数据。虚屏则提供差异化的大数据可视化体验,如增强现实等新奇有趣的玩法。由于大屏端在我们的规划里是态势感知系统的核心,且落地到合作方的模块,以下分享的内容将主要围绕大屏的内容设计展开,未来如果产品规划中的其他模块陆续上线,我们再做分享。

2. 大屏内容设计

本地端引擎

早期我们设计的「麒麟」系统、「鹰眼」反电话诈骗系统在对外在大屏上展示主要是通过 web 端的方式去实现,虽然适配性尚可,但很多设计效果无法完全还原。我们也尝试性用 webGL 和 three.js 的方式把设计效果再做进一步提升,但迫于研发周期和实际性能的压力,最后也只能作罢。中期我们尝试使用3D工具输出视频的方式做过一些过渡,输出效果是没有问题,但如果在展会上遇到媒体采访,事情就会变得异常尴尬。媒体会询问展示内容的真实性,数据的实效性,甚至采访的时候需要停留在某一个画面,我方参会人员配合起来非常麻烦。后来我们也研究过竞品使用的工具,例如 Ventuz,工具最终输出的效果是不错,但是界面、操作极其复杂,相关教程和素材在网络上极少,授权费用也相当昂贵。最终经过我们内部商讨和研究,也请教了一些 IEG 专家的意见,决定使用游戏引擎作为本地端的显示引擎。

Unity 和 Unreal 我们也纠结过许久,甚至 Unity 上我们也出过可交互的 Demo,但最终选择了 Unreal 的原因主要有以下几个点:

  • 基于前面我们提到的产品架构,我们的核心是在大屏,而大屏部署主要依赖 PC 做为计算平台,相较于 Unity,Unreal 在 PC 端的技术积累要更加深厚,实时渲染出来的光影效果和质感表现要更稳定于 Unity 的输出;
  • Unreal 自带蓝图-可视化脚本系统,这对于设计团队出身,零代码开发经验的我们来说上手、学习起来更快更方便;
  • 线上有大量的视频教程,各种插件和美术素材也比Unity更丰富;
  • 有《蝙蝠侠:阿卡姆骑士》、《最终幻想15》和《绝地求生》这些3A沙盘游戏作为先例,Unreal 对于大规模的场景渲染能力是可被预期的,而 Unity 目前还没有可以拿得出手的案例。

色彩基调

为了打造灵鲲产品的可视化,在竞品中脱颖而出,我们从产品功能、用户、愿景三个维度发散,提炼出设计指南的关键词:智能、直观、未来,塑造独特的大数据可视化风格体系。

灵鲲金融态势感知系统内容架构分为数据维度和场景维度,数据是核心,场景是大数据呈现的承载体;场景使用具有金属质感的深青灰,符合理性的、冷静的、智能化产品的个性;数据色彩使用透明、发光、具有未来感的高亮色,和场景形成强对比,使数据更为突显、更具吸引力;为了强化客户对于风险的感知,通过颜色区分数据的风险等级,更直观的传达数据的含义。如:高风险的使用红色,红色让人联想到危险、警报。

呈现方式

在现有的产品和传统认知中,大数据产品内容是各种样式的图形和图表,主要以平面为主。我们从游戏、科幻电影中收集了一轮大数据可视化内容相关的案例,从视觉维度上看,主要有这几个特点:一、具有很强的空间感,支持多种数据同屏呈现,可交叉分析对比,承载性强;二、高精度的模型和材质,丰富的粒子、动效,更加贴近现实的光影呈现;三、互动性强,可交互,实时演算。

从大数据可视化的内容维度上看,梳理的3D架构,主要包括:数据维度>基础建设>交通运输>行政分区>自然条件。

数据维度层是最核心的部分,位于场景上方最突出的位置,能够更清晰的展示风险数据的分布、量级;行政区域和交通层是城市场景最基础的数据维度,方便用户进行区域的数据对比和分析;基础建设层包括城市的建筑、标志性建筑、照明、桥梁、等,还原城市独特风貌;通过突出城市的标志性建筑,强化城市、区域的识别性,辅助数据传达;自然条件层包括地形、河流、植被、展示真实的环境特征,用户更有代入感。

△ 北京场景

△ 鸟瞰视角、漫游视角自由切换,满足全局、街道、建筑的不同颗粒度的数据呈现,方便用户进行纵向的数据对比。

△ 场景整体风格图

数据表现

灵鲲的3D数据样式有柱状图和散点图。如何把司空见惯的数据样式,设计出产品的个性,是我们重点要解决的问题。为了体现大数据的力量感,使用科幻电影中的聚合能量、发光的能量石作为柱状图的主图形;同时把数据采集、融合、分析的过程具象为动态粒子网络,作为辅助图形。数据图形和结构中都融合了品牌 DNA 的三角图形,数据样式更具有品牌的个性。

△ 柱状图

△ 散点图

预见未来的功能创新

时间线:3D的维度基础上,我们增加了时间的维度,通过拖动时间线查看不同时间点的数据的变化趋势,由此对未来数据进行预测。为了强化用户对于时间感知,设计了白天和晚上两种风格,白天和夜晚随着时间变化而变化。

天气系统:天气是未来数据分析极其重要的一个因子,它会直接影响交通(例如人流、物流、航空)、医疗(例如疾病传播、医院就诊)等领域。所以我们设计了通用的天气系统组件,呈现实时天气情况,以辅助用户进行数据分析。

控制端:符合大屏使用场景和用户操作习惯,同时小屏控制端支持更复杂更精准的操作。

组件库搭建

为了提升产品搭建的效率,降低了研发周期和成本,产品功能模块实现了组件化,分为3D场景组件、3D数据组件、2D数据组件。任何一位设计师都可以根据产品需求,搭配组件模块,快速搭建大数据可视化产品。

数据内容的包装

通过该产品,一方面能够辅助金融局等政府机构领导把控整体金融平台风险、辅助做出平台整改指导决策意见,展示金融工作成绩;另一方面体现出腾讯大数据能力和公司的社会责任;最后,通过从更长远的眼光去包装产品,打造智慧监管标杆产品,从而推动与政府客户更深入广泛的合作。具体内容通过以下两条线进行组织:

横线:各个监管维度

灵鲲金融风险态势感知系统专注于呈现金融风险数据的呈现,主要分为公司层面和用户层面,综合体现潜在的风险趋势和实际影响的范围。除了灵鲲用于监管金融数据,整个监管平台还负责展示包括政治、生态、电信、消费在内的多个监管维度,这些维度与金融监管维度为同一个内容层级。我们考虑到腾讯的大数据能力可以帮助更多城市综合管理者了解整个网络社会的全局性风险,所以每个维度都是智慧监管必不可少的一部分,并且每个维度之间的横向交叉对比能够使智慧监管平台发挥出更大的社会价值。

纵线:监管颗粒度

灵鲲系统中观众可以从全局数据一直下钻到个体数据,实现不同颗粒度的监管目的。

具体来讲,全国的安全风险最终是以加权平均后的指数形式体现出来;再到具体的省份和城市,内容细化到具体风险事件的发生情况,如电信安全监管维度,呈现电信诈骗使用的伪基站的位置,以及发送诈骗短信的数量等;最后细化到城市中的机构和建筑,呈现具体机构的运行情况和具体高风险企业所在建筑进行实时监控。

3. 产品演示视频

https://v.qq.com/x/page/d0742kep4k1.html

结语

潘洛斯团队是基于 DNA 设计中心下的大数据可视化团队,成员来自于 MIG 安全和医疗部门,早期专注于 To C 端的产品设计,过去一年里随着公司战略的变化和部门业务方向的变化,我们逐渐开始把产品设计的重心和思考放在了 To B、To G 领域,不断做着尝试和探索。以前做 To C 的时候我们关注的更多是 DAU、转化率、日活、满意度这些和产品体验相关联的指标,满足绝大多数互联网用户的诉求是我们首要去解决的问题。现在做 To B、To G 领域的设计,我们更多思考的是如何包装我们现有的业务能力,能够通过更加简单、直接、有效的方式触达给我们的客户,让他们更容易理解像腾讯这样拥有海量数据和算法能力的互联网公司如何帮助他们进一步提升他们的业务效率和产出,给这个社会创造更多的价值,这也是腾讯多年来想要承担的社会责任之一。

文章来源:优设

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

日历

链接

个人资料

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

存档