5000字干貨!超詳細的保姆級間距設計規(guī)范
編者注:UI設計中的間距到底是什么,有什么作用,如何合理有效地使用?本文整理總結了五個方面,幫你掌握間距設計的方法。
前言
很多時候,我們發(fā)現(xiàn)自己精心設計的作品總是亂亂的感覺,究其根本,大部分都是文字、圖形、色彩處理不當,后續(xù)的優(yōu)化調整也都圍繞著這幾點進行,這也是為什么設計師在制定設計規(guī)范的時候,會把文字(標題、正文、提示的字號)、色彩(主色、輔助、點綴、漸變的使用場景)規(guī)范分的很細。然而,有時候即便用好了規(guī)范,依然沒達到理想的視覺效果,這里就要提到設計規(guī)范中很少有人關注、且非常容易被忽視的「間距」問題。
優(yōu)秀的界面設計應該體現(xiàn)在每個維度,間距在設計中也是不可缺少的部分,尤其是界面元素較為密集時,需要對間距的使用掌握得當,合理的利用間距留白,能將信息更高效的傳達給用戶。
文字、圖形、色彩是 UI 設計的三大組成元素,間距即是這幾種元素結合的媒介,如何通過間距給用戶帶來更舒適的視覺體驗是設計過程中極其重要的一環(huán),那么你所理解的間距到底是什么、有什么作用、如何合理有效的使用?筆者進行了整理總結,通過本篇文章揭曉。
一、間距在 UI 中的重要性
1. 什么是間距?
間距指的是界面各元素彼此相隔的距離,可以是文字自身的行距、與圖片、與組件、與模塊的間距,或是界面兩側的安全距離(如網頁的寬度為 1920px,內容區(qū)為 1400px,那么安全距離為兩側各 260px)等。
作為 UI 設計師,在設計界面的每一個元素都需要考慮到上、下、左、右以及毗鄰元素的屬性來合理調整間距,利用各間距之間的規(guī)律來組織界面內容,確保信息的節(jié)奏性,給用戶輕松、預約的瀏覽體驗。
2. 間距的實際作用
間距可以讓界面信息更有節(jié)奏,提升內容的可讀性,還能通過不同的疏密程度來闡述各元素之間的關系,以吸引用戶的注意力,所以在控制界面間距時,一定要有"較真"的心態(tài),任何一次的改動與調整都要先考慮清楚為什么,能給產品和用戶帶來什么。要做好間距,不能僅停留在視覺層面,需要進行多方面思考。
設計師層面:規(guī)范的定義間距,不必每個元素都去考慮間距的大小,有效減少決策和思考時間,提升效率。
開發(fā)層面:開發(fā)可以按照基礎間距去定義變量,長期如此,雖然不能煉成像素眼,但僅憑視覺也能看出間距的倍數。例如基礎間距以 8px 增量,在使用 8px、16px、24px、32px、48px…等,開發(fā)直接使用基礎間距 x1、x2、x3…,以此類推,在開發(fā)眼中,肉眼定然看不出 1px 的差別,但卻能區(qū)分出 8px 的差距,不必每次都去測量,還能減少誤差,高度還原設計效果。
用戶層面:有節(jié)奏且具備一致性美感的界面效果,信息的有效傳遞變的輕松,用戶體驗能得到很大程度的提升。
3. 間距的統(tǒng)一性
設計規(guī)范的目的是提升設計師的工作效率、團隊之間的高效溝通、讓設計風格始終保持高度統(tǒng)一。同理,間距也是設計規(guī)范中非常重要的一環(huán),它作為規(guī)范中的最小單元,如果沒有遵循統(tǒng)一,將會直接影響界面整體的版式和布局,信息的疏密程度嚴重影響用戶的瀏覽。不僅是設計師,開發(fā)每次面對同樣的模塊都需要定義不同的間距也是崩潰的,毫無規(guī)律可循。
統(tǒng)一的間距能讓界面的視覺效果更有節(jié)奏,設計師在設計某些相似的模塊時可直接復用組件,即便是多人共同完成同個項目或更換成員,也不會因間距不統(tǒng)一的問題造成整個 APP 的風格混亂。
對開發(fā)來說,如果清楚間距的使用規(guī)律,即便有小的誤差,也能自行更正,例如使用 8px 增量,8、16、24…按倍數規(guī)律以此類推,若出現(xiàn) 9 的間距,開發(fā)會更正為 8、15 則會更正為 16,自行多退少補,雖然設計師需要細心、盡量不出現(xiàn)這種小的出入,但任何事情都沒法做到絕對,統(tǒng)一的間距能讓減少設計的出入以及與設計師之間的頻繁溝通,能進一步提高開發(fā)效率。
從上圖可以看出,間距不規(guī)范、信息就像一鍋粥,而規(guī)范的使用間距就能將信息自動分組。
二、定義文字間距
文字是 UI 設計中非常重要的信息元素,雖然大多數設計師對文字的屬性比較了解,但在真實設計中總會因其他信息的干擾不能合理運用,與上線后的視覺效果預期相差甚大。文字的各種間距處理看似簡單,但實際上有很多因素要考慮,例如字間距、行高、段落等,下面帶大家一起了解。
1. 字符間距
字符間距一般都是設計工具的默認數值,無需調整。當碰到多行文字需要避開頭尾的標點符號時,使用工具中的避頭尾功能即可自動調整字間距,如無此功能,則需手動調整,這里并沒有所謂的技巧與方法,頭尾避開標點符號即可。
另外,在設計卡片、瓷片區(qū)的標題時,有時需要通過調整字符間距來提升界面的舒適度,間距數值自行定義,但相同層級的內容標題字間距一定要保持一致。
2. 文字行高
行高是指上邊框+下邊框+字號的高度之和,這里主要針對多行文本。在平面設計中,行高沒有一定的標準,如無特別需要,使用系統(tǒng)默認的行高即可。
在 UI 設計中,文字會有 5~6 個不同的等級,為便于用戶閱讀,一般會設定行高標準,尤其是新聞資訊類型的應用本身就以文字內容為主,不同的行高對文字的易讀性會產生較大的影響。
文字行高一般會設定為字號的 1.2~1.5 倍,具體值跟字號有很大關系,文字越小,行高就越大。例如,我們可以設定字號 32px 為中間值(非絕對),小于或等于 32 的字體、行高為字號的 1.5 倍,大于 32 的為 1.2 倍。另外,也可以直接將所有行高固定在字號的 1.5 倍,不難發(fā)現(xiàn),字體越大其折行的概率就越低,試想一下,如果將 48px 的文字折成幾行,界面還能剩下多少空間?
3. 文字段落
文本段落間距的重要性在移動 UI 界面中并不明顯,更多體現(xiàn)在網頁設計中。需要著重糾正一點的是,部分設計師在設置段間距時習慣性的多敲一次回車鍵,這種方式并不可取,會造成間距過大、內容脫節(jié)。
如有需要,一定要手動設置段間距,這里沒有固定的數值和規(guī)律,視覺舒適即可。筆者習慣將段間距設定為字號的 0.5 倍,例如字號為 30、段間距為 15,字號為 40、段間距為 20,僅供參考。
三、定義元素/組件間距
定義間距其實并沒有一個絕對的標準,主要取決于最小單位,例如 4px、5px、6px、8px 都是可以的,到底使用哪個數值還得根據產品自身定位及內容組織形式,前提是所有間距都要遵循最小單位并基于倍數形成規(guī)律。
在設計界面時,需要利用間距來建立信息層級、提升瀏覽體驗以及表達各元素之間的關系,這就是為什么當我們打開新聞資訊、電商類應用會發(fā)現(xiàn)信息非常緊湊,而打開工具、社交類應用時感覺信息比較寬松。間距的基數越小、頁面就越細碎;基數越大、頁面的留白就越多,使用不同的基數,呈現(xiàn)出來的視覺效果也形態(tài)各異。
筆者在工作中通常以 8px 作為基數,以此衍生出 8、16、24、32、48、64 這 6 個間距數值,完全能夠滿足絕大多數的使用場景。當然,針對信息較少的頁面也會使用到 120、160、200…其他間距數值,例如缺省頁、登錄頁面等。不難看出,上述以 8px 為基數定義間距數值時,沒有 40、56 這兩個數值,難道他們不是 8 的倍數嗎?我們以 8 和 16 做對比,后者是前者的 2 倍,其間距的變化尤為明顯;但如果用 56 和 64 做對比,后者是前者的 1.14 倍,其間距的差別微乎其微。敲重點,設計師在定義間距時,需要遵循倍數規(guī)則,但同時也要為考慮界面美觀及用戶的瀏覽體驗而跳出呆板的規(guī)則,當間距數值越大時,根據基數所跳躍的倍數就越大,其實設定字號也是相同的邏輯(后期詳解)。
四、定義模塊間距
從信息層級角度來看,等級權重越高、間距就越大,在現(xiàn)實世界中也是如此,一個物體周圍的空間越大,就越容易吸引人們的注意力。
模塊間距分為塊內間距(同一模塊中不同元素或信息組之間的距離)和塊外間距(同一個頁面中不同模塊的之間的距離),為了更好的區(qū)分信息層級,塊外間距一定會大于塊內間距,也能保持塊內信息的親密性。
如下圖所示,將裝修序列步驟、官方攻略、常用服務等看作不同的信息模塊,每個模塊內元素的間距都會比各模塊之間的間距小很多。
五、間距的使用技巧及原則
1. 接近性原則
需要通過各元素的間距來體現(xiàn)出信息的關聯(lián)性,格式塔原理中的"接近性"原則告訴我們,相互靠近的物體被認為比相互距離較遠的物體更有關聯(lián)性,因此,相關聯(lián)的元素之間靠的越近,用戶越能感知到信息的關聯(lián),同時更能了解整個界面中各模塊信息的邏輯關系。
2. 利用留白強調
很多時候,想讓一個元素變的突出,可以用加大字號、修改色值或后加粗等方式進行強調,但這并不是突出信息的唯一方式,當所有元素都變的突出,那就等于什么都不突出了。如果想讓界面中的元素不同程度的突出,留白也是一種強調信息的方式,它能引導用戶將注意力集中在特定的內容上。
3. 使用柵格系統(tǒng)
善用柵格系統(tǒng)(上述有詳細說明),通過最小間距值進行遞增,讓整個界面看起來更協(xié)調。柵格系統(tǒng)可以讓設計師在元素的親疏關系上更快作出決策,后續(xù)不管是迭代還是更換設計成員,都能保持統(tǒng)計的間距規(guī)范。
4. 文字行高規(guī)則
這個問題在很多團隊中都是硬傷,甚至在設計驗收時還被直接忽略。在主流 UI 設計工具中,添加文本元素時,都會有默認行高,在前面的內容中有講過多行文本的行高為字號的 1.2~1.5 倍,那么單行文字的行高到底是需要手動設置還是遵循默認,筆者認為都是可以的,但一定要與開發(fā)保持一致。
行高決定著文字邊緣與定界框的間距,而開發(fā)只能看到定界框與其他元素的間距。
① 默認行高
默認行高值會隨著字號的變化基于一定的倍數自動增減,需要將此規(guī)律或倍數告知開發(fā),開發(fā)將此規(guī)則植入代碼方能最大化還原設計效果。另外在設計界面時,尤其是多組文字元素的上下間距,需要通過計算(文字邊緣到定界框的間距+文字元素間距=實際間距)或手動測量才能達到精準狀態(tài),下圖為例:
② 手動設置行高
手動設置即字號是多少、就將行高設置為多少,確保文字邊緣緊貼定界框,在設計過程中調整間距時,無需計算,根據設計工具的智能提示調整即可。
5. 間距值數量設定
在同一 APP 應用中,根據最小基數定義的間隔值數量不易過多,一般在 6 個左右就能滿足絕大多數的設計場景。例如以 8px 的基數為 8、16、24、32、48、64 等,以 5px 的基數為 5、10、15、25、40、60 等。數量過多會導致界面不同元素、模塊的間距差異化不夠明顯,數量太少無法滿足多元素、模塊使用場景,也會導致間距跨度較大。
6. 明顯相鄰間距值
設定間距值需遵循一個原則"數值越大、遞增的倍數就越大"。當相鄰間距值的差異化較小時,用戶很難感知到界面中信息之間的邏輯關系,我們需要根據柵格系統(tǒng)中間距值的增大、設置更大的區(qū)間值,讓相鄰間距值之間的視覺差異更加明顯。
7. 跳出間距的束縛
當界面中的信息較為密集、間距不足以滿足信息的突出程度時,需跳出純粹的間距規(guī)范束縛,換種方式或許更好。例如:給元素添加背景讓其聚焦、使用分隔線/色塊間隔、調整元素大小等,需知「此消彼長」的道理。
六、結語
如果在處理界面信息層級時,改來改去還是覺得很亂,不防從間距角度出發(fā),或許會有不一樣的收獲。雖然在剛開始的時候,規(guī)范間距帶來的效果甚微,但隨著團隊規(guī)模不斷擴大、界面數量越來越多、內容越來越復雜時就會發(fā)現(xiàn),所有內容統(tǒng)一間距規(guī)范,不管是構建一致性界面視覺效果、還是對開發(fā)和設計師來說,既能提升用戶體驗、還能提高團隊的工作效率。
間距是否規(guī)范使用,決定著界面是否規(guī)整、信息傳達是否清晰,即便如此,間距也只是解決信息層級方式的其中之一,切不可讓其限制設計師的發(fā)揮和思考空間。制定設計規(guī)范有助于項目的高效運轉,間距也好、色彩也罷,設計師依然需要從實際用戶場景出發(fā),通過不斷的思考和經驗總結,打磨出更合理、更符合項目需求的設計規(guī)范。
作者:能量眼球
想了解更多網站技術的內容,請訪問:網站技術