首页
/
每日頭條
/
生活
/
ui需要對字間距進行設置嗎
ui需要對字間距進行設置嗎
更新时间:2024-12-27 11:30:48

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)1

一、文字與間距

文字是UI設計中最重要的信息傳遞元素,文字的排版看似容易其實并不簡單,因為文字的屬性衆多,比如字号、字間距、行高、段落等等。

很多設計師對文字屬性很了解,也能夠合理運用,但總會卡在開發環節,花費很長時間驗收,最終還是得不到理想效果。

下面我們從根上去認識文字,對文字中能夠影響排版間距的屬性,一一解析,并且了解開發邏輯,正确與他們對接。

1. 文字-行高

字體設計師,為了能滿足文字行間距的合理展示,通常會給字體設定一定的行高。

行高就是在設計軟件中選中文字後,上下外邊框高度,字體的行高沒有标準,不同的字體一般默認行高也不一樣。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)2

也就是因為字體的行高,讓UI設計師對文字與其他元素的間距設定,有不同的見解。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)3

上圖都是30px的間距,但因為字體行高不同,A、B兩個方案的實際視覺間距不同。

認同A方案合理的設計師,理由是文字最好設置一定的行高,不然折行時視覺上沒有行間距,很擁擠,不得不再設置行高,最終30px的間距還是有間隙。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)4

認同B方案的設計師,理由是UI設計本身對幾個像素的差距就很敏感,視覺上做不到統一,就是不合理。

兩者的表述都對,但也确實都有一定的弊端,下面給大家介紹兩個解決方案。

可以确定的是,為了滿足文字折行後的閱讀性體驗,最好帶有一定的行高,這樣也會利于與開發對接。

第一種:

首先說一下UI設計中,間距設定的一個理念,間距設定一般要設定一個最小栅格基數,如4、5、6、8為間距設定的起始數值。

然後頁面中,接下來所有的間距設定,都得是這個數值的倍數。(這點後面會詳細講解)

‍在一個帶有文字的設計組件中,若設計思路上要呈現視覺統一的間距,那可以算出字号與行高的間隙,然後減去相對應的栅格數值,使其視覺上接近統一的間距。

下圖所示,設計思路上想呈現一個30px的統一間距,那就可以減去一個最小栅格數值。

若最小栅格數值是6px,最終給出的間距就是24px,視覺距離呈現的就是接近30px的距離。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)5

這種方式也是我一直以來用的方法,好處就是沒有打破間距設定的原則。

設計的間距與開發看到的間距,都是有規律的栅格系統間距。

唯一有點不完美的地方就是,實際距離有時還會有一點小誤差,但其實在視覺上也完全可以忽略掉了。

第二種:

第二種方式就是精益求精,不考慮間距的栅格系統原則,算出字号與行高的間隙,間距上準确減去,保證沒有一丁點的誤差。

我找了一下這樣的産品,發現iOS端的滴滴APP中,有個模塊是這樣的設計理念。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)6

上圖案例中,字号36px,行高44px,文字上下的間隙就是4px。

所以設置距離26px,加上行高間隙正好是30px,得到統一的間距效果。

這種方式有一個小小的弊端,就是開發感受不到間距的規則,最終設計驗收時可能會耗費更多的時間。

特殊情況:

另外有一種情況,就不能刻意去追求文字的視覺對齊,除非是平面設計,因為開發的邏輯也不會去支持這樣做。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)7

上圖中錯誤的方式是因為,開發寫這個卡片,會寫成一個容積俗稱盒子,内容都會放在盒子裡面,就算内容過多,也是向下進行擴展适配。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)8

2. 開發對接-關于行高(重點内容)

字體行高的間隙有了解決方法,接下來是與開發的對接,這也是最關鍵的一個環節,設計的再好,最終不能很好的落地,也是白搭。

UI設計師在設計驗收iOS端時,可能會遇到這樣的問題,設計與開發都用了同樣的間距參數,但最終呈現的間距還是不一樣。

