UI設計必須要具備的前端知識
時間:2020-11-26來源:5wd995.cn點擊量:次作者:Gella
時間:2020-11-26點擊量:次作者:Gella
UI設計師和前端通常是一個是藝術出身,一個是技術出身。卻因為工作不得不經常面對面坐在一起,為各種問題糾纏不清。
前端總覺得設計太過理想主義,稿子里很多構想根本不完整,還以各種理由給自己找麻煩。設計總覺得前端各種找理由偷懶,開發(fā)出的界面明明和設計稿相差十萬八千里,就自以為完事大吉了。
今天AAA教育金老師就為廣大設計師們寫一篇比較好懂的科普,以促進雙方在日常工作中更加高效友善地合作。
界面尺寸如何把控?
我們從外至內來看一個界面區(qū)域(手機屏幕/電腦窗口)的尺寸有兩個變量:寬度和高度。
前端搭建界面時,通常只會規(guī)定橫向尺寸。也就是說寬度是自變量,高度是因變量。因為用戶的屏幕/窗口尺寸是無法預期的,哪怕都是手機,型號也多到數不清。要讓一款產品能夠在所有型號的硬件上展示,前端開發(fā)時不可能設置一個固定的界面尺寸。
你可以把界面想象成一個倒置的俄羅斯方塊盒子,在固定的寬度下,長度可以近乎無限延展。
然而UI設計是都是以一個固定的界面寬度為基礎的,因為這樣設計師就不需要為同一個方案畫很多不同尺寸的方案。也就是說在理解界面構成時,前端的是基于動態(tài)寬度,而UI則是基于靜態(tài)寬度,這直接導致了雙方在基礎概念上的不對等。
這就是為什么設計還原的問題總是難以解決。UI追求的是在標準寬度下,界面能夠100%還原;而前端費解的是,既然用戶的屏幕尺寸根本無法確定,糾結某一特定寬度下是否精確符合設計稿是否有意義?
布局如何跟隨界面尺寸而變化?
那么當容器寬度發(fā)生變化時,界面內部首當其沖收到影響的就是布局。
印刷品的頁面布局通常有左右分欄和上下分欄兩種。
而界面布局反倒更加簡單,通常只需要考慮左右分欄即可。這是因為界面在固定寬度下縱向延展,縱向高度有內部元素的填充情況來決定。
界面尺寸變化時,分欄如何變化?通常有兩種方式:定寬和定比。
定寬常用于PC端。固定一欄的絕對寬度,另外一欄根據容器自由伸縮;或者固定元素的寬度,根據容器尺寸來確定列數。
定比常用于手機端。固定幾個分欄的所占比例,根據容器寬度自由伸縮。
對于前端來說,通常定寬比定比要簡單得多,所以如果UI不給出明確要求,前端很有可能一律按定寬處理。
圖片元素
前面一直在說,界面高度由固定寬度容器內,擺放下的元素來確定,那么這里就說一下元素是如何擺放的,從圖片開始。
如果是較小的圖片,例如LOGO、按鈕或箭頭,通常是給一個固定尺寸,以左對齊/居中/右對齊的方式擺放在容器中。
如果是較大的圖片,例如BANNER、文章插圖或背景,通常是給一個固定的比例,例如100%或50%,同樣以左對齊/居中/右對齊的方式擺放在容器中。
第一種方式插入的圖片所占用的高度是固定的,而第二種方式所占用的高度是根據容器寬度而等比變化的(如果是背景圖,當然就不會影響到界面高度了)。
這就是為什么有的UI用非主流尺寸做設計,把切圖給開發(fā)后,在自己電腦上看效果發(fā)現相差很遠。界面尺寸發(fā)生變化后,圖片看起來難免會有很大不同。
文字元素
界面里的元素除了圖片之外,其實大量都是文字。
文字的尺寸和行高一般是固定的,并不會隨著容器尺寸而變化。例如你用不同屏幕的設備打開一篇文章,你會發(fā)現每行字數都是不同的。
當然如果非要技術處理,也可以做到根據容器寬度確定文字尺寸,以求每行字數保持不變。但是這種處理非常麻煩,一般很少用到。
這就是為什么,UI在標準尺寸屏幕上勉強留夠了文字空間,而在用戶的小屏設備上展示時,卻排不下幾個字。從前端的角度看,文字尺寸的靈活性,沒有圖片那么強。
內邊距與外邊距
前端開發(fā)時,任何元素或模塊都可以有一個內邊距和外邊距。內邊距用于分割模塊里內容與模塊邊緣的距離;外邊距用于分割模塊與模塊之間的距離。
當元素/模塊重復出現時,其內邊距和外邊距可以作為固定屬性重復出現,這樣就避免了代碼冗余。
然而,有的設計稿在內外邊距上比較隨便,這可能導致前端開發(fā)同學犯強迫癥,例如以下幾種情況。
不同頁面的邊距不一樣:
同一級模塊的邊距不同:
有的特殊元素偏偏要突破原本定好的邊距:
當然有時候為了視覺效果,我們必須要做一些特殊處理,增加額外的開發(fā)工作量無可避免。
然而如果邊距不統(tǒng)一只是因為設計時沒有太在意,這就有可能給前端開發(fā)造成無意義的維護成本了。
如果設計按照模塊而不是按照頁面來提供方案,前端可能更加高興的,因為他們不用去猜哪些地方可以復用代碼了,哪些地方又必須單獨寫了。
總結
上面說的都是一些非常基礎的前端原理,很多前端以為UI應該理解,但其實很多情況下都無法理解。不論是前端還是設計,希望看了這篇文章后,能夠對雙方有更多的理解。