中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

移動(dòng)端文字與排版設(shè)計(jì)的六個(gè)原則

2022-06-01    分類: 網(wǎng)站建設(shè)

在印刷與桌面端Web的傳統(tǒng)領(lǐng)域我們有很成熟的文字排版經(jīng)驗(yàn),在移動(dòng)時(shí)代,這些經(jīng)驗(yàn)很多依然有效,但因顯示設(shè)備與使用環(huán)境發(fā)生了變化,也給帶來了不少變化……

在印刷與桌面端Web這些傳統(tǒng)領(lǐng)域,我們已經(jīng)有了很成熟的文字排版經(jīng)驗(yàn)。隨著移動(dòng)時(shí)代的到來,APP的界面設(shè)計(jì),加上網(wǎng)站越來越多地轉(zhuǎn)身為響應(yīng)式設(shè)計(jì)以適應(yīng)多種顯示設(shè)備,這些經(jīng)驗(yàn)很多依然有效,但因?yàn)轱@示設(shè)備與使用環(huán)境發(fā)生了變化,也給文字排版帶來了變化。

大小反差

在桌面端我們可能會(huì)采用字號(hào)差異較大的文字組合,移動(dòng)端屏幕較小,容納的文字也較少,同等的字號(hào)差異在小屏幕上的感受會(huì)被放大。

原因是我們?cè)谑褂眠@兩種設(shè)備時(shí)的觀看距離不同,桌面端我們的眼睛離屏幕較遠(yuǎn),而在移動(dòng)端則相反,因此我們應(yīng)該在移動(dòng)端使用較小的字號(hào)反差。

字重

不要使用PS中的文本加粗,它不僅破壞字體本身的美感,還改變了文字原本的字寬而影響段落內(nèi)文字的對(duì)齊。合理的方式是使用字體本身的字重來控制,比如蘋方、STHeiti、Helvetica Neue等字體本身提供Light、Regular、Medium等兩三種甚至更多的字重選擇。

pasted-69mage-2

字間距

不要輕易改變字體默認(rèn)的字間距,字體設(shè)計(jì)師已經(jīng)充分考慮了這款字體所適合的字間距,如果不滿意可以更換字體。

顏色反差

移動(dòng)設(shè)備使用環(huán)境復(fù)雜多變而不局限在室內(nèi),可能在室外,甚至暴露在強(qiáng)烈的陽光下,應(yīng)確保文字在背景中不會(huì)識(shí)別困難,即使是色弱者也可以正常閱讀。WCAG 2.0中建議的兩者顏色反差比應(yīng)該高于4.5:1(AA級(jí)),才能確保更多人及環(huán)境都可以輕松閱讀。Sketch中有一個(gè)插件Color Contrast Analyser可以方便的檢測(cè)這個(gè)比值,你可以使用在線檢測(cè)工具Colour Contrast Check。

柵格系統(tǒng)

小屏幕上,一些桌面端無關(guān)大雅的間距不等問題會(huì)變得突出。

Lofter是網(wǎng)易一款精品優(yōu)雅的App,但其文章正文界面卻略有瑕疵:

可以看到段落右側(cè)與卡片的間距明顯大于左側(cè)。造成這個(gè)問題的原因是設(shè)計(jì)時(shí)對(duì)文本框的寬度與文字大小之間在關(guān)系考慮不周全,導(dǎo)致文字并不能好地填充滿文本框。

上圖為iPhone5中此界面的放大效果并加上了輔助線,仔細(xì)觀察,去除黃色部分各20px的間距后,文本框?qū)挾仁?58px,而正文使用的字號(hào)是30px,所以行末留下18px的空余空間。如果字號(hào)定為31px,則剛好可以放下18個(gè)字后填滿558px像素的文本框。

當(dāng)然31px的字號(hào)在實(shí)際環(huán)境中可能并不是一個(gè)最合理的字號(hào)設(shè)定,因?yàn)樗⒉荒鼙徽褂玫紷1x的iOS開發(fā)環(huán)境。在實(shí)際設(shè)計(jì)中,可以先設(shè)定一個(gè)柵格系統(tǒng),以iPhone5為例,定義最小柵格為8x8px的話,得到如下一個(gè)柵格圖:

以8為基本單位,把所有字號(hào)、文本框?qū)挾仍O(shè)定為8的倍數(shù),這樣我們就可以確保漢字始終保持對(duì)齊。

對(duì)齊

“...所有的元素都是正方體。但是從二十世紀(jì)開始使用標(biāo)點(diǎn)後,到了現(xiàn)代桌上出版時(shí)代,許多排版工具軟體都直接套用來自日本的「禁則處理」—即避頭尾點(diǎn);加上與西方文字混排的狀況越來越多,以至於無法做到縱橫對(duì)齊的基礎(chǔ)。但是至少段落的頭尾還是需要對(duì)齊。這就是為什麼對(duì)齊對(duì)電子書與長(zhǎng)文章來說十分重要的原因。”

——董福興《簡(jiǎn)單做好中文排版》

在英文的段落排版中,通常是左側(cè)對(duì)齊,而讓右側(cè)自然形成起伏邊(rag)。對(duì)中文排版與閱讀習(xí)慣而言則相反,段落的頭尾對(duì)齊尤其重要。

先來看一個(gè)反例:

這是Zaker的新聞?wù)牡谋憩F(xiàn),在夾雜了數(shù)字或英文字母字符的情況下,原本中文的整齊排列被打亂了,右側(cè)嚴(yán)重參差不齊,非常難看。

看看同一篇文章其它App是怎么處理的:

左邊是網(wǎng)易云閱讀,右邊是網(wǎng)易新聞。兩者的處理方式類似,都是通過程序的設(shè)置,微調(diào)文字的間距以補(bǔ)足右邊存大的空白,區(qū)別是當(dāng)標(biāo)點(diǎn)出現(xiàn)在行末時(shí),網(wǎng)易云閱讀將標(biāo)點(diǎn)外置,而網(wǎng)易新聞將標(biāo)點(diǎn)放在了內(nèi)部。

文字的對(duì)齊方式,可以用簡(jiǎn)單的代碼實(shí)現(xiàn):

Web App中,使用CSS類中指定justify屬性值控制即可,以下為兼容性較佳的方案

.space-betw {
	-webkit-box-pack: justify;
	-moz-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

原生iOS中,需為字符串對(duì)象設(shè)置NSTextAlignmentJustified值

- (NSDictionary *)demoTextAttributes {
    NSMutableParagraphStyle *ps = [NSMutableParagraphStyle new];
    ps.alignment = NSTextAlignmentJustified;
    // here, NSBaselineOffsetAttributeName must be set though the default value is 0 to make the justified work.
    return @{NSParagraphStyleAttributeName :ps, NSBaselineOffsetAttributeName : @0.0f};
}

這個(gè)方法,結(jié)合之前我們通過柵格系統(tǒng)對(duì)字號(hào)和文本容器寬度的規(guī)范定義,終于可以避免App中常見的段落文字對(duì)不齊,對(duì)不準(zhǔn)的老問題。

后記

以上是實(shí)際工作中的經(jīng)驗(yàn)總結(jié),移動(dòng)平臺(tái)、硬件設(shè)備、字體本身都在不斷變化,相應(yīng)的設(shè)計(jì)方法也不會(huì)永遠(yuǎn)一成不變,但總的原則是不變的,那就是讓內(nèi)容更易讀。

分享文章:移動(dòng)端文字與排版設(shè)計(jì)的六個(gè)原則
標(biāo)題網(wǎng)址:http://www.rwnh.cn/news9/162359.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)域名注冊(cè)、建站公司ChatGPT、關(guān)鍵詞優(yōu)化電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
泸水县| 邯郸县| 七台河市| 科技| 四平市| 乌审旗| 海淀区| 屯留县| 鲁山县| 津市市| 渭源县| 沂源县| 达日县| 渝北区| 苏尼特右旗| 布拖县| 顺义区| 额济纳旗| 金山区| 安福县| 黄平县| 高州市| 龙川县| 江油市| 潞城市| 乐都县| 五大连池市| 新龙县| 新津县| 乾安县| 额敏县| 海原县| 朝阳县| 苏尼特左旗| 固安县| 青州市| 东兰县| 甘南县| 肇源县| 承德市| 佳木斯市|