原因就是,同樣的蘋方字體,iOS端開發的默認字體行高,與設計軟件中的字體默認行高不一樣。

比如在Sketch軟件中42号字的蘋方字體默認行高是59,但是iOS開發軟件中默認是52。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)9

如果開發不手動調整字的行高,就會出現與設計的偏差。

根據我的調研,iOS開發工程師,若不是特殊情況,基本不會去改默認行高參數。

下面我們列舉一下,設計常用蘋方字号的默認行高,與iOS開發默認行高的數值對比,從中找一下規律。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)10

上圖中可以得出,字号越大,設計默認行高與iOS開發默認行高差距越大。

所以設計上最好把默認行高改成與開發一樣的默認行高,這樣才能保障,開發不手動調整行高下,是一緻的。

iOS開發字号默認行高有一定的規律,随着字号的增加,行高會在字号基礎上 4、 6、 8、 10以偶數遞增。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)11

雖有規律但也不容易形成記憶,推薦一個公式。

用字号除10後乘以2,再加上字号,就是iOS開發的默認行高,公式如下:

有公式可能還不夠便捷,再給大家推薦一款Sketch行高修複插件,Auto Fix iOS Text Line Height for Mac 。

這款插件是專門針對iOS字體行高修複,使其與開發默認行高保持一緻。

關于安卓:

安卓系統 Material Design 使用的字體,中文是思源黑體,英文是Roboto。

因為安卓系統開源,不同的安卓手機廠商大多會更換字體。

比如小米手機MIUI系統中英文都使用Misans字體,所以安卓文字行高沒有一個标準。

安卓開發與iOS開發還有個不同點是,安卓開發使用什麼字體,行高就是字體本身的默認行高。

思源黑體行高默認和字号大小一樣,Roboto行高接近蘋方字體行高。

如果設計稿按安卓規範設計,那思源黑體最好設置成與蘋方字體一樣的行高,然後安卓工程師手動去調整,iOS開發工程師所見即所得。

字體修複後使用經驗:

關于修複後字體的使用方式,分享一些經驗,UI設計中使用文字的頻率很高,有标題、副标題、正文、輔助文字等,字号都有所不同。

當在設計中,确定這些文字字号後,做一次行高的修複,然後把這些文字創建成字符樣式,每次用時從字符樣式庫裡面選擇即可。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)12

最後說一下,特殊情況結合自身産品風格,去定義文字行高是完全沒有問題的,開發可以根據設計的定義的行高進行調整。

3. 文字-段落

在有段落的文案中,很多設計師為了方便,直接給一個回車鍵的段落間距,這樣是萬萬不可取的。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)13

一個回車鍵的間距,就是一行字的行高,通常這個間距都比較大,就算設計風格需要這麼大的間距,那一定也要手動去設置段落。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)14

段落數值的設定,一般情況要大于文字行高的一半,比如文字行高為42,那段落最好大于21,這樣段落間距加上文字行高,整體就是≥1.5倍。

為什麼是≥1.5倍?原因是文字的行間距,一般大于1.5倍視覺上是比較舒适,例如字号是30,那行高設置為45,形成1.5倍的間距。

4. 文字-字間距

字間距是字與字之間的間距,默認一般為0不做設定,特殊設計風格以外。

有一種情況,當一段左對齊文字中存在标點或數字英文字母時,那末尾可能不夠一個字符的空間,就會出現末尾留白的情況。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)15

出現這種參差不齊的情況,确實不那麼美觀,但在UI設計中實屬正常。

不用刻意去設置成左右水平對齊,這樣雖整齊,但因為不同的字間距會影響閱讀體驗。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)16

5. 文字-字号

不同字号間距設定有一個原則,當字号越大時,字與其他元素間距也就需要相對越大。

字号越大說明級别越高,級别越高從信息層級上來講,就需要較大的間距來呈現。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)17

這是客觀上的一個原則,文字越大,就需要更多的留白去承托,就像文字的行高,字号越大文字的行高增加的倍數也就越大。

