<address id="ttjl9"></address>

      <noframes id="ttjl9"><address id="ttjl9"><nobr id="ttjl9"></nobr></address>
      <form id="ttjl9"></form>
        <em id="ttjl9"><span id="ttjl9"></span></em>
        <address id="ttjl9"></address>

          <noframes id="ttjl9"><form id="ttjl9"></form>

          首頁

          用一篇文章,幫你看懂網頁響應式布局原理

          資深UI設計者


          今天分享一個很多設計師頭疼已久的問題,關于網頁響應式布局原理和設計方法。文章主要包含三個部分:

          • 響應式頁面是什么
          • 響應式布局的規則
          • 響應式的設計流程

          所以廢話不多說,我們直接進入正題吧!

          響應式頁面是什么

          在過去,網站通常就是為了電腦大屏幕展示而設計,如果用手機訪問,只能在巴掌大的屏幕里看縮小版的頁面。雖然還有手機專供的 WAP 頁面,但因為太簡陋也無濟于事。

          用一篇文章,幫你看懂網頁響應式布局原理

          隨著智能手機、3G、4G、HTML5 的普及,使用手機訪問網站的人越來越多,為了讓用戶在手機上看到更合適的布局,且兼顧開發的效率,響應式的概念就被提出了。

          通俗解釋,就是通過一套代碼,可以無縫匹配符合電腦、平板、手機預覽效果的前端技術。比如下方 Nike 官網,就是應用了響應式設計后在不同客戶端、分辨率下的效果。

          用一篇文章,幫你看懂網頁響應式布局原理

          雖然響應式的應用越來越廣泛,但是從零開始去寫一個響應式效果的網站對于程序員來講是非常復雜的,因為當中包含了大量的邏輯、判斷、適配內容。

          所以,今天市面上看見的響應式網站,多數使用了一些開源的代碼或者框架。而應用最廣泛的,就數 Bootstrap 了。

          用一篇文章,幫你看懂網頁響應式布局原理

          之所以提這個,是因為既然開發使用了別人寫的框架,那么對于我們的設計稿也就上了緊箍咒,我們需要根據框架的要求來設計界面,這會稍后具體解釋。

          還有個問題,就是為了實現平板、手機和電腦不同的預覽效果,并不是只有響應式布局一種技術,還有另一種技術 —— 自適應。

          通俗點說,自適應就是為不同客戶端分別提供一套獨立的前端代碼,和響應式使用一套代碼適配多種客戶端不同。

          響應式適合應用在一些簡單的官網、展示類頁面,展示的內容大致相同。而自適應適合應用在需要在不同客戶端類型有較大差異的網站,這樣只使用一套前端代碼就完全行不通了。

          比如愛奇藝的官網,為了符合用戶體驗,在移動端網頁布局中精簡替換了大量的內容,和電腦版已經沒有太直接的聯系了。

          用一篇文章,幫你看懂網頁響應式布局原理

          兩種做法并沒有好壞之分,只有適不適合項目之別。了解了它們的不同,我們就可以進一步學習響應式的規則了。

          響應式布局的規則

          響應式布局的規則并不是特別復雜,只要注意兩個問題:

          • 分段響應規則
          • 組件寬度適應

          1. 分段響應規則

          敲黑板,響應式的響應,面向的核心對象是瀏覽器窗口的寬度,而不是設備類型。所以打開使用響應式的網站,我們通過改變瀏覽器的寬度,就可以看見不同的展示效果,比如下圖的星巴克官網。

          用一篇文章,幫你看懂網頁響應式布局原理

          我們可以發現,瀏覽器寬度每達到一個數值(Breakpoint)的時候,頁面的排版和樣式就會發生明顯的變化,而這就是響應式設計最重要的功能 —— 分段展示。

          用一篇文章,幫你看懂網頁響應式布局原理

          也就是說,響應式規則就是為頁面分配不同的寬度區間,每個區間有各自展示的樣式,用來應對不同的場景和設備類型,常見的適配區間大致如下:

          包含圖片截圖 320-800 :移動端收集屏幕 800-1200:平板或上網本屏幕 1200-無窮:一般的電腦顯示器

          面對分段式的布局、樣式變更,我們就要關注到底發生了哪些變化??偨Y起來,可以簡單的歸納成三種組件的調整:內容增減、布局調整、樣式調整。

          第一種,內容增減。即部分模塊在不同的分段內會有顯示和隱藏的狀態,尤其是一些網頁端的內容覺得在小屏幕上展示會太多了,就在小屏幕場景中隱藏掉。

          用一篇文章,幫你看懂網頁響應式布局原理

          第二種,布局調整。主要是模塊的排列和順序發生變化,常見的就是模塊一行的列數發生改變。

          用一篇文章,幫你看懂網頁響應式布局原理

          第三種,樣式變更。即針對不同的分段設計完全不一樣的樣式,最多應用在導航欄的設計中,會為最小的分段使用 iOS 的 Tabbar 或安卓的 Menu 樣式。

          用一篇文章,幫你看懂網頁響應式布局原理

          所以,歸納起來,就是頁面針對不同的分段展示不同的結果,即頁面中的組件觸發了對應的變化類型。每個組件都可以應用不同的變化類型,而無需進行統一。

          2. 組件寬度適應

          分段式響應,是響應式布局的第一層邏輯。而在觸發關鍵值(Breakpoint) 之間的區間,我們拖動窗口的寬度,會發現組件的寬度也隨之改動,這就是 —— 組件寬度適應。

          組件寬度適應在手機 UI 的適配中非常重要,即完成不同屏幕寬的手機適配所應用的邏輯,所下面我們簡單講講它的規則。

          組件的寬度適應模式主要有兩種類型,一種是容器寬度適應,一種是容器比例縮放,比如下面的圖例。

          用一篇文章,幫你看懂網頁響應式布局原理

          用一篇文章,幫你看懂網頁響應式布局原理

          容器是一個比較抽象的概念,類似設計軟件中的編組,它集合了所有下級元素,但本身并沒有實際的內容和樣式。在響應式規則中,下級元素并不會和這個容器等比變動,出現下面這種錯誤的效果。

          用一篇文章,幫你看懂網頁響應式布局原理

          正確做法是會定義下級元素針對父容器的響應方法,做到容器變更的同時其自身的顯示也是合理的。比如相對容器左右間距一致、對齊方向一致、尺寸固定等設置。

          用一篇文章,幫你看懂網頁響應式布局原理

          而這種規則的設置,就是 Sketch/Figma/XD 中的響應式設置功能。只要設置得當,就可以獲得一樣的寬度適應效果。

          用一篇文章,幫你看懂網頁響應式布局原理

          如果對軟件響應式功能了解不全面的同學,就可以自己多搜索一下對應的說明,我就不在這里過多的展開了。

          再總結一下,響應式的規則就是頁面組件先遵循當前分段展示的布局效果,并在這個區間內支持小范圍寬度的變更和適應。

          響應式的設計流程

          響應式設計是一種源自技術的概念,而不是單純的設計風格、方法,所以設計響應式設計其實就是 「面向編程設計」。

          設計界面要吻合編程的真實方法和需求,而不是根據我們想怎么做就怎么做,所以整個流程不能只站在設計師自身的角度考慮,而要和前端程序員緊密溝通,首先確定響應幾個寬度區間,以及它們對應的數值分別是多少。

          然后我們就要完成對應數量頁面的設計,因為前面我們說過,分段響應規則中會有明顯的樣式變動,這就要求設計師是一定要給出設計示例的,而不能依靠口頭描述或程序員自由發揮。

          用一篇文章,幫你看懂網頁響應式布局原理

          完成這些設計稿以后,我們再進一步確定同一個區間內,組件的寬度適應規則是什么樣的。多數情況下,這個階段使用口述就可以,如果規則比較多,那么就可以在標注階段把你要實現的效果記錄上去即可。

          全部設計稿和規則都溝通完畢以后,才進入切圖導出的階段。要提醒一次,在一些特殊的情況下,響應式的背景切圖會和普通頁面的背景切法不一樣,盡可能讓前端程序員檢查一遍導出的文件。

          只要根據上述的流程,在遇到不確定或者不清楚的情況,就和前端程序員做溝通,那么很快就可以將項目輸出出來。

          結尾

          響應式這個概念雖然高大上,但并不是任何項目都要無腦往上套的。因為框架規則上的限制,導致我們很難在響應式頁面中使用一些特別復雜、高級的視覺樣式,導致最終呈現的效果往往非常簡單或者過度依賴圖片的質量。

          所以,如果在功能較為復雜或需要復雜視覺支撐的網頁中,就可以選擇應用固定頁面內容寬度的設計來完成。

          文章來源:優設    作者:超人的電話亭

          藍藍設計www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務


          詳情頁中最容易被忽略的產品參數模塊,該如何設計?

          資深UI設計者

          大部分電商詳情頁教程都著重教你如何做好首焦圖,「產品參數模塊」這個部分則鮮有人提。今天這篇教程,用超多案例,幫你掌握「產品參數模塊」的設計方法。

          詳情頁中最容易被忽略的產品參數模塊,該如何設計?

          詳情頁中最容易被忽略的產品參數模塊,該如何設計?

          詳情頁中最容易被忽略的產品參數模塊,該如何設計?

          詳情頁中最容易被忽略的產品參數模塊,該如何設計?

          詳情頁中最容易被忽略的產品參數模塊,該如何設計?

          詳情頁中最容易被忽略的產品參數模塊,該如何設計?

          詳情頁中最容易被忽略的產品參數模塊,該如何設計?

          詳情頁中最容易被忽略的產品參數模塊,該如何設計?

          詳情頁中最容易被忽略的產品參數模塊,該如何設計?

          詳情頁中最容易被忽略的產品參數模塊,該如何設計?

          詳情頁中最容易被忽略的產品參數模塊,該如何設計?

          詳情頁中最容易被忽略的產品參數模塊,該如何設計?

          詳情頁中最容易被忽略的產品參數模塊,該如何設計?

          詳情頁中最容易被忽略的產品參數模塊,該如何設計?
          文章來源:優設    作者:美工美邦

          藍藍設計www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務


          微信小程序發送訂閱消息(之前是模板消息)

          seo達人

          之前的模板消息已經廢棄,現在改為訂閱消息,訂閱消息發布前,需要用戶確認后才能接收訂閱消息。


          image


          小程序端

          index.wxml


          <button bindtap="send">發送訂閱消息</button>

          index.js


          const app = getApp()

          Page({ data: {

           }, send:function(){

             wx.requestSubscribeMessage({ tmplIds: ['WZiCliW1zVtHXqX7dGnFNmFvxhW-wd9S_W4WfrwNvss'],


          success:(res)=> { // 在登錄的時候,獲取到的openid進行緩存,現在直接把openid提取出來即可 wx.getStorage({ key: 'openid',


                   success (res) { console.log(res.data)

                     wx.request({ url: 'https://www.xxx.com/send.php?openid='+res.data, data: {},


          header: { 'content-type': 'application/json' },


                       success (res) { // 推送 if(res.data.errcode == '43101'){ console.log("拒絕訂閱消息")

                         }else if(res.data.errcode == '0'){ console.log("發送訂閱消息")

                         }else{ console.log("未知錯誤")

                         }

                       }

                     })

                   },

                   fail (res) { console.log("沒有openid,無法發送")

                   }

                 })

               }

             })

           }

          })

          后端

          <?php //設置 header  header("Content-type:application/json"); //接收參數 $openid = $_GET["openid"];


          //初始化 CURL $ch = curl_init(); // 獲取access_token // include ''; require_once("access_token.php");


          //目標服務器地址  curl_setopt($ch, CURLOPT_URL,


          'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token='.$access_token);


          //設置要POST的數據 curl_setopt($ch, CURLOPT_POST, true);


          $data = '{

           "touser": "'.$openid.'",

           "template_id": "模板ID",

           "page": "pages/index/index",// 要跳轉的頁面

           "lang":"zh_CN",

           "data": {

               "thing4": {

                   "value": "歡迎使用專插本最前線小程序"

               },

               "thing5": {

                   "value": "小程序由公眾號:廣東專插本最前線開發"

               }

           }

          }';

          curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

          curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); // 對認證證書來源的檢查 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // 從證書中檢查SSL加密算法是否存在 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); //獲取的信息以文件流的形式返回,而不是直接輸出 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //發起請求 $result = curl_exec($ch); echo $result; //關閉請求 curl_close($ch); ?>

          access_token.php


          <?php // 聲明頁面header header("Content-type:charset=utf-8"); // APPID、APPSECRET $appid = "你的小程序APPID";

          $appsecret = "你的小程序APPSECRET"; // 獲取access_token和jsapi_ticket function getToken(){

             $file = file_get_contents("access_token.json",true);//讀取access_token.json里面的數據 $result = json_decode($file,true); //判斷access_token是否在有效期內,如果在有效期則獲取緩存的access_token //如果過期了則請求接口生成新的access_token并且緩存access_token.json if (time() > $result['expires']){

                 $data = array();

                 $data['access_token'] = getNewToken();

                 $data['expires'] = time()+7000;

                 $jsonStr =  json_encode($data);

                 $fp = fopen("access_token.json", "w");

                 fwrite($fp, $jsonStr);

                 fclose($fp); return $data['access_token'];

             }else{ return $result['access_token'];

             }

          } //獲取新的access_token function getNewToken($appid,$appsecret){ global $appid; global $appsecret;

             $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret."";

             $access_token_Arr =  file_get_contents($url);

             $token_jsonarr = json_decode($access_token_Arr, true); return $token_jsonarr["access_token"];

          }


          $access_token = getToken(); ?>

          邏輯

          1、通過button控件出發send函數

          2、send函數調用wx.requestSubscribeMessageAPI,微信允許接收訂閱消息

          3、 wx.request向send.php后端請求

          4、后端獲取access_token后,調用訂閱消息接口POST一段json數據即可發送訂閱消息


          官方文檔

          1、https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeMessage.html


          2、https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.addTemplate.html


          Author:TANKING

          Date:2020-08-24

          Web:http://www.likeyun.cn/

          WeChat:face6009

          藍藍設計www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務

          JavaScript - 數組排序 6 種常見算法

          前端達人

          開發中,遇到數組排序的需求很頻繁,這篇文章會介紹幾個常見排序思路。

          一、希爾排序(性能最好)

          如果要從大到小排列,則 while(arr[n] > arr[n - interval] && n > 0) 。

          // 希爾排序算法 function xier(arr){ var interval = parseInt(arr.length / 2);//分組間隔設置 while(interval > 0){ for(var i = 0 ; i < arr.length ; i ++){ var n = i; while(arr[n] < arr[n - interval] && n > 0){ var temp = arr[n]; arr[n] = arr[n - interval]; arr[n - interval] = temp; n = n - interval; } } interval = parseInt(interval / 2); } return arr; } // Array var arr = [10, 20, 40, 60, 60, 0, 30] // 打印排序后的數組 console.log(xier(arr))//[0, 10, 20, 30, 40, 60, 60]  
          

          二、sort排序(普通數組 / 數組嵌套對象)

          一堆數組排序

          // Array var arr = [10, 20, 40, 60, 60, 0, 30] // 排序方法 arr.sort(function(a,b){ /*
              * return b-a; —> 降序排序
              * return a-b; —> 升序排列
              */ return a-b; })//括號里不寫回調函數則默認按照字母逐位升序排列 // 打印排序后的數組 console.log(arr)//[0, 10, 20, 30, 40, 60, 60]  
          

          對象數組排序(數組套對象)

          //對象數組排序 var arr = [ {name:'syy', age:0}, {name:'wxy', age:18}, {name:'slj', age:8}, {name:'wj', age:20} ]; // 排序方法 function compare(property) {//property:根據什么屬性排序 return function(a,b){ var value1 = a[property]; var value2 = b[property]; /*
                  * value2 - value1;  ——> 降序
                  * value1 - value2;  ——> 升序
                  */ return value1 - value2;//升序排序 } } // 打印排序后的數組 console.log(arr.sort(compare('age'))) /*
          0: {name: "syy", age: 0}
          1: {name: "slj", age: 8}
          2: {name: "wxy", age: 18}
          3: {name: "wj", age: 20}
          */  
          

          三、桶排序

          特點:簡單,但非常浪費內存,幾乎不用。

          桶中出現的數組元素都做個標記 1,然后將桶數組中有 1 標記的元素依次打印。

          // Array var arr = [] // 每個數組項做標記(1) for(let i = 0; i < arr.length; i++) { let key = arr[i] arr[key] = 1 } // 遍歷打印出每項 for(let j in arr) { debugger console.log(j) }  
          

          四、冒泡排序

          性能:一般(需要每項進行比較)。

          每一趟找出最大的值。

          // Array var arr = [10, 20, 40, 60, 60, 0, 30] /*
          * 總共比較次數為arr.length-1次
          * 每次的比較次數為arr.length-1次
          * 依次遞減
          */ var temp;//交換變量標識 // 兩層for分別表示當前項與第二項 for(let i = 0; i < arr.length - 1; i++) { for(let j = 0; j < arr.length - 1; j++) { // 如果當前項大于第二項(后一項)則交換 if(arr[j] > arr[j+1]) { temp = arr[j] arr[j] = arr[j+1]; arr[j+1] = temp; } } } // 打印排序后的數組 console.log(arr)//[0, 10, 20, 30, 40, 60, 60]  
          

          五、選擇排序

          性能:一般(需要每項進行比較)。

          假定某個位置的值是最小值,與冒泡排序類似。

          // Array var arr = [10, 20, 40, 60, 60, 0, 30] var temp;//交換變量標識 // 兩層for分別表示當前項與第二項 for(let i = 0; i < arr.length - 1; i++) { for(let j = i + 1; j < arr.length; j++) { // 假設第二項是最小值(是則交換/否則繼續比較) if(arr[i] > arr[j]) { temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } // 打印排序后的數組 console.log(arr)//[0, 10, 20, 30, 40, 60, 60] 
          

          六、插入排序

          // Array var arr = [10, 20, 40, 60, 60, 0, 30] // 排序算法 for(var i = 0; i < arr.length; i++) { var n = i; while(arr[n] > arr[n+1] && n >= 0) { var temp = arr[n]; arr[n] = arr[n+1]; arr[n+1] = temp; n--; } } // 打印排序后的數組 console.log(arr)//[0, 10, 20, 30, 40, 60, 60]



          轉自:https://blog.csdn.net/weixin_44198965/article/details/107996497?utm_medium=distribute.pc_category.none-task-blog-hot-4.nonecase&depth_1-utm_source=distribute.pc_category.none-task-blog-hot-4.nonecase&request_id=

          作者:

          手機appUI界面設計賞析(七)

          前端達人

          手機UI中的交互是保持產品鮮活生命力的源動力。好的交互可以幫助用戶快速地獲得反饋,認知布局,增強體驗感和沉浸感。

          手機UI中的交互是保持產品鮮活生命力的源動力。好的交互可以幫助用戶快速地獲得反饋,認知布局,增強體驗感和沉浸感。這里為大家整理了一些優秀并富有創意的交互作品,為你的產品設計注入靈感。

          專業又貼心醫療App頁面設計

          醫療行業設計案例

          微信圖片_20200818185149.jpg

             --手機appUI設計--

          微信圖片_20200818185156.jpg

             --手機appUI設計--微信圖片_20200818185200.png

             --手機appUI設計--微信圖片_20200818185204.jpg

             --手機appUI設計--微信圖片_20200818185208.png

             --手機appUI設計--微信圖片_20200818185211.png

             --手機appUI設計--微信圖片_20200818185217.png

             --手機appUI設計--微信圖片_20200818185221.jpg

             --手機appUI設計--微信圖片_20200818185226.jpg

             --手機appUI設計--微信圖片_20200818185229.jpg

             --手機appUI設計--微信圖片_20200818185235.png

             --手機appUI設計--微信圖片_20200818185239.png

             --手機appUI設計--微信圖片_20200818185242.png

             --手機appUI設計--微信圖片_20200818185246.png

             --手機appUI設計--微信圖片_20200818185249.png

             --手機appUI設計--微信圖片_20200818185254.jpg

             --手機appUI設計--微信圖片_20200818185257.jpg

             --手機appUI設計--微信圖片_20200818185301.jpg

             --手機appUI設計--微信圖片_20200818185307.jpg

             --手機appUI設計--微信圖片_20200818185320.png

             --手機appUI設計--微信圖片_20200818185323.jpg

             --手機appUI設計--微信圖片_20200818185326.jpg

             --手機appUI設計--微信圖片_20200818185333.jpg

             --手機appUI設計--微信圖片_20200818185336.jpg

             --手機appUI設計--微信圖片_20200818185339.png

             --手機appUI設計--




          (以上圖片均來源于網絡)



            藍藍設計www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服



            更多精彩文章:

                 手機appUI界面設計賞析(一)

                 手機appUI界面設計賞析(二)

                 手機appUI界面設計賞析(三)

                 手機appUI界面設計賞析(四)

                 手機appUI界面設計賞析(五)

                 手機appUI界面設計賞析(六)



          Flutter 實戰:增刪查改功能示例代碼

          seo達人

          七月,我們上線重磅基礎能力——實時數據庫,并開了實戰直播課,讓大家可以更好的理解并使用該服務。你的聊天室、站內信、投票、小游戲等需要高實時的功能正在想你招手,趕緊使用實時數據庫服務又快又簡單的開發它們吧。


          點擊此處回顧教學視頻,看看知曉云大前端組長如何在十分鐘內搞定一個視頻彈幕微信小程序。


          Ps:目前實時數據庫限時免費,就算以后收費,費用也是低到忽略不計。速速用上,不要錯過這么硬核的能力。


          八月,我們迎來知曉云三周年,推出各式各樣的福利活動。開發者在這個全年最優惠的時間里,升級、續費,甚至購買三年期包年套餐,與知曉云鎖定下一個三年。非常感謝大家的支持,我們會繼續努力,不斷輸出更強大的能力。


          九月初,Flutter SDK 已進入測試階段,很快就可以跟大家見面了。

          Flutter SDK 的使用比較簡明易懂,例如對數據表的增刪查改,在指定數據表后,對數據項進行對應操作即可,例如新增(create)、查找(get)、修改(update)和刪除(delete)。


          以下是對 Flutter 增刪查改功能進行展示:


          TableObject product = new TableObject('product'); // 獲取名為 product 的數據表


          // 新增數據

          TableRecord record = product.create(); // 創建一條空白記錄


          // 為屬性字段賦值

          record.set('name', '知曉云 flutter sdk'); // 對 name 字段進行賦值

          record.set('version', '1.0'); // 對 version 字段進行賦值


          // 將數據保存到服務器

          record = await record.save(); // 保存


          // 從服務器獲取一條數據

          TableRecord record = await product.get(record.id);


          // 更新數據

          record.set('version', '1.1');

          await record.update();


          // 刪除數據

          await product.delete(recordId: record.id);

          目前知曉云 Flutter SDK 支持的功能如下:


          數據表

          用戶

          內容庫

          文件

          云函數調用

          獲取服務器時間

          本地存儲

          Flutter SDK 正式上線后,我們還會輸出實戰教學視頻,敬請期待!


          另外,我們提前開啟內測申請通道,點擊此處或微信掃一掃掃描下方卡片二維碼即可申請,獲得內測資格的開發者,不僅可優先體驗新功能,同時還可以與知曉云工程師近距離交流,你使用后的建議也可以得到更快的反饋與實現。


          知曉云 Flutter SDK


          2020 年已過去三分之二,好消息是,即將到來的中秋&國慶小長假以及知曉云近期的更新內容,除了即將上線的 Flutter SDK ,還有以下更新。


          1. 支持 QQ 小程序訂閱消息,消息能力又前進一步。

          與微信訂閱消息不同在于,QQ 小程序訂閱消息不僅支持分為「一次性訂閱」,還支持「長期訂閱」,如果用戶之前已經同意授權長期訂閱,則不會再出現彈窗詢問。>>> 查看開發文檔


          2. iOS 和 Android SDK 支持微博登錄。


          查看 iOS 開發文檔

          查看 Android 開發文檔

          如果你有其他需求,可以通過文末

          藍藍設計www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務

          高手如何從零開始設計 UI 界面?這個實戰案例告訴你!

          周周

          這是 UI 設計師 Diana Malewicz 的一篇 UI 界面設計的分享。怎樣在保證基本的可用性和易用性的同時,讓界面柔和、富有親和力?如何在讓用戶愉悅的同時,還能用設計取悅自己?Diana 的方法談不上有多神奇,但是讓人眼前一亮,值得借鑒。

          真的關注趨勢變化,你會清晰的感受到,視覺效果和設計技巧一直在變……它們一直是設計師們的話題中心。但是這篇文章并不打算討論這個事兒,無論漸變是否流行,新擬物化的可訪問性是否不足,都不在今天的討論范圍內。

          對于各種風格、方法,我的觀點始終是:做出來的設計要可用,有用,有良好的可訪問性,用戶可以輕松理解,就行了。不過,我更樂于從趨勢中獲得樂趣,而不是將它視作為約束,如果每個界面看起來都是一樣的,那該是一件多么無聊的事情啊。

          關鍵在于,要讓產品的視覺樣式和你的用戶群體匹配起來。

          我個人非常喜歡漂亮的漸變和微妙的陰影,這樣的設計常常顯得魅力非凡。這種自然的過渡和光影的變化,非常貼合我們對于現實世界的感知,這就是為什么這樣的設計能夠俘獲大量沒有技術背景的用戶的心——因為它們看起來友好,并且易于理解。

          在這篇文章當中,我將分享如何將 UI 效果設計得出彩又友好,讓視覺效果柔和又讓人感覺舒適。本文圍繞著一個「面向年輕人的金融 APP」虛擬設計項目來進行展示。

          下面我們開始吧!

          視覺層次的一致性

          怎么讓我們的設計看起來柔和圓潤呢?下面開始準備工作:

          1、選擇想要使用的配色(想想使用柔和的粉彩構成的背景主色調,搭配一個給人精致感的次要色,以及一個抓人注意力的強調色。)

          2、選擇合理的字體(我用的是 Brandon Grotesque,這是我最喜歡的字體,它足夠友好,能夠營造有趣的氛圍,且具有良好的可讀性)。接下來,給字體設計不同大小和字重(最好不超過5種不同的樣式)。其中,標題字體應該較大,正文字體較小,最小的字體用于細節呈現。注意,盡量不要在長句子里面使用全大寫。

          3、確定你所需要的陰影的高程(Height)和模糊度。

          4、如果使用的是圖標,確定使用填充樣式還是描邊樣式。盡量不要混用。

          至此,一個小型的設計系統就已經確定了。挺好看的!

          uni-app提交表單到后端,接收表單數據

          seo達人

          要想接收表單數據,首先要在表單進行數據的綁定,我們可以使用v-model="keyword"進行綁定。


          然后在js獲取這個綁定的值。


          index.vue


          <template>

          <view>

             <view class="search-con">

                     <view class="form-con">

                     <form class="search-form">

                         <input type="text" v-model="keyword" @tap="showsearchbtn" focus="true"/>

                         <button form-type="submit" hover-class='none' @tap="keyword">提交</button>  

                     </form>

                     </view>

             </view>

          </view>

          <template>

          js


          <script>

          export default {

             data() {

                 return {


                     }

                 },

                 methods: {

                     keyword(e){

                         // 獲取表單值

                         let kw = this.keyword;

                         console.log(kw);

                     }

                 }

             }

          </script>

          Author:TANKING

          Web:http://www.likeyun.cn

          Date:2020-8-13

          WeChat:face6009

          藍藍設計www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務

          滴滴出行小程序I18n最佳實踐

          seo達人

          背景

          I18n = Internationalization,國際化,因為單詞由首末字符i/n和中間18個字母組成,簡稱i18n。對程序來說,就是要在不修改內部代碼的情況下,能根據不同語言及地區顯示相應的界面,以支持不同語言的人順利使用程序。

          業務背景

          互聯網行業進入下半場,精細化運營是關鍵。多語言支持能讓產品更好地服務境內的其他語言用戶,也為產品出海打下基礎,隨著 WeChat/Alipay 的全球化,你的小程序是否做好準備了呢?

          4月初,滴滴出行小程序團隊接到支持英文版的需求,預計上線時間為6月上旬。當前滴滴出行小程序集成的眾多業務線和各種公共庫,展示給用戶的有前端硬編碼的靜態文本和服務端下發的文案,都要同步接入多語言??紤]到小程序當前的體量,光文本收集、語料翻譯、npm package 支持,聯調,測試,溝通成本等等,并且前端開發只投入1.5人力的情況下,時間是蠻緊迫的,但是我們抗住了壓力,最終英文版滴滴出行小程序如期上線,截止目前運行穩定,用戶反饋良好,得到了超出預期的收益。

          當然這一切得益于各團隊同學的工作,和各團隊的通力配合,更得益于部門技術團隊 Mpx框架優雅的多語言能力支持。劃重點來咯,所謂工欲善其事必先利其器,如果你的公司業務需要開發小程序,也需要接入多語言,那么請搬好小板凳,我們來看一下小程序框架 Mpx 是如何優雅支持多語言能力。相信看完這篇,可以幫助你認識 Mpx(https://github.com/didi/mpx) ,加深對框架的理解,最終利用 Mpx 框架迭代小程序,年終獎多出那部分可以打賞一下作者,買杯咖啡哈(偷笑.jpg)

          以下是滴滴出行小程序的中英文版本對比:

          滴滴出行微信小程序i18n

          也歡迎大家在微信/支付寶里搜索滴滴出行小程序,實際使用感受下。PS:切換語言的方法是,打開小程序,點擊左上角用戶頭像,進入側邊欄設置頁面,點擊切換中英文即可體驗。

          技術背景

          在上述業務背景下,Mpx 框架——滴滴自研的專注提升小程序開發體驗的增強型小程序框架,內建 i18n 能力便提上日程。

          與 WEB 不同,小程序(本文以微信小程序為例)運行環境采用雙線程架構設計,渲染層的界面使用 WebView 進行渲染,邏輯層采用 JSCore 線程運行 JS腳本。邏輯層數據改變,通過 setData 將數據轉發到 Native(微信客戶端),Native 再將數據轉發到渲染層,以此更新頁面。由于線程間通信成本較高,實際項目開發時需要控制頻次和數量。另外小程序的渲染層不支持運行 JS ,一些如事件處理等操作無法在渲染層實現,因此微信官方提供了一套腳本語言 WXS ,結合 WXML ,可以構建出頁面的結構(不了解 WXS ?戳這里)。

          基于小程序的雙線程架構設計,實現 i18n 存在一些技術上的難點與挑戰,由于 Mpx 框架早期構建起來的強大基礎,最終得以優雅支持多語言能力,實現了和vue-i18n 基本一致的使用體驗。

          使用

          在使用上,Mpx 支持 i18n 能力提供的 API 與 vue-i18n 大體對齊,用法上也基本一致。

          模板中使用 i18n

          編譯階段通過用戶配置的 i18n 字典,結合框架內建的翻譯函數通過 wxs-i18n-loader 合成為可執行的 WXS 翻譯函數,并自動注入到有翻譯函數調用的模板中,具體調用方式如下圖。

          // mpx文件 <template> <view> <view>{{ $t('message.hello', { msg: 'hello' })}}</view> 

          <!-- formattedDatetime計算屬性,可基于locale變更響應刷新 --> <view>{{formattedDatetime}}</view> </view> </template>

          JS 中使用 i18n

          通過框架提供的 wxs2js 能力,將 WXS 翻譯函數轉換為 JS 模塊注入到 JS 運行時,使運行時環境中也能夠調用翻譯函數。

          // mpx文件 <script> import mpx, { createComponent } from '@mpxjs/core' createComponent({ 
          

          ready () { // js中使用 console.log(this.$t('message.hello', { msg: 'hello' }))

          // 局部locale變更,生效范圍為當前組件內 this.$i18n.locale = 'en-US' setTimeout(() =>

          { // 全局locale變更,生效范圍為項目全局 mpx.i18n.locale = 'zh-CN' }, 10000)

          }, computed: { formattedDatetime () { return this.$d(new Date(), 'long') } } }) </script>

          定義 i18n 字典

          項目構建時傳入 i18n 配置對象,主要包括語言字典和默認語言類型。

          new MpxWebpackPlugin({ i18n: { locale: 'en-US',

          // messages既可以通過對象字面量傳入,也可以通過messagesPath指定一個js模塊路徑,

          在該模塊中定義配置并導出,dateTimeFormats/dateTimeFormatsPath和numberFormats/numberFormatsPath同理

          messages: { 'en-US': { message: { hello: '{msg} world' }

          }, 'zh-CN': { message: { hello: '{msg} 世界' } } }, // messagesPath: path.resolve(__dirname, '../src/i18n.js') } })

          如果是通過 Mpx 提供的 cli 工具生成的項目,這部分配置會在 mpx.conf.js 文件中,不光可以直接內聯寫在該文件中,也可以指定語言包的路徑。

          以上,Mpx 的 i18n 方案接入成本低,使用優雅,體驗優秀。直觀感受可參考下面 mpx i18n demo :https://github.com/didi/mpx/t...

          方案

          Mpx框架的 i18n 支持幾乎完全實現了 vue-i18n 的全部能力,下面我們來詳細說明 Mpx 框架 i18n 能力的具體實現。

          方案探索

          基于小程序運行環境的雙線程架構,我們嘗試了不同方案,具體探索過程如下:

          方案一:基于 Mpx 框架已提供的數據增強能力 computed 計算屬性,來支持 i18n 。該方案與 uniapp 的實現思路相似(后文會進行對比分析),存在一定不足,包括線程通信帶來的性能開銷和for循環場景下的處理較復雜等,最終放棄。
          方案二:基于 WXS + JS 支持 i18n 適配。通過視圖層注入 WXS,將 WXS 語法轉換為 JS 后注入到邏輯層,這樣視圖層和邏輯層均可實現 i18n 適配,并且在一定程度上有效減少兩個線程間的通信耗時,提高性能。

          從性能和合理性上考慮,我們最終采用了方案二進行 Mpx 的 i18n 方案實現。

          mpx-i18n內部流程示意圖

          Mpx i18n 架構設計圖

          由于各大小程序平臺上,WXS 語法和使用均存在較大差異,因此該方案實現過程中也存在一些技術上的難點,這些難點基于 Mpx 框架的早期構建起來的跨平臺能力也一一得以攻克,具體如下。

          實現難點

          WXS 在模板中運行的跨平臺處理

          WXS 是運行在視圖層中的 JS,可以減少與邏輯層通信耗時,提高性能。因此 Mpx 框架在迭代初期便已支持在模板和 JS 運行環境使用 WXS 語言,并且針對小程序跨平臺 WXS 語法進行抹平。
          在模板中,Mpx 自定義一個 webpack chunk template,以微信 WXS 作為 DSL,利用 babylon 將注入的 WXS 轉化成 ast,然后遍歷 ast 節點,抹平各大平臺對 WXS 語法的處理差異,輸出各平臺可以識別的類 WXS 文件。目前主要支持微信(WXS)、支付寶(sjs)、百度(filter)、QQ(qs)、頭條(sjs)等小程序平臺。

          WXS 在邏輯層運行的跨平臺處理

          WXS 與 JavaScript 是不同的語言,有自己的語法,并不和 JavaScript 一致。并且 WXS 的運行環境和其他 JavaScript 代碼是隔離的,WXS 中不能調用其他 JavaScript 文件中定義的函數,也不能調用小程序提供的API。
          因此在邏輯層,Mpx 將注入的 WXS 語法轉化為 JS,通過 webpack 注入到當前模塊。例如 WXS 全局方法 getRegExp/getDate 在 JS 中是無法調用的,Mpx將它們分別轉化成 JS 模塊,再通過 webpack addVariable 將模塊注入到 bundle.js 中。
          同理,Mpx 會將編譯時注入的 i18n wxs 翻譯函數和 i18n 配置對象掛載到全局 global 對象上,利用 mixin 混入到頁面組件,并監聽 i18n 配置對象,這樣JS和模板中即可直接調用 i18n 翻譯函數,實現數據響應。

          以上便是 Mpx 框架在小程序中支持 i18n 能力的技術細節,由于 WXS 是可以在視圖層執行的類 JS 語法的一門語言,這樣就減少了小程序邏輯層和視圖層的通信耗時,提升性能。但是由于實現依賴類 WXS 能力,以及 WXS 執行環境的限制,目前模板上可直接使用的翻譯函數包括 $t/$tc/$te ,如果需要格式化數字或日期可以使用對應的翻譯函數在 JS 中 Mpx 提供的計算屬性中實現。

          輸出 web 時使用 i18n

          Mpx同時還支持轉換產出H5,而 Mpx 提供的 i18n 能力在使用上與 vue-i18n 基本一致,輸出 web 時框架會自動引入 vue-i18n,并使用當前的 Mpx i18n 配置信息對其進行初始化,用戶無需進行任何更改,即可輸出和小程序表現完全一致的 i18n web 項目。

          對比

          上面分析了 Mpx 框架的 i18n 方案的技術細節,我們來看下和其他方案的對比,主要是和 uniapp - 基于 Vue 編寫小程序的方案,和微信官方的方案,兩者提供的 i18n 支持與Mpx的對比有何優劣。

          uniapp的方案

          uniapp 提供了對 i18n 能力的支持,是直接引入vue-i18n。但小程序中無法在模板上調用 JS 方法,本質上是利用計算屬性 Computed 轉換好語言,然后利用模板插值在小程序模板中使用。

          模板中:
          <view>{{ message.hello }}</view>

          JS里需要寫:

           computed: {  
              message () { return { hello: this.$t('message.hello') }
              }
            }

          因此該方案存在一個性能問題,最終的渲染層所看到的文本還是通過 setData 跨線程通信完成,這樣就會導致線程間通信增多,性能開銷較大。

          并且,早期這種形式使用成本較高,后來 uniapp 也針對其做過優化,實現了可以在模板上寫 $t() 的能力,使用上方便了不少。

          這個 t() 的實現是在編譯時候識別到t 就自動替換,幫你替換成一個 uniapp 的 computed 數據,因此數據部分還是和之前一樣要維護兩份。尤其是模板上的for循環,即使 for 里只有一個數據要被轉換,整個列表都要被替換成一個計算屬性,在線程間通信時進一步加大了性能開銷。

          微信官方的方案

          微信小程序本身也提供了一個 i18n 的方案,倉庫地址是:wechat-miniprogram/miniprogram-i18n 。

          這個方案從 i18n 本身的實現來講和Mpx框架的設計是類似的,也是基于 WXS 實現(英雄所見略同?。?。但因為周邊配套上沒有完整的體系,整體使用體驗上就也略遜于基于Mpx框架來開發支持 i18n 的國際化小程序了。

          主要的點就是,官方提供的方案,要基于 gulp 工具進行一次額外構建,同時在JS中使用時候還要額外引入一個 behavior 去讓JS中也可以使用翻譯能力。

          而Mpx框架通過一次統一的Webpack構建產出完整的內容,用戶無需擔心語言包更新后忘記重新構建,在JS中使用的時候不光更方便,而且語言信息還是個響應式的,任何組件都可以很方便地監聽語言值的變化去做一些其他的事情。

          最后,Mpx的 i18n 方案對比微信官方的方案還有個巨大的優點,結合Mpx的跨平臺能力,能實現均以這個方案,一套代碼產出支持微信/支付寶/百度/QQ/頭條多個平臺的支持 i18n 的小程序。

          總結

          Mpx 框架專注小程序開發,期望為開發者提供最舒適的開發體驗,有眾多優秀的功能特性,幫助開發者提效。本文介紹的是其內置的 i18n 能力,通過對比分析得出相比其他框架方案在使用成本和性能等方面有明顯的優勢,歡迎各位有相關需求的同學進行體驗嘗試。

          未來 Mpx 還會持續迭代優化,提供更多更好的能力幫助小程序開發者提效。在使用過程中遇到任何問題,歡迎大家在 Git 上提 issue,團隊成員會及時響應。同時也鼓勵大家一起為開源社區做貢獻,參與到 Mpx 共建中來,為小程序技術發展添磚加瓦。

          Git地址 [https://github.com/didi/mpx]
          Mpx文檔 [https://mpxjs.cn/]

          歡迎技術交流與反饋,順便star一下鼓勵開源項目貢獻者,我們將持續發力貢獻社區。

          附:以往Mpx文章鏈接
          滴滴開源小程序框架Mpx - https://mpxjs.cn/articles/1.0.html
          滴滴小程序框架Mpx發布2.0,支持小程序跨平臺開發,可直接轉換已有微信小程序 - https://mpxjs.cn/articles/2.0.html
          小程序開發者,為什么你應該嘗試下MPX - https://mpxjs.cn/articles/mpx1.html
          Mpx 小程序框架技術揭秘 - https://mpxjs.cn/articles/mpx2.html

          滴滴出行小程序體積優化實踐 - https://mpxjs.cn/articles/size-control.html

          藍藍設計www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務

          日期排版沒靈感?我總結了10套排版案例

          資深UI設計者

          版式設計在我們的設計中是非常重要的技能,無論是UI設計還是平面設計,都會運用到版式設計相關的知識,在版式設計中最常見的就是圖文排版、文文排版。一張圖片一段文案在不同的需求情況下我們都可以排版出很多種樣式,每一種樣式展現出來給人的感覺也是不一樣的,美的排版總是會使人眼前一亮,也會使整體的設計更耐看。

          排版也是會根據重要程度劃分層級,我們都知道主題文案都需要醒目,讓人一眼就能看到,這樣才能達到宣傳的作用,當然僅僅只是展示主題文案也是遠遠不夠的,達到主題排版,主圖排版,小到副標題排版,我們都需要精心的排版,還可以更精細到小到輔助文案以及圖形的排版,而今天我們就來看一下日期這樣的文案我們可以怎么排版呢?

          日期在一些重要的活動中也是比較重要的信息,比如展會時間,我們需要突出時間,不能用極小的文字排版在角落,用戶不注意的地方,這樣會給人一種焦慮的情緒,既然是展會活動,那么用戶關心的是展會的主題是什么?活動時間是什么時候?活動地址在什么地方?所以這些重要的信息就需要重要突出。而在一些做紀念性的日期我們就可以小化(例如我自己記錄自己的學習打卡練習)

          案例分享

          我們常見的日期有年、月、日、時、分、秒,接下來我們就通過對日期的展現做一些不同的排版方式,通過與日期的普通排版方式做對比,我們就可以看出微小的日期排版對整體的設計展現也是有很大影響的。

          簡單的日期排版我們通常就只是將年月日對齊排版就算完成了,但是這樣的排版方式會影響整體畫面的美觀,我們對于小文案也需要花一定心思去整理以及排版出更精細的樣式,這樣給用戶的感覺就會覺得你的每一步設計都是用心設計的,并且為了整體的美觀,我們 也不得不從細微之處出發。

          日期排版01

          例如下面對于日期的排版,TIME這個文案有時候我們也可以去掉,因為用戶看到時間就會明白這是什么,在一定的情況下也是可以去掉的,當然有時候為了整體頁面的展示效果,我們也可以加上,便于排版,左邊只是將年、月、日并排,時間節點作為一個點排列,下面的文案我們可以根據實際情況選擇一些特殊的提示文案做裝飾

          而通過對左邊簡單的日期排版進行改版后,我們會發現右邊的日期排版會顯得更美觀,排版更精妙,也有更多的細節之處,例如2020后緊接著年(YEAR)的提示,08后面標識是周六(SAT.),年月日和時間節點也同時做了層次區分,這樣更有利于閱讀。

          日期排版沒靈感?我總結了10套排版案例

          日期排版02

          對于上面同樣的日期文案,我們還可以排出右邊不同的樣式,整體采用橫排的方式,將年、月、日同排,時間段縮小處理,使時間之間也能有層次感

          日期排版沒靈感?我總結了10套排版案例

          日期排版03

          下面的日期是年、日期段、時間段的組合,左邊的排版顯然是比較常規的分層排版,卻主要突出了2020,而一般時間我們在這一年將要發生的事,我們更關心的是哪一天那個時間點,而右邊的排版主要突出時間段/點,更能讓用戶看到自己關心的事件。

          日期排版沒靈感?我總結了10套排版案例

          日期排版04

          下面這一組日期是有不同年份的,所以我們在排版的時候可以突出顯示年份,這樣在排版的時候就可以注意層級關系,排除層次感

          日期排版沒靈感?我總結了10套排版案例

          日期排版05

          這一組日期是比較簡單的,只有一個時間點,沒有時間段,如果直接按照左邊這樣的日期排版方式,顯然整體看著就很單薄,把這樣的日期排版方式融入到版式整體畫面中,也一定會顯得毫無設計感,而我們只需要將簡單的日期經過簡單的排版,從年、月、日、時,從上至下依次排列,這樣就可以顯得信息有層次感,并且閱讀也不會有困惑,加上精致的icon做裝飾,這樣的日期排版就顯得更耐看。

          日期排版沒靈感?我總結了10套排版案例

          日期排版06

          這一組日期也很簡單,只有月、日、時,都是屬于時間段的信息,通過分析這個時間,月都是10月,是相同的,所以我們可以將月份單獨拿出來,作為共用信息,這樣就可以精簡畫面重復的信息,依然采用月、日、時這樣從上至下的順序排列,時間小化,但是利用色塊突出,也不會柔化時間點的閱讀,再通過一條線的連接,將斜線和時間icon相連,形成一個有趣味性的時間裝飾,這樣的排版更容易吸引用戶的眼球

          日期排版沒靈感?我總結了10套排版案例

          日期排版07

          下面的日期也是年、日期段、時間段的組合,和第三個日期排版的案例類似,所以存在同樣的問題,左邊的排版顯然是比較常規的分層排版,卻主要突出了2020,右邊改版后,我們同樣弱化年份(2020),提取相同的月份(8月),突出顯示日期

          日期排版沒靈感?我總結了10套排版案例

          日期排版08

          這一個和第五個也是一樣的,左邊都是年、月、日、時的時間點,沒有時間段,第五個我們是采用豎排的方式,而這里我們改版后采用的是橫排的方式,突出顯示月、日,讓整體的層次更加清晰

          日期排版沒靈感?我總結了10套排版案例

          日期排版09

          下面這一組時間改版,我們主要采用錯位豎排的方式,像這樣的排版方式,我們可以多用于一些比較有設計感或者比較唯美的畫面中,顯得每一個小的點,都有用心設計,并且也符合這樣的氣質

          日期排版沒靈感?我總結了10套排版案例

          日期排版10

          這一組日期只有年、月、日。左右兩邊的排版看起來很相似,但是通過對細節的調整,例如2020的弱化,間距的把控,星期幾的友好提示,這樣就會使整個日期排版看起來更精細、耐看。

          日期排版沒靈感?我總結了10套排版案例

          案例實操

          我們通過對上面日期的排版分析和總結,會發現小小的日期排版也是很關鍵也很追重要的,所以下面我們將通過一張海報案例,來真正體現日期排版對整體畫面的重要性。

          海報主題是選擇的立秋,雖然立秋以及過去兩天了,但是我又學會了這個立秋新的排版技巧,所以我想將這一技巧分享出來,但是這里就不詳細講解海報的設計過程了,主要還是分享日期排版對整體畫面的影響作用

          這里就簡單的說一下海報設計的思路,海報主題是立秋,所以我現在一片黃色的楓葉作為畫面的主視覺,畫面整體體現秋天的感覺,一片黃燦燦的畫面,給人感覺就像是秋天到了,畫面元素簡約,只選擇了一片楓葉加上它的投影,體現空間感,主題文案排版在楓葉上,與楓葉融為一體,這樣用戶得分第一視覺就會被主圖吸引,同時看到主題相關文案,下面的其它文案通過從|秋|字垂落的豎線,分別右對齊以及左對齊,顯得畫面規整

          日期排版沒靈感?我總結了10套排版案例

          第一張海報的日期排版就是采用普通常規的排版方式,我們會發現這樣的日期排版方式,在整個畫面中會顯得有點僵硬,并且左右兩邊不對稱的關系,會顯得右邊偏輕,使畫面的平衡感缺失,也正是日期的排版太粗糙的原因,導致整張海報的精細度大減。

          日期排版沒靈感?我總結了10套排版案例

          樣機效果

          日期排版沒靈感?我總結了10套排版案例

          我們保持其它元素以及排版都一致,只改變日期的排版方式,我們就會發現右邊的海報整體給人的感覺更精美,平衡感更強烈,所以我們在做設計的時候不要忽略每一個點。將每一個點都細心的設計,這樣的作品才會更耐看。

          總結

          版式設計是我們設計中最基本的知識,我們在做設計的時候,通常會注意主題主圖的排版,而經常會忽略哪些不是很重要的信息,但是我們在分析文案信息的時候,也需要考慮整體設計的目的,有時候日期信息也是非常重要的信息,所以我們在做排版的時候,也需要認真考慮日期與整體需求的關系,并且日期排版風格也會影響整體的氣質。


          文章來源:優設    作者:設計小余

          藍藍設計www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務

          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://www.syprn.cn

          存檔

          亚洲va欧美va天堂v国产综合