2020-1-29 ui設(shè)計分享達(dá)人
左右布局響應(yīng)策略動態(tài)演示。考慮到gif被壓縮后效果不理想,所以做了一小段視頻來幫助大家更好的理解響應(yīng)策略。視頻如果看著不清晰,選擇清晰度為1080p藍(lán)光觀看即可
一、什么是響應(yīng)式?
按照本人自己的理解,響應(yīng)式就是通過合理的設(shè)計方案配合規(guī)范的技術(shù)實現(xiàn)策略,使同一個Web頁面在各個終端(設(shè)備)不同分辨率屏幕上都能有最佳的用戶體驗。
這里說是用戶體驗而不是視覺效果是因為用戶體驗包含了性能、交互、效率等多方面內(nèi)容,也就是說,對于一個線上的響應(yīng)式頁面,我們不僅要關(guān)注視覺上看到的,也要關(guān)注我們操作、使用時的感受,這些綜合因素最終影響著用戶使用后臺系統(tǒng)時的效率與體驗。而這里我提到的“合理的設(shè)計方案”就是本篇文章跟大家分享的重點(diǎn):如何利用柵格系統(tǒng)完成后臺頁面的響應(yīng)式設(shè)計。對于交互與性能方面內(nèi)容,本篇文章不做介紹,因為兩者涉及到我不太了解的技術(shù)相關(guān)知識。我提出這個觀點(diǎn)主要希望大家在執(zhí)行設(shè)計時,能有更全局的考慮,多跟交互與開發(fā)溝通,協(xié)力打造更好的用戶體驗
三、響應(yīng)式的目的是什么?
后臺系統(tǒng)做響應(yīng)式設(shè)計的目的:提高屏幕利用率,最大化操作效率
1、提高屏幕利用率最簡單的理解就是在大屏幕上顯示更多內(nèi)容,在小屏幕上通過數(shù)據(jù)篩選展示關(guān)鍵信息。一直以來大家普遍認(rèn)為移動端碎片化嚴(yán)重,但實際上桌面端設(shè)備的分辨率也是有著不太均勻的分布,而隨著新設(shè)備的更新,更多高分辨率屏幕不斷加入,這種碎片化的趨勢會更加明顯,因而要想利用好每一塊屏幕,讓不同分辨率的用戶都有好的體驗,顯然傳統(tǒng)固定的布局是做不到了。
2、后臺系統(tǒng)的應(yīng)用特性,決定了響應(yīng)式在后臺設(shè)計中具有很高的實用價值。后臺系統(tǒng)有兩大主要功能:查看與操作。查看主要是各種數(shù)據(jù),是系統(tǒng)自動生成的內(nèi)容;操作是需人工干預(yù)、人工決策的任務(wù),查看的數(shù)據(jù)為操作提供了依據(jù),而操作支撐了公司或部門業(yè)務(wù)的正常運(yùn)行。所以后臺系統(tǒng)設(shè)計最基礎(chǔ)的目標(biāo)之一是如何通過良好的數(shù)據(jù)展示幫助用戶提高操作、決策效率,而充足的展示空間顯然是實現(xiàn)這一目標(biāo)的基礎(chǔ),響應(yīng)式設(shè)計通過為每個分辨率設(shè)定合理的版式布局,使數(shù)據(jù)在每塊屏幕上都盡可能展示的最佳。優(yōu)化后的數(shù)據(jù)展示,幫助用戶更獲取信息,從而提高了用戶使用后臺系統(tǒng)的效率與體驗。
四、為何要利用柵格系統(tǒng)來進(jìn)行響應(yīng)式設(shè)計
響應(yīng)式可以響應(yīng)的前提有兩點(diǎn):1、頁面布局具有規(guī)律性、2、元素寬高可用百分比代替固定數(shù)值,而這兩點(diǎn)正是柵格系統(tǒng)本身就具有的典型特點(diǎn),所以利用柵格系統(tǒng)進(jìn)行響應(yīng)式的設(shè)計是順理成章的,也比較快捷,所以響應(yīng)式與柵格化天生一對好搭檔
柵格系統(tǒng)頁面布局具有規(guī)律性、元素寬高可用百分比表示
五、利用柵格系統(tǒng)完成后臺頁面響應(yīng)式設(shè)計的步驟
1、確立設(shè)計稿基準(zhǔn)尺寸
設(shè)計稿基準(zhǔn)尺寸是指我們從哪一個分辨率開始設(shè)計,也就是我們新建畫板時畫板的尺寸應(yīng)該是多大。而這個尺寸確定的主要依據(jù)是我們后臺系統(tǒng)所面向的主要用戶的屏幕分辨率;我們分兩大類情況來討論這個問題。
(1)、如果我們的系統(tǒng)是給公司內(nèi)部員工使用,由于公司批量采購設(shè)備的原因,公司內(nèi)部員工的屏幕分辨率往往會比較統(tǒng)一,這種情況下我們需要拿到這個數(shù)據(jù),然后以它作為基準(zhǔn)尺寸開始設(shè)計。因為雖然響應(yīng)式設(shè)計的目標(biāo)是讓頁面在每個分辨率下都有最佳的體驗,但實際開發(fā)中畢竟存在損壞,設(shè)計還原很難100%,因而大多數(shù)情況下還是基于基準(zhǔn)尺寸的設(shè)計與開發(fā),在用戶端顯示效果最佳、體驗最好
。
(2)、如果我們的系統(tǒng)是平臺級面向全網(wǎng)用戶,或者雖然是公司內(nèi)部使用,但是并不能統(tǒng)計到內(nèi)部員工屏幕分辨率情況,就可以以1440*900作為基準(zhǔn)尺寸開始設(shè)計。從統(tǒng)計數(shù)據(jù)來看,目前國內(nèi)PC端用戶屏幕分辨率排名前三的分別是1920*1080、1366*768、1400*900;1440的尺寸實際上是處于中間位置,如果以它為基準(zhǔn)設(shè)計,最終向上向下響應(yīng)適配后,相對誤差最小,從而達(dá)成用戶體驗的最大公約數(shù)。
2、確定頁面布局結(jié)構(gòu)
頁面的布局結(jié)構(gòu),是頁面基本框架,后續(xù)的設(shè)計都是在這個大的框架下完成的,所以確定頁面基準(zhǔn)設(shè)計尺寸后,需要跟交互設(shè)計師或產(chǎn)品經(jīng)理配合,根據(jù)實際業(yè)務(wù)情況討論確定頁面布局結(jié)構(gòu)。一般來講,后臺系統(tǒng)有兩種最典型的頁面布局結(jié)構(gòu):左右布局與上下布局(這兩種布局是最典型也是最基礎(chǔ)的布局形式,其余布局,下期內(nèi)容講)
上下布局
上下布局的結(jié)構(gòu)在傳統(tǒng)網(wǎng)頁中非常常見,而在后臺系統(tǒng)中并不常用。這種布局的優(yōu)點(diǎn)是符合用戶認(rèn)知,遵循用戶從上而下瀏覽頁面獲取信息的習(xí)慣;貫穿全屏的導(dǎo)航欄設(shè)計也使頁面顯得正式穩(wěn)重,除卻導(dǎo)航欄之后相對較大的空間也為內(nèi)容展示提供了比較充足的空間。缺點(diǎn)是頂部一級導(dǎo)航受頁面寬度限制,數(shù)量會比較局限,同時導(dǎo)航層級較深時,交互效率也不夠理想。所以該布局適合那些導(dǎo)航層級較少,內(nèi)容展示充分的后臺系統(tǒng)設(shè)計
左右布局
擁有側(cè)邊導(dǎo)航的左右布局頁面結(jié)構(gòu),是在后臺系統(tǒng)中更常見的頁面布局形式。側(cè)邊導(dǎo)航欄可以固定也可以收起,相對比較靈活,同時文字橫向排列的形式可以在豎向上展示更多內(nèi)容,因此側(cè)邊導(dǎo)航比頂部導(dǎo)航能容納更多一級內(nèi)容,而層疊式的內(nèi)容展示也使得一、二、三級導(dǎo)航內(nèi)容關(guān)聯(lián)更為順暢,可擴(kuò)展性也得到加強(qiáng);由于側(cè)邊欄可以常駐在頁面左側(cè),所以對于右側(cè)內(nèi)容的指示性也優(yōu)于頂部導(dǎo)航,切換起來也更加方便。但同時,因為側(cè)邊欄的常駐,導(dǎo)致右側(cè)內(nèi)容區(qū)域空間被擠掉部分,所以相對上下布局的結(jié)構(gòu),左右布局的結(jié)構(gòu),內(nèi)容區(qū)域空間會比較小;一般為了與頁面其它區(qū)域做區(qū)分,導(dǎo)航部分會用更深的顏色、安排更多的圖標(biāo)和文字,這也導(dǎo)致了在視覺上左右布局的頁面不夠平衡,會有左邊重右邊輕的感覺。
3、對內(nèi)容區(qū)域建立柵格系統(tǒng)
根據(jù)不同的布局類型,對頁面內(nèi)容區(qū)域建立柵格系統(tǒng)。對于一個利用柵格系統(tǒng)做響應(yīng)式設(shè)計的頁面來講,主要有三大數(shù)值需要規(guī)范:Column、Gutter、Margin;對于Column、Gutter我們在上一期內(nèi)容中已經(jīng)有很詳細(xì)的介紹,不再贅述,而Margin是頁邊距,主要確定了內(nèi)容區(qū)域距離頁面邊緣的距離,它分布在內(nèi)容區(qū)域的兩側(cè),主要作用是通過留白把內(nèi)容區(qū)域與周圍環(huán)境隔離出來,從而突出內(nèi)容區(qū)域的顯示,此外還可通過Margin值來調(diào)整內(nèi)容區(qū)域顯示比例,使頁面在視覺上有更好的呈現(xiàn)效果。所以一個用于響應(yīng)式的柵格系統(tǒng)事實上由Columns、Gutters、Margins三部分組成。
上下布局結(jié)構(gòu)與其對應(yīng)的柵格系統(tǒng)
左右布局結(jié)構(gòu)與其對應(yīng)的柵格系統(tǒng)
4、根據(jù)實際業(yè)務(wù)內(nèi)容確定盒子(Box)比例
上下布局結(jié)構(gòu)的盒子
左右布局結(jié)構(gòu)的盒子
5、確定響應(yīng)策略
響應(yīng)策略就是當(dāng)視窗(Viewport)發(fā)生變化時,內(nèi)容區(qū)域的元素如何去響應(yīng),具體到我們當(dāng)前的柵格系統(tǒng),就是Columns、Gutters、Margins以及由Columns跟Gutter組成的盒子(BOX)四者的值(主要是寬度)如何變化,以及在這種變化之下我們頁面的布局如何調(diào)整。
為了方便直觀的向開發(fā)工程師與團(tuán)隊里的其它小伙伴溝通,我們可以把這個響應(yīng)策略制作成如下的表格,并在頁面中標(biāo)注說明相關(guān)元素的變化規(guī)律,供自己與開發(fā)參考。
由于帶左側(cè)導(dǎo)航的響應(yīng)式規(guī)則相對復(fù)雜,所以我先以它為例跟大家交流下響應(yīng)策略如何制定
左右布局響應(yīng)策略表
如圖,響應(yīng)式是以視窗的最小寬度作為基本依據(jù)來制定每種寬度下Columns、Gutters、與Margins的響應(yīng)策略,也就是說Viewport Min-width是做出響應(yīng)的觸發(fā)條件,視窗每達(dá)到一個最小寬度,就會觸發(fā)該寬度下預(yù)設(shè)的頁面布局方式,而每種布局都是在該寬度下的最佳布局,也是因此,響應(yīng)式才會在各種復(fù)雜分辨率條件下都能給用戶比較好的體驗。
每個視窗寬度的最小值是觸發(fā)響應(yīng)的關(guān)鍵值,因此我們給這些用于觸發(fā)的關(guān)鍵值起了個名字叫“Breakpoint”,每個Breakpoint觸發(fā)一種響應(yīng)策略,而每個策略持續(xù)(保持)的寬度范圍就是圖中綠色矩形的范圍。以圖中第二行矩形為例,該矩形代表的響應(yīng)策略是:欄目數(shù)是8、水槽寬度16(SM)、頁邊距32、側(cè)邊欄收起且僅展示圖標(biāo),當(dāng)點(diǎn)擊側(cè)邊欄展開圖標(biāo)時側(cè)邊欄以Push的方式展開,該策略觸發(fā)的Breakpoint是768,保持范圍是577~768。也就是當(dāng)視窗寬度縮放至768時,欄目數(shù)量由上一級的12變?yōu)?,水槽寬度由24變?yōu)?6,側(cè)邊導(dǎo)航由完全展開狀態(tài)自動收起文字部分,僅保留圖標(biāo),然后保持這些關(guān)鍵數(shù)值不變,直到視窗寬度達(dá)到另一個Breakpoint。需要特殊說明的是,第一行矩形中0~576(Min&Fixed)這個范圍的視窗寬度是固定的,也就是在該套響應(yīng)策略中,頁面最小響應(yīng)到576的頁面寬度,當(dāng)視窗到達(dá)這個寬度時,瀏覽器會限制視窗進(jìn)一步縮小,因為當(dāng)頁面寬度比它還小時已經(jīng)無法有效展示數(shù)據(jù)了,所以進(jìn)一步的縮放是毫無意義的。
左右布局響應(yīng)策略動態(tài)演示
考慮到gif被壓縮后顯示效果不理想,所以我做了一小段視頻來幫助大家更好的理解上述響應(yīng)策略在實際頁面中如何發(fā)揮作用。視頻如果看著不清晰,選擇清晰度為1080p藍(lán)光觀看即可
左右布局響應(yīng)策略標(biāo)注
對于上下布局的后臺系統(tǒng)我們根據(jù)內(nèi)容區(qū)域(Container)寬度定義的不同方式,可以把它們分為兩類:
1、內(nèi)容區(qū)域定寬的后臺系統(tǒng)( Fixed-width Container )
內(nèi)容區(qū)域定寬是指內(nèi)容區(qū)域在每一組視窗寬度區(qū)間內(nèi),都會設(shè)定一個最大值(Max-with),當(dāng)內(nèi)容區(qū)域?qū)挾刃∮谧畲笾禃r,區(qū)域內(nèi)元素會響應(yīng)視窗的變化;達(dá)到最大值后,內(nèi)容區(qū)域不再響應(yīng)視窗的變化,而是寬度保持該最大寬度值不變,此時我們通過增加頁面兩側(cè)的margin值來響應(yīng)視窗的變化。Flex Margin就是應(yīng)對此情況的動態(tài)頁邊距。
上下布局響應(yīng)策略表(內(nèi)容區(qū)域定寬( Fixed-width Container ))
2、內(nèi)容區(qū)域?qū)挾攘魇?nbsp;(fluid-width Container)
內(nèi)容區(qū)域?qū)挾攘魇?nbsp;(fluid-width Container) 的后臺系統(tǒng),它的內(nèi)容區(qū)域 (Container) 距離頁面兩側(cè)的頁邊距Margin是定值,因此視窗有多大內(nèi)容區(qū)域就展示多大。
Q&A
1、后臺系統(tǒng)必須做成響應(yīng)式么?
并不是必須的,是否要做響應(yīng)式主要是根據(jù)后臺產(chǎn)品面向的用戶來定的。如果是公司內(nèi)部使用的系統(tǒng),且員工配備的桌面設(shè)備都是有統(tǒng)一的分辨率,就可以不做響應(yīng)式;如果是面向全網(wǎng)用戶的后臺產(chǎn)品(比如淘寶商家的后臺管理系統(tǒng),阿里云的控制臺)或公司(部門)內(nèi)部的桌面設(shè)備并沒有統(tǒng)一的分辨率規(guī)格,那么就需要做成響應(yīng)式。當(dāng)然了,更實際的環(huán)境中是否做響應(yīng)式還有技術(shù)實現(xiàn)、時間、人員成本等各方面因素的考慮,有時為了盡快的讓業(yè)務(wù)運(yùn)營起來,后臺系統(tǒng)會做的比較“簡陋”
2、為什么柵格系統(tǒng)沒有適配到移動端的分享?
因為后臺管理系統(tǒng)的使用場景主要是工作時間在桌面設(shè)備上使用,由于龐雜的數(shù)據(jù)內(nèi)容在移動設(shè)備上展示困難、操作不便,因而很少有公司會把后臺系統(tǒng)響應(yīng)到移動端使用,所以我們今天說的后臺響應(yīng)式僅針對桌面設(shè)備屏幕。
3、對于iMac4k、5K這類超高分辨率的屏幕如何做響應(yīng)式設(shè)計?
對于左右布局的后臺系統(tǒng),實際上它是全屏展示的,也就是屏幕有多大就展示多大,因而iMac的響應(yīng)策略也是按照左右布局響應(yīng)策略表里的策略來響應(yīng)對于上下布局,內(nèi)容區(qū)域定寬的后臺系統(tǒng),iMac的響應(yīng)策略使用上下布局響應(yīng)策略表里的策略來響應(yīng)即可;
對于內(nèi)容區(qū)域?qū)挾攘魇降暮笈_系統(tǒng),iMac的響應(yīng)策略可以參考左右布局的響應(yīng)策略表來處理欄目、水槽的變化,頁邊距保持定值即可。
4、在以8為原子單位的柵格中,Margin需要按8n的規(guī)律變化么?
能以8n的規(guī)律變化是最好的,如果無法做到也可以使用其它數(shù)值。Margin是頁邊距,主要作用是通過留白的方式將頁面內(nèi)容區(qū)域與周圍環(huán)境隔離區(qū)分出來,從而突出內(nèi)容;一般我們會優(yōu)先考慮內(nèi)容區(qū)域匹配8n的變化規(guī)律,安排完內(nèi)容區(qū)域后剩余的空間自然成為頁邊距(margin)
5、響應(yīng)策略制定的時機(jī)是什么?如何去制定?文中示例的策略表我可以借鑒套用么?
響應(yīng)策略表一般是在主要頁面設(shè)計完成,要交付開發(fā)實現(xiàn)的時候來跟開發(fā)一起商定。這塊需要注意兩點(diǎn):
1、如果開始設(shè)計時就已確定頁面是要具備響應(yīng)式的能力,那么最好開始設(shè)計時就去跟開發(fā)溝通,看他們現(xiàn)有技術(shù)是如何來做響應(yīng)式的,因為他們很有可能是在用Bootstrap、Foundation這類組件庫來做開發(fā),而這些組件庫一般都有自己現(xiàn)成的響應(yīng)規(guī)則,這種情況下我們需要了解開發(fā)他們的規(guī)則,讓自己的設(shè)計匹配已有的策略。當(dāng)然了,如果他們的規(guī)則并不能很好滿足我們的業(yè)務(wù)需要,一般也是可以在這些組件的基礎(chǔ)上讓開發(fā)去修改調(diào)整的。
2、響應(yīng)策略表只是對響應(yīng)方式的結(jié)果的呈現(xiàn),而這個策略的制定事實上是從設(shè)計開始執(zhí)行時就要去考慮的,從我個人經(jīng)驗來講,我一般會挑兩類頁面來做響應(yīng)策略的研究與適配,一個是控制臺(Dashboard)頁面,另一個是表單(Form)頁面。優(yōu)先規(guī)劃這兩個頁面的設(shè)計,考慮他們在各個Viewport下如何布局如何展示如何縮放變化,并且跟開發(fā)溝通想法,聽取意見,制定初步的響應(yīng)計劃,當(dāng)這兩個頁面設(shè)計完成,就可以更大范圍的執(zhí)行設(shè)計。
3、文中示例的策略表是基于我自己項目經(jīng)驗總結(jié)而來,具有實際應(yīng)用價值,可以借鑒。但我更想做的是通過那個表希望跟大家分享一種與開發(fā)交流、溝通的方法和技巧。實際工作中我們并非一定要做出那么一個經(jīng)過精心設(shè)計細(xì)致考慮的表,我們可能會找張紙畫一畫給開發(fā)看就可以了,這塊的重點(diǎn)是如何把我們設(shè)計師的想法更可視化更直觀準(zhǔn)確的傳達(dá)給開發(fā)工程師。所以那張表是啟發(fā)而非標(biāo)準(zhǔn)。
控制臺(Dashboard)頁面示例(素材圖片作者:Coderthemes)
表單(Form)頁面示例
轉(zhuǎn)自UI中國-BYMD
藍(lán)藍(lán)設(shè)計的小編 http://tweetduck.com