二、如何定義間距?

間距是UI設計中建立信息層級、提升閱讀體驗、表達元素之間的關系、表現重要信息的重要方式。

定義合理的間距其實非常有學問,打開京東、淘寶你會發現元素之間的間距非常緊湊,打開愛彼迎、蔚來又會發現元素之間較為寬松,這是為什麼?

其實就是他們的設計語言不同,緻使展示出的形态也就各異,而間距就是表現設計語言的其中一種方式。

在UI設計中,間距的設定一般會選擇一個最小栅格基數,如4、5、6、8等數值,之後頁面中,所有的間距都要以,最小栅格基數的倍數呈現。

谷歌推出的設計語言 Material Design 推薦栅格系統的最小基數是8dp,一切間距、尺寸都應該是8dp的倍數。

淘寶的設計,據我所知用的是5的基數,愛彼迎用的是8的基數,從這點來看,基本可以得出一個結論,使用越小的數值基數,設計呈現通常就會越緊湊。

一個最小栅格基數的倍數值有很多,但其實通常有6個左右常用間距,就能滿足絕大多數的場景。

我目前負責的産品最小栅格基數是6,設計上常用間距大概有6個,完全能夠滿足大多數設計場景所需。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)18

這些間距其實并不用刻意去選擇,當你使用最小栅格倍數值時間長了,就能自然得出幾個常用的間距,字号的選擇使用基本也适用這個邏輯。

另外,一個産品中模塊衆多,難免會出現一些特殊情況,所以肯定不能限定死隻可以用那幾個間距。

除了上圖中列舉的常用間距之外,12、36、90、120等一些間距數值也會用到,隻是用的頻率不會很高。

案例解析:

接下來,根據最小栅格基數為6的設計規範,通過一個商品卡片案例,分析一下間距設定的幾個原則。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)19

上圖中,首先要給各個元素分類,比如主标題和副标題是一類内容;标簽是一類内容;價格是一類内容;“找相似”按鈕又是一類内容。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)20

根據親密關系原則,同類内容的間距應該更近,這樣有利于建立信息層級關系,提升用戶的可讀性。

具體多近呢?可以根據商品卡片在頁面中的外邊距,來進行分析定義。

看一個産品的外邊距基本能判斷,是寬松型排版,還是緊湊型排版。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)21

産品的外邊距是根據設計語言,産品定位,産品内容多少等來定義,常見的邊距有20、24、30、36、48、60等。(大概就是這個範圍内)

使用較大外邊距,内容區域的間距要小于外邊距,小到可以直觀分辨即可,這樣可以體現出頁面中,内容的親密關系。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)22

使用常規外邊距,比如我們的案例中,使用30px就是常規外邊距,内容區域要适當小于或等于外邊距,這樣視覺上體現的是統一性。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)23

主标題與副标題屬于同類項,它們之間的間距一定要小于,卡片的内邊距,這樣整體看上去才能體現信息層級。

間距小到多少,還是那個理念,可以直觀感受到比内邊距小即可為止,不能過小。

一般來說,視覺上的間距大概是内邊距(同模塊中的大間距)的一半,就會表現的不錯。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)24

案例中設置的是一個栅格單位6px,再加上文字的行間隙,視覺上大概就是15px的間距,就是内邊距的一半。

接下來,給案例加标簽,标簽與文字不是同類信息,所以要适當與主副标題拉開間距。

通常第一選擇就是,視覺距離與内邊距30px,保證統一。

案例中設置的是24px,再加上文字的行間距,就非常接近30px。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)25

接下來是價格,對于一個商品卡片設計,價格是需要着重突出體現的。

一般設計上要突出一個元素,大概3種方式:一是改變顔色;二是放大;三是加大留白;也就是加大間距。

案例的商品卡片,設計風格價格顔色規範是黑色,所以顔色不能改變。

隻能放大或加大留白,放大和留白得在合理的範圍内,不然就會破壞卡片的整體結構性。

