首页

20个最常用的javascript方法函数收集

周周

     收集了一些比较常用的JavaScript函数

     1、字符串长度截取函数

     function cutstr(str,len){

           var temp,icount = 0,patrn = /[^x00-\xff]/,strre=" ";

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

                if (icount<len-1){

                    temp =str.substr(i,1);

                    if (patrn.exec(temp)==null){

                       icount =icount+1    

                  }else {

                     icount =icount+2

                 }

                    strre+=temp

              } else {

                   break;

               }

          }

           returen strre+"...";

      }

     2、替换全部

     String.prototype.replaceAll = function(s1,s2) {

            return this.replace(new RegExp(s1,"gm"),s2);

     }

     3、清除空格

     function trim = function() {

            var reExtraSpace = /^\s*(.*?)\s+$/;

            return this.replace(reExtraSpace,"$1");

     }

     4、清除左空格/右空格

      function  ltrim(s){

            return s.replace(/^(\s*| *)/,"");

      }

     function rtrim(s) {

           return s.replace(/(\s*| *)$/,"");

      }

      5、判断是否以某个字符串开头

      String.prototype.startWith = function(s) {

            return this.indexOf(s)==0;

      }

       6、判断是否以某个字符串结束 

      String.prototype.endWith = function(s) {

            var d = this.length - s.length;

            return (d >= 0 && this.lastIndexOf(s)==d);

        }

        7、转义HTML标签

       function HtmlEncode(text) {

             return text.replace(/&/g,'&').replace(/\"/g,' " ').replace(/</g,'<').replace(/>/g,'>');

       }

        8、时间日期格式转换

       Date.prototype.Format = function(formatStr){

             var str = formatStr;

             var week =['日','一','二','三','四','五','六'];

             str = str.replace(/yyyy|YYYY/,this.getFullYear());

             str = str.replace(/yy|YY,(this.getYear()%100)>9?(this.getYear()%100).toString():'0'+(this.getYear()%100));

             str = str.replace(/MM/,(this.getMonth()+1)>9?(this.getMonth()+1).toString():'0'+this.getMonth()+1));

             str = str.replace(/w|W/g,week[(this.getDay()];

             str = str.replace(/dd|DD/,(this.getDate()>9?this.getDate().toString():'0'+this.getDate());

             str = str.replace(/d|D/g,this.getDate());

             str = str.replace(/hh|HH/,this.getHours()>9?(this.getHours().toString():'0'+this.getHours());

             str = str.replace(/h|H/g,this.getHours());

             str = str.replace(/mm/,this.getMinutes()>9?this.getMinutes().toString():'0'+this.getMinutes());

             str = str.replace(/m/g,this.getMinutes());

             str = str.replace(/ss|SS/,this.getSeconds()>9?this.getSeconds().toString():'0'+this.getgetSeconds());

             str = str.replace(/s|S/g,this.getSeconds());

            return str;

        }

        9、判断是否为数字类型

        function isDigit (value){

             var patrn = /^[0-9]*$/;

             if (patrn.exec(value) == null || value=="" ) {

                   return false;  

             } else {

                  return true;

            }

        }

       10、设置cookie

       function setCookie(name,value,Hours){

              var d =new Date();

              var offset =8;

              var utc = d.getTime()+(d.getTimezoneOffset()*60000);

              var nd = utc+(3600000*offset);

              var exp = new Date(nd);

              exp.setTime(exp.getTime()+Hours*60*60*1000);

              document.cookie = name+"="+escape(value)+";domain=360doc.com;"

       }

       获取cookie值

       function getCookie(name){

             var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));

             if (arr!=null){

               return unescape(arr[2]);

            }else {

             return null;

             }

       }

      11、加入收藏夹

       function AddFavorite(sURL,sTitle) {

            try{

               window.external.addFavorite(sURL,sTitle);

         }catch(e){

           try{

               window.sidebar.addPanel(sTitle,sURL,"");

            }catch(e){

                  alert("加入收藏夹失败,请使用Ctrl+D进行添加");

             }

          }

       }

      12、设为首页

      function setHomepage(){

             if(document.all){

               document.body.style.behavior='url(#default#homepage)';

               document.body.setHomePage('http://w3cboy.com')

         }else if (window.sidebar){

              if(window.netscape){

                 try{

                    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect")

              }catch(e){

                 alert("该操作被浏览器拒绝,如果想启用该功能,请在地址栏内输入about:config,然后将

                 项 signed.applets.codebase_principal_support 值该为true");

             }

           }

               var prefs = Components.classes['@mozilla.org/preferences- service;1'].getService(Components.interfaces.nsIPrefBranch); 

               prefs.setCharPref('browser.startup.homepage', 'http://w3cboy.com');

         }

       }

       13、加载样式文件

             function LoadStyle(url) {

                 try { 

                     document.createStyleSheet(url); 

                    } 

                   catch(e) { 

                      var cssLink = document.createElement('link');

                      cssLink.rel = 'stylesheet'; 

                      cssLink.type = 'text/css'; 

                      cssLink.href = url; 

                     var head = document.getElementsByTagName('head')[0]; 

                     head.appendChild(cssLink);

                    } 

                 }

            14、返回脚本内容

            function evalscript(s) { 

                   if(s.indexOf('<script') == -1) return s; 

                   var p = /<script[^\>]*?>([^\x00]*?)<\/script>/ig;

                   var arr = []; 

                   while(arr = p.exec(s)) { 

                   var p1 = /<script[^\>]*?src=\"([^\>]*?)\"[^\>]*?(reload=\"1\")?(?:charset=\"([\w\-]+?)\")?><\/script>/i; 

                   var arr1 = []; 

                   arr1 = p1.exec(arr[0]); 

                   if(arr1) { 

                         appendscript(arr1[1], '', arr1[2], arr1[3]);

                    } else { 

                         p1 = /<script(.*?)>([^\x00]+?)<\/script>/i; 

                         arr1 = p1.exec(arr[0]); 

                         appendscript('', arr1[2], arr1[1].indexOf('reload=') != -1);

                          } 

                       } 

                      return s; 

                  }

            15、清除脚本内容

             function stripscript(s) { 

                      return s.replace(/<script.*?>.*?<\/script>/ig, ''); 

              }

              16、动态加载脚本文件

             function appendscript(src, text, reload, charset) {

                      var id = hash(src + text); 

                      if(!reload && in_array(id, evalscripts)) return; 

                      if(reload && $(id)) { $(id).parentNode.removeChild($(id));
                }

                evalscripts.push(id);

                var scriptNode = document.createElement("script"); 

                scriptNode.type = "text/javascript"; 

                scriptNode.id = id; 

                scriptNode.charset = charset ? charset : (BROWSER.firefox ? document.characterSet : document.charset); 

               try { 

                    if(src) { 

                           scriptNode.src = src; 

                           scriptNode.onloadDone = false; 

                           scriptNode.onload = function () { 

                                       scriptNode.onloadDone = true;

                                      JSLOADED[src] = 1; 

                            }; 

                         scriptNode.onreadystatechange = function () {

                         if((scriptNode.readyState == 'loaded' || scriptNode.readyState == 'complete') && !scriptNode.onloadDone) { 

                                   scriptNode.onloadDone = true; JSLOADED[src] = 1; 

                                  } 

                               }; 

                          } else if(text){ 

                                scriptNode.text = text; 

                         } 

                         document.getElementsByTagName('head')[0].appendChild(scriptNode); 

                     } catch(e) {} 

                   }

           17、返回按ID检索的元素对象
           
function $(id) {

                    return !id ? null : document.getElementById(id); 

             }

           18、跨浏览器绑定事件

           function addEventSamp(obj,evt,fn){ 

                    if(!oTarget){

                           return;

                     } if (obj.addEventListener) { 

                              obj.addEventListener(evt, fn, false);

                         }else if(obj.attachEvent){ 

                             obj.attachEvent('on'+evt,fn); 

                           }else{

                               oTarget["on" + sEvtType] = fn; 

                            }

                    }

             19、跨浏览器删除事件

                function delEvt(obj,evt,fn){ if(!obj){

                        return;

               } if(obj.addEventListener){

                      obj.addEventListener(evt,fn,false); 

                 }else if(oTarget.attachEvent){ 

                    obj.attachEvent("on" + evt,fn); 

                 }else{ 

                     obj["on" + evt] = fn; 

                  } 

               }

            20、元素添加on方法

            Element.prototype.on = Element.prototype.addEventListener;

             NodeList.prototype.on = function (event, fn) {、

                     []['forEach'].call(this, function (el) { 

                           el.on(event, fn); 

                      });

                      return this; 

               };






转载色彩在网页设计中的有哪些重要角色?

博博

在生活中,不管是浏览网页还是使用APP,我们都能看到色彩是其中重要的设计元素。每一年我们都能看到很多“流行趋势预测”之类的文章,而这些流行趋势里无一不包含色彩。

随着时间的推移,设计师们在色彩的使用上更加大胆,更加有策略。有时,色彩用来突出某个元素,有时用来讲好一个故事,有时用来强化品牌的输出。今天我们就来举几个例子。


强化背景

几年前有一个很流行的趋势是采用大胆的背景,现在还是能看到很多例子。在一个好的设计里,丰富多彩的背景能够让某一区域成功吸引注意力。不管你认为流行趋势是什么,不可否认的是,好的背景色能让一个部分脱颖而出。

下面这个设计来自Root工作室,使用黄色背景来突出切斯特动物园的案例研究。黄色背景设定了这个案例研究的基调。当然了,并不是所有的案例都使用像切斯特动物园黄色这样鲜艳的颜色,因为这个案例的设计是极简风格,并没有需要特别突出的内容,所以鲜艳背景恰到好处。

接下来这个例子是Mambo Mambo,它使用色彩来突出组合的不同部分。有些部分是霓虹黄色,有些是深蓝,有些甚至是黑色。在截图中,我们可以看到,霓虹黄色与绿色搭配,蓝色和肤色搭配,看起来非常和谐。

在整个页面中,正是这些背景色的使用使不同部分都变得独特而有趣。同时呢,也起到了品牌宣传的效果。


突出内容

颜色运用得当可以更好地突出想要突出的部分。让我们从优步手语登录页面开始,橙色的渐变背景肯定会吸引用户的注意力。这是一个很棒的设计策略,因为这个页面的目的就是教人们基本的手语,很大程度上是依赖视觉线索实现的。

接下来是Kickpush 设计工作室的页面。看图上的文字我们就知道,Kickpush希望展示自己与众不同的个性。这个配色方案的选择就很有目的性,将Kickpush的个性快速直观地表达出来了。


讲好故事

色彩有助于讲好一个故事,Bloom的主页就是个很好的例子。在整个设计中,他们使用的是同样的电子蓝。相同的配色与其他视觉元素一起,帮助用户从页眉滚动到页脚。如果所有不同的部分都有不同的主色,那么故事的完整性就会被打破了。

对于Adobe的营销云登录页面,效果也是差不多的。整个设计是一个很大的版面,每个部分都有自己的配色方案,从最顶部的浅蓝色一直到最底部的深紫色。我们可以看到,整个配色不仅仅是纯的UI颜色,照片选用的色调也与每一种背景色相配。

因为这个设计是一个很长的页面,颜色有助于讲述每个部分的故事。


激发兴趣,强化个性

有时,颜色是专门用来给设计增添趣味性的。为了更有效的使用色彩,有时大胆的颜色并不一定要在设计的前面和中心。

例如,Designmodo自己的Qards着陆页面使用了各种各样的小色块,从而使得登陆页看起来更令人愉快。


提升品牌

强化品牌,我认为这是色彩最有力的作用了,当然了,我不是指上文中Kickpush 或是Bloom那种使用大块背景色的方式,而是批判性的、策略性的使用颜色。

我们很多人都见证了Asana的改版,在新版本中加入了不少颜色。在网站的某些部分,颜色被大量地使用,而在其他部分则不是那么多,这是为了在总体上实现平衡。Asana选用的颜色多变而充满活力,搭配的也非常好。现在,Asana的品牌色彩由亮粉色,橙色和紫色组成,充满活力。可以说,颜色策略似乎是Asana品牌定位的关键。

Stripe公司的策略也差不多,使用相邻颜色之间的渐变,比如蓝色和绿色,这可能是这种颜色使用的一个大趋势。品牌整体上是蓝色,同时也包含绿色、粉色、紫色和橙色。这么多颜色共同配合,增强了Stripe公司的品牌影响力。

最后一个例子是Goulburn山谷的网站。他们的品牌使用了一些不同寻常的颜色,不过整个设计看起来不错。

登录页面中使用的颜色和照片中的截图是一样的:绿色略带橙色。由于照片中色彩的协调,整个着陆页都很流畅。

总结

无论是Asana,用颜色创造更好的品牌;还是Kickpush,使用明亮的红色背景突出内容,让用户意识到它的与众不同,我们看到了颜色在网站中的战略性意义。

最重要的是,颜色有助于塑造个性,尤其是品牌形象。当网页设计趋势发生变化时,网页设计中色彩的使用只会变得越来越好。


一个月薪过万的UI设计师,成功的背后究竟经历了什么?(上篇)

蓝蓝设计的小编

作为一名专业的UI设计,其实工作职责无外乎包括界面设计、图标设计、动效设计、切片与标注等。

px、em、rem、%、vw、vh、vm这些单位的区别

seo达人

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

1.背景介绍


我们为什么要选择合适的网页设计单位


随着Web的发展,对新的解决方案的需求也会继续增大,对网页的要求更高。


网页设计单位是涉及到我们布局的效果,使用不同的单位会对最终的demo,会有影响。


现在都是要求响应式设计,需要适配各种设备,电脑,手机,平板。如果单位不合适,可能在这个设备显示良好,那个设备就会打乱布局。


所以需要我们选择合适的单位来进行开发,设计。
2.知识剖析


1、px


px就是pixel的缩写,意为像素。px就是设备或者图片最小的一个点,比如常常听到的电脑像素是1024x768的,表示的是水平方向是1024个像素点,垂直方向是768个像素点。


是我们网页设计常用的单位,也是基本单位。通过px可以设置固定的布局或者元素大小,缺点是没有弹性。


特点是1. em的值并不是固定的; 2. em会继承父级元素的字体大小。




2、em


参考物是父元素的font-size,具有继承的特点。如果自身定义了font-size按自身来计算(浏览器默认字体是16px),整个页面内1em不是一个固定的值。
特点是1. em的值并不是固定的; 2. em会继承父级元素的字体大小。
3、rem


rem是相对于根元素html,这样就意味着,我们只需要在根元素确定一个参考值,可以设计HTML为大小为10px,到时设置1.2rem就是12px.以此类推。


优点是,只需要设置根目录的大小就可以把整个页面的成比例的调好。


4、%


一般来说就是相对于父元素的,


1、对于普通定位元素就是我们理解的父元素 2、对于position: absolute;的元素是相对于已定位的父元素 3、对于position: fixed;的元素是相对于ViewPort(可视窗口),
5、vw


css3新单位,view width的简写,是指可视窗口的宽度。假如宽度是1200px的话。那10vw就是120px


举个例子:浏览器宽度1200px, 1 vw = 1200px/100 = 12 px。


6、vh


css3新单位,view height的简写,是指可视窗口的高度。假如高度是1200px的话。那10vh就是120px


举个例子:浏览器高度900px, 1 vh = 900px/100 = 9 px。


7、vm


css3新单位,相对于视口的宽度或高度中较小的那个。其中最小的那个被均分为100单位的vm 举个例子:浏览器高度900px,宽度1200px,取最小的浏览器高度,1 vm = 900px/100 = 9 px。


兼容性太差 ,现在基本上没人用,我试了一下Chrome就用不了。


3.常见问题


假如使用em来设置文字大小要注意什么?


4.解决方案


注意父元素的字体大小,因为em是根据父元素的大小来设置的。比如同样是1.5em,要是父元素是20,那1.5em就是30px.要是父元素是30px,1.5em就是45px.


特别是在多重div嵌套里面更要注意。


5.扩展思考


css还有哪些长度单位?


in:寸


cm:厘米


mm:毫米


t:point,大约1/72寸


pc:pica,大约6pt,1/6寸


6.更多问题
1.pc pt ch一般用在什么场景?
这些我们网页设计基本上用不到,在排版上会有用处。


2.如何使 1rem=10px
在设置HTML{font-size:62.5%;}即可


3.如果父元素没有指定高度,那么子元素的百分比的高度是多少?
会按照子元素的实际高度,设置百分比已经没有效果了。
蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务


一份最详尽全面的UI界面切图命名规范

周周

      关于UI界面的切图命名规范,U妹觉得关键是在于团队能够有一个统一的规则,所以这里只介绍一种通用的命名规则,当然大家也可以根据自己的实际情况去制定,这里只提供一种方法与思路,仅供参考。

      规范的命名方式可以提高开发人员的的开发效率和整个开发团队的友好合作。U妹觉得要尽可能用最少的字符而又能完整的表达标识符的含义。

      一、切图命名英文缩写的3个原则

      1.较短的单词可以通过去掉“元音”形成缩写

       2.较长的单词可去单词的头部几个字母形成缩写

       3.还有一些约定成俗的英文单词缩写

      二、命名规则

          模块_类别_功能_状态.png

        U妹举个例子:nav_button_search_default.png

        释义为:导航_按钮_搜索_默认.png

     启动界面

        启动图片 default.png

         启动logo default.png

         如:default.png\defoult@2x.png\default-568@2x.png

  登录界面

   登录背景    login_bg.png

         登录logo   login_logo.png 

         输入框       login_input.png 

         输入框选中状态       login_input_pre.png

         登录按钮       login_btn.png

         登录按钮选中状态  login_btn_pre.png

     导航栏按钮 (nav) 命名 

         nav_功能描述.png

         如:nav_menu.png\nav_menu_pre.png(同按钮选中前后两种状态命名 )

     按钮命名(btn可重复使用按钮)

        一般   normal   btn_xxx_normal.png

        点击  highlight btn_xxx_highlight.png

        不能点击  disabled  btn_xxx_disable.png

        按下  pressed btn_xxx_pressed.png

        选中  selected btn_xxx_selected.png 做为复数选择出现机会不高

        btn_功能属性或色彩均可.png

        如:btn_blue.png\btn_blue.9.png   蓝色按钮

    其他命名

       图标 icon_xxx.png

       图片 pic_xxx.png或是img_xxx.png

       照片 pho_xxx.png

       左侧导航 命名 leftbar_功能描述.png

       如:leftbar_info.png\leftbar_info_pre.png   个人中心 

   底部选项卡按钮(TabBar)

      命名 Tab_功能描述.png  

       如:tab_set.Png\nav_set_pre.png  设置 

   主页命名

      命名 home_功能属性+描述.png

       如:home_menu_recommended.png  热门推荐 

       ps:描述可用英文或拼间开头字母组合等

   列表页命名规则

      命名 List_功能属性+描述.png

       如:list_menu_collect.png  列表页收藏按钮

   UI文件命名规范常用词

      常用状态 

       正常 normat

       按下 pressed 

       选中 selected

       禁用 disabled

       已访问 visited

       悬停 hover

    控件&部件

       控件:较独立的可操作界面元素 

        部件:描述属于某控件一部分

        按钮(可点) Btn

       图标 Icon不可点、非点击主体、图案部件

       标记 Sign  列表

       List  菜单 Menu 

       视图 View

       面板 Panel

       薄板 Sheet

       底部弹出菜单 栏 Bar 

       状态栏 StatusBar

       导航栏 NaviBar

       标签栏  TabBar

       工具栏 ToolBar

       切换开关 Switch

       滑动器 Slider

       单选框 Radio

       复选框 CheckBox

       背景 Bg

       蒙版、遮罩 Mask

       收藏 collect

       评论 comment

       广告 ad

       时间 time

       音频 audio

       视频 viedio

       不喜欢 dilike

       用户 user

       首页 hone

       排名 ranked

       搜索 search

       标志 logo

       进度条 progress bar

       默认图片 def_

       分隔图片 seg_

       选择 sel_

       关闭 close

       返回 back

       编辑 eidt

       内容 content

       左  中  右 left  center   right

       提示信息 msg

       个人资料 porfile

       弹出 pop

       删除 delete

       下载 download

       登录 login

       注册 regsiter

       标题title

       注释 note

       链接 link

       图片 image(img)

       刷新 refresh

   常用补充描述

      顶部 Top 

       中间 Middle 

       底部 Bottom 

       第一 First 

       第二 Second

       最后 Last

       页头 Header

       页脚  Footer 







 







      


 

      



网页中这10种字体的运用方式,不会让人觉得Low

涛涛

对于设计师而言,在日常的平面和 UI设计中,给字体增加一直都是一件恼人的事情。客户提出的浮雕或者大阴影的需求,但是直接按照要求来设计可能会毁掉整个设计。更多时候,你需要的是一些相对优雅但是又足够吸引人的字体效果,让整个设计项目的走向更加合理。
字体非常多,有目的地选取合理的是让它们发挥效果的诀窍所在。好的字体排版是不需要辅助就能被识别的,否则这个设计是失败的。
值得一提的是,最好的字体往往是润物细无声的,近乎无形,但是对于整个设计在视觉和质感上都有所提升。

1. 有目的地运用阴影效果


无论你使用什么软件做设计,都不要使用默认的阴影效果,这个经验里面包含了太多血的教训。
正如前文所说,好的阴影有着较高的融入度,几乎是「隐形」的。在部署阴影的时候,不要为了创建而创建,而是要借助阴影来构建前景文字和背景之间的层次感,这种对比恰到好处即可。
这种「隐形」的阴影设计对于设计师而言通常是不难识别出来的,不过普通用户通常不会太注意到它们。这些柔和的阴影,功能只是用来营造对比。
相对较为硬朗的阴影,会给人以更加复古的感觉,在较粗的、笔触平整的字体背后使用这样的阴影效果会比较好。

2. 使用双重曝光效果


双重曝光效果在网页设计和平面设计当中是非常流行的设计技巧。在文本字体中使用双重曝光效果能够让它看起来复杂而有趣,尤其是在双重曝光的图片选取得比较精妙的时候,效果看起来会非常惊艳。

3. 描边


对于较粗的字体使用描边,往往能够让字体的轮廓更加清晰,也增加了整体复古的感觉。在上面的案例当中,设计师就借助霓虹色字体和描边创造出了独特的氛围。

4. 使用多彩字体


多彩字体本身就包含有多样的色彩属性,甚至含有阴影、渐变、透明度甚至纹理。你可以使用多彩字体来让文本拥有远超传统字体的时髦值。
当大量的色彩共同来构成一套字体的时候,字体本身的视觉吸引力就已经达到了。现如今明亮大胆的字体是一种设计趋势,这样的配色本身并不会冒犯用户,因为用户正在越来越适应这样的设计。
当然,在色彩的搭配上需要协调且有目的性。

5. 适当地融入一些动效


从来都没有规定文本必须是静止的,在网页的文本中加入动效能够提升它的视觉吸引力。
不过,在为文本添加动效的时候,尤其要注意保持文本字体的可读性:
  • 运动轨迹应该是有意识地设计的;
  • 字母的运动不应该太快;
  • 滚动或者自动播放的文本应该可以被停止;
  • 无论屏幕大小,文本内容应该始终保持可读。

6. 模仿一些标志性的元素和特征


这两年的 Netflix 的热门美剧《怪奇物语》中,就模仿80年代经典的电影,融入了大量当时的元素,创造出让许多影迷共鸣的设计。
最典型的就是霓虹色的运用,充满80年代风情的 LOGO 成为了该剧最具识别度的元素。这种模仿的基础在于近年来80年代复古元素的疯狂流行,以及霓虹色等设计风格的回潮。
在模仿这些标志性的风格和元素的时候,度的把握很重要,恰到好处的模仿让人觉得亲切,而拙劣的复制则会显得很 Low。

7. 引入图形


引入图形或者其他的多媒体元素,在文本中加入一些额外的东西,也是不错的手法。使用图形或者其他的元素来替代一个或者多个字母,这样的设计还是很抓人眼球的。
这种技法的诀窍在于,图形的外观要和字母的风格、形状相匹配。很明显,如果不这么做的话,会让内容难以阅读。
在上面的 Kasra Design 的网页当中,视频的触发按钮和图标很好地融合了起来。

8. 增加纹理


有些字体风格本身就显得复古、粗糙,设计师能够通过自定义增加纹理来强化这种感觉。纹理本身能够让文本更加突出一些,也能够强化文本的质感,营造出独特的氛围。
在上面的案例当中,设计师通过两种不同的方式来赋予文本以纹理:
  • 通过切割出来的细节来赋予文本以纹理;
  • 通过半透明的效果让字体透出背景,从而拥有纹理。

9. 创造自定义的文本字体


在进行品牌 LOGO 设计的时候,自定义的文本字体是最常见的元素之一。基于特定的字体来进行自定义设计,通过标志性的细节来营造令人难忘的视觉体验,是自定义字体的主要目标之一。
这并不是一件容易实现的事情,自定义文本字体不仅需要足够扎实的技术,而且需要在具体设计的时候,足够小心谨慎。在绝大多数时候,最好是要同专业的字体设计师合作,以达到最好的设计效果。

10. 让字体本身发挥效果


有的时候,最好的文本效果,就是不要加其他任何。在形状、大小和色彩具有足够对比度的情况下,文本元素和背景会自然地构成前后景的对比,自然分离。
缺少其他效果的加持,设计师需要精心地控制所有的辅助性的元素,确保所有的元素能够完美的协同工作。加粗字体,深浅对比,是比较合理的组合方式。
The University of Essex 这个网站就在较暗的背景上采用了加粗的白色字体,视觉上足够突出,也足够清晰。

结语

文字的使用还需要特别注意设计趋势的存在,过于突出的可能会显得过犹不及,而趋势的流行周期也是设计师需要尤为注意的问题。微妙的设计总归是拥有更加持久生命力的。 

设计!

蓝蓝设计的小编

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

版式设计中的简约设计
设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!

设计!


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

零基础学习UI设计到底需要学些什么?

蓝蓝设计的小编

在进入一个未知的范畴前,一定要先梳理这个范畴的架构,待有了对比全部认知后再深挖。学习UI规划也是相同,假如有条件,能够尝试了解一个新的互联网商品出炉的作业流程。

微交互|只要关注这6个点,交互设计师也能做好竞品分析!

涛涛

今天我们来聊聊竞品分析,它并不是像人们认为的那样——有统一的模板,因为针对不同的岗位,做的竞品分析是不同的。所以本文聊的是:交互设计师如何做竞品分析。
竞品分析是对产品、交互从业人员最基本的技能要求之一,很多刚入行的产品汪、交互喵首先要做的都是竞品分析,一来可以考考你的底子,二来可以锻炼你的逻辑思维。虽然它是基本技能,但是它的作用却非常大。
那有什么作用呢?当你设计了一个功能,别人问你为什么这么设计时,你的答案要非常专业,而不是说“我觉得……”,这时候竞品分析就派上用场了。
做竞品分析,可以避免相关设计人员站在自己的角度去思考问题,在评审的时候容易通过且能够获得大家的认同,而不会受到来自各方的质疑,这也是那么多人做竞品分析的原因之一。
当然,站在产品和运营的角度来说,做竞品分析还能开拓市场、优化产品、制定策略、确定战略等等,但是这些在我看来并不是交互设计师需要关心的事情(除了优化产品)。

怎么做竞品分析

大家在网上能看到很多竞品分析文档,会发现里面的内容非常多,而且很多都看不懂。告诉你三个字:不用看。
这些文档看起来好像很专业,但是当中涉及的数据内容、商业分析、产品战略等大部分都是笔者自己 YY 的,这个不仅对做竞品分析没什么帮助,还会使自己在做的过程中特别容易跑偏。所以你只需要关注以下六个点来做或看竞品分析文档。
  1. 找到商业需求
  2. 用户操作流程
  3. 产品功能分析
  4. 交互逻辑思考
  5. 用户使用评价
  6. 得到设计需求

01. 找到商业需求

商业需求这个点,不仅仅适用在竞品分析的开头,我们做交互文档、需求文档都要把商业需求放在首位。只有商业需求的目标明确了,才好进行下一步操作。那什么是商业需求呢?
给大家举个简单的例子:
今天接到一个产品需求:即优化产品的搜索功能。可能很多人看到这个需求就马上开始看看别人的搜索都是怎么做的,然后抄一下,改一下就好了。这样设计出来的东西,只能说是一个具体的设计任务,而不是解决实际问题的方法。
我们要先找到商业需求,为什么要优化产品的搜索功能呢?有些资深的产品经理会在需求文档中写出,而有的并不能想到这一层,仅仅只是觉得不好用所以让你去优化。所以当你的产品经理属于后者的时候,你就要提前参与到前期的工作中,给自己提问题,告诉自己为什么要去优化,以及它能带来什么效益?
当你的工作做到位的时候,并且了解的足够多的话,你很轻易的就会发现,我优化这个搜索功能的原因有两个,也就是商业需求:一是提升平台成交率,二是获取用户数据。

02. 用户操作流程

得到商业需求,我们就要做具体操作,就是找到合适的竞品。这里我扩展一个话题,就是找什么竞品。
通常,我把竞品分为三大类,分别是核心竞品、潜在竞品(类竞品)、交互参考竞品,这三类具体指的是什么,有兴趣的小伙伴可以自己去研究了解。
找到这三类竞品后,要做的就是把它们所有关于搜索功能模块的界面做一个仔细操作,并截图单独存放在一个文件夹中做深入分析。
比如这个功能涉及到的页面、动效、视觉等所有信息都进行详细观察,然后将其做成一份流程图,将所有的竞品都这样做完后,进行对比分析,你就会发现当中的差异,然后就可以知道哪种操作路径是最好或最适合你的产品的。

这图是我为了写文随便搭的,就是个demo,具体的大家还是要自己去操作。

03. 产品功能分析

当你列出所有流程操作图后,下面就可以对搜索的功能进行分析。
这块操作起来比较简单,首先建一张表,罗列出相应的支持功能,然后对支持的竞品类目打上勾,不支持的就不做处理,如下图:

这图也是我为了写文随便搭的,就是个demo,具体的大家还是要自己去操作。
做完以上操作,接下来再分析每个竞品的搜索导航是属于什么类型,这种类型对搜索有什么好处等等。包括搜索功能模块的其他信息,如展示形式、关键词、筛选字段等等,以此推导出其中的差异。当然,做其他功能也是一样,我只是拿搜索做个例子。

04. 交互逻辑思考

由这层开始,要分析功能交互的问题。在每个流程图的边上写下相关的交互逻辑,然后通过自身的行业知识来拆解竞品当中的交互信息,如:
  • 搜索之后页面的跳转的层级
  • 搜索结果展示
  • 页面布局的合理性
  • 图片比例规则
  • 按钮热区
  • 表单展示形式
  • 等等
如果你是一个资深的交互设计师,看到的信息还会更多,这块跟自身能力有关,拆解的产品、分析的交互逻辑越多,这块的梳理能力就会越强,看产品的本质也会越深。那么你分析竞品所能得到的信息也是一般交互和产品不能发掘的。(关于这块的产品拆解我后续会有文章单独说明)

05. 用户使用评价

这块工作看着好像跟竞品分析不搭边,但却是不可缺少的一环。因为即使你做了再多的分析和拆解,看了再多的偏好数据(更何况有些公司拿到的数据并不全面),都没有看用户使用评价来的更加直观。所以看用户的使用评价变得极其重要,只有真实了解用户内心,你才能真正设计出好的产品。
我们可以通过各个渠道去了解用户对一款产品的评价,包括对某个功能的看法,当然我之前也说过,我们不能听用户的一面之词,所以需要去提炼当中的关键信息,帮助自己更好的去完善产品。
这块其实没什么好说的,在竞品分析文档中,这块内容其实不需要做过多的展示,只要拿到你的关键信息并做个大概说明,然后说出你从中得到的设计思路就可以了,我们最后还是要看输出总结,即通过做竞品分析得到的设计需求。

06. 总结输出

当我们按照上面的流程做完所有步骤之后,你就会得到你的设计需求,如:
  • 关键词搜索
  • 搜索建议
  • 条件过滤
  • 搜索历史
  • 查找相似商品
  • 让用户快速识别搜索入口
  • 字段排序
等等。
这些所有子功能都是通过做竞品分析得到的,当然你也可以通过用户调研等方式去得到设计需求。
说这么多,就是告诉他家我们做一个产品时,不是自己去YY要做什么,而是通过这一系列工作流去找到应该做的事情。这就是你在这个岗位必须做到的事情,不要以为产品或交互的工作很简单,上面的每个步骤都是需要大量时间的练习才能做好的。

小结

我们通过竞品分析来提高我们产品自身的核心竞争力,并不是为了求同,也不是为了模仿,而是为了突出自身的产品价值,正所谓知己知彼,百战不殆,竞品分析的目的并不是为了抄袭,而是为了超越竞品。
不过,竞品分析还是会有一定的局限性,比如说我们做竞品分析的时候往往容易将产品和企业文化、产品商业战略等信息剥离开来,但是对于很多产品来说,这些是很重要的东西。所以也就很容易忽视这其中的相关性,分析的时候就有可能导致片面或者出现误差。
所以我们就要不断地改进我们的竞品分析报告,学会从整体上去把握产品的脉络,才能更好地摆脱竞品分析的局限性。 

四大分析法打造你的产品说服力

涛涛

开篇明义,这四大分析法就是:市场分析、竞品分析、用户分析、需求分析。从这四个角度深入分析,就能证明你产品方案的正确性。
其实干了多年的产品老手,一眼就能看出我说的都是「废话」,谁都知道这四类分析法是做产品的基本功,做好了当然能把产品做好。是的,我写这篇文章还有一个目的:就是让大家重新重视这些「基本功」,心态归零。
很多时候,产品经理都被各业务方需求压得喘不过气,更多时间在写文档、画原型、跟项目、处理 bug 反馈中度过。各位正在看本文的产品经理可以回忆下,有多久没认真做过分析了?

话说回来,所谓「认真分析」,也是有法可依、有据可循的。今天就给大家复盘下,身为产品经理,最需要掌握的四大分析法,都如何来做。 

一、市场分析

市场分析的官方定义:
对市场容量、市场规模及市场特性等相关内容进行实事求是的经济分析及预测 。
包括三大范畴:
  • 从行业角度,要看行业有没有发展,市场规模大不大,政策好不好;
  • 从用户角度,要看市场中的用户习惯、用户构成、用户期望;
  • 从自身角度,要认清在市场中自己的优势劣势,遇到的挑战等。
如果要用一句话描述做市场分析的目的,就是看你要做的这个产品,能不能赚钱。是的,虽然很残酷,但一款不赚钱的产品,无论用户体验多好,设计多精美,技术多先进,仍旧是无法持续的。
当然,除了能不能挣钱外,还要进一步研究为什么能挣钱,怎么挣钱,怎么挣到更多钱,能挣多少钱等等。
具体的分析方法,包括:
  • 搜集相关资料,包括宏观经济、行业竞争、技术趋势、市场阶段、市场规模等;
  • 分析市场用户基本情况;
  • 分析自身基本情况。
可能会用到的一些分析模型包括:PEST、SWOT、波特五力等等,这里不再展开,大家可以按关键词搜索更多。

二、竞品分析

竞品分析和市场分析是相辅相成的,有市场就有竞争,很少有一家独大的情况,因此就需要你思考如何在激烈的竞争中脱颖而出。
竞品分析的目的:一方面是了解市场格局,判断是否有机会切入;另一方面是为了制定有利于自身的竞争策略。这个策略,不仅体现在交互设计、使用流程、用户体验上,还要考虑运营、营销、推广策略,甚至还有资本运作方式等。
因此,要求你做竞品分析时,要先定义清楚你分析的目的是什么,然后自顶向下地进行,从行业格局到功能细节,都要有所涉猎。

三、用户分析

用户分析的目的是为产品的立项或优化提供定量或定性支持 ,常见方法包括:观察用户行为、听取用户意见、收集用户数据。对于新产品,比较好用的分析方法是做用户调研。
在用户调研过程中,最需要注意的就是调查问卷的撰写,总结下我觉得需要注意的几点:
  • 避免出现诱导用户选择的选项,比如:如果给你提供一个XX功能,你会不会用。
  • 避免出现无法理解的专业术语,比如:你是否希望我们的产品采用个性化推荐算法分发内容。
  • 避免出现容易引起歧义的模糊词语,比如:你使用社交电商产品频率是多少。
  • 避免出现需要让用户思考的问题,比如:你每周共花多少钱买我们的产品。
  • 避免直接出现产品名称,比如:你觉得像喜马拉雅、得到这样的知识付费产品能解决你的问题么。
还有一点想说的是:设计每道题的每个回答项时,都要明确每个选项你希望带来的结论是什么,这样才会促使你不断完善自己的问卷。 

四、需求分析

需求分析是我觉得四大分析里最难的,也是产品经理的必备课题,因为这背后体现的是对心理的洞察,而「人心」其实是最难猜的,抓住了人心,你的产品自然会成功。
需求分析的过程,要求产品经理具备一双敏锐的眼睛发现需求,一颗好奇心挖掘需求。日常工作中,你所面对的需求包括:客观需求和主观需求。
客观需求:是指通过行为数据、市场趋势分析、竞品调研、用户研究、体验问题等渠道收集的需求,通常要求产品经理时刻保持对行业、对数据的观察和思考。
主观需求:是明确有人向产品经理提出的需求,你的需求方可能包括老板、客户、用户、内部团队。日常工作中最复杂的情况也就是处理主观需求,因为「说服」是个非常耗时耗力的过程,但也是体现你产品能力的时候。
具体如何分析需求,其实已很多方法论,比如威格斯法、KANO模型、Y模型、四象限法等。
建议在每次分析需求时,都用如下句式对需求定义:
什么人,在什么场景下,为了达到什么目的,在遇到什么问题的情况下,希望采用什么方法来解决。
以上句式,说明了:用户角色、使用场景、目标定义、任务说明、问题描述。几乎囊括了描述一个需求的所有要素。
此外,需求分析最重要的还是如何把用户需求转化成产品方案,这一过程要求产品经理同时具备用户思维和产品思维,具体做法在此不再赘述。
最后还想再和大家强调下,分析不是目的,最重要的是通过分析得出对工作有帮助的结论 ,与你共勉。

日历

链接

个人资料

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

存档