間距上與标簽設置30px的間距,加上文字的行高,視覺上的間距,會成為卡片中最大的間距留白,從而起到突出的作用。

ui需要對字間距進行設置嗎(一文搞定UI設計間距那點事)26

這種設計方法,在一個設計組件中,最好隻出現一個,不然整體結構就會有一定程度上的破壞。

另外強調一下,統一性固然重要,但設計的核心是為需求目标服務,所以,這時候統一性的優先級是次于需求目标的。

就像淘寶首頁的瓷片區,間距非常緊湊,失去了一定的美感,但這樣做确實展示了更多的内容,滿足了需求目标。

三、最後

最後做個總結:

  1. 關于文字的間距,要考慮文字的行高,盡可能保持視覺統一性;
  2. iOS設計稿,設計軟件中默認的文字行高,與開發軟件中的默認行高不一緻,最好修複行高,與開發保持一緻;
  3. 文字段落不要用回車鍵去定義,要用段落參數,段落間距通常要大于文字行高1.5倍;
  4. 多行文字出現這種參差不齊的情況,不要設置為左右水平對齊;
  5. 一般字号越大,字與其他元素間距也需要越大;
  6. UI設計要結合産品定位等,制定最小栅格基數,然後任何間距要以最小栅格基數的倍數呈現;
  7. 一個産品中,通常設置6個左右的間距數值,能滿足大多數設計的場景;
  8. 善于使用親密關系、留白理念、統一性等設計原則,設計前理解需求目标。

#專欄作家#

吳星辰,互聯網設計幫,人人都是産品經理專欄作家。

本文原創發布于人人都是産品經理。未經許可,禁止轉載。

題圖來自 Unsplash,基于CC0協議。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
小蠻腰是什麼意思
小蠻腰是什麼意思
小蠻腰是什麼意思?小蠻腰,原意原指白居易的家姬小蠻的腰,(白居易指家姬小蠻的腰像楊柳),後指很小很細的腰,我來為大家講解一下關于小蠻腰是什麼意思?跟着小編一起來看一看吧!小蠻腰是什麼意思小蠻腰,原意原指白居易的家姬小蠻的腰,(白居易指家姬小...
2024-12-27
怎麼做芋頭沙
怎麼做芋頭沙
怎麼做芋頭沙?選購荔浦芋類型的大芋頭,口感松綿比較好吃切成大塊,别太小炒的時候容易碎切好後,今天小編就來聊一聊關于怎麼做芋頭沙?接下來我們就一起去研究一下吧!怎麼做芋頭沙選購荔浦芋類型的大芋頭,口感松綿比較好吃。切成大塊,别太小炒的時候容易...
2024-12-27
虎刺梅花的養殖方法
虎刺梅花的養殖方法
虎刺梅花的養殖方法?土壤:家庭養殖虎刺梅首先要注意的就是土壤,土壤相當于我們的家居環境,要想植物的生長的好,土壤是首要的,盆土最好選用沙質土壤,可選用腐葉土、沙土,混合少量的肥料配制而成,我來為大家講解一下關于虎刺梅花的養殖方法?跟着小編一...
2024-12-27
豐度是什麼意思
豐度是什麼意思
豐度是什麼意思?指自然界的同位素占該元素的濃度,故又稱同位素豐度(abundanceofisotope或isotopicabundance),若同位素産生的來源主與地球來源有關,且時至今自然界中若無顯着的幹擾現象,則豐度應為相當穩定的固定常...
2024-12-27
如何制作福州拌面
如何制作福州拌面
如何制作福州拌面?原料:半斤堿面、10克生抽,10克老抽、10克蚝油、料酒、鹽、味精,今天小編就來聊一聊關于如何制作福州拌面?接下來我們就一起去研究一下吧!如何制作福州拌面原料:半斤堿面、10克生抽,10克老抽、10克蚝油、料酒、鹽、味精。...
2024-12-27
Copyright 2023-2024 - www.tftnews.com All Rights Reserved