全國服務熱線:400-080-4418
文字大小,是用戶體驗中的一個重要部分。不同的分辨率,不同的顯示器尺寸,不同的DPI,乃至不同的瀏覽器設置,都會對終展現的文字大小帶來影響。雖然現在很多瀏覽器已經可以方便地縮放頁面,但用戶每次光臨都要重新縮放,總歸麻煩,何況還有許多用戶不知道如何縮放頁面。還是根據用戶的分辨率給用戶一個比較體貼的默認字號,那這個字號多大合適呢?
12px?14px?15px?16px? 還是壓根就不應該使用px這個單位呢?
問題的根源,在于屏幕上的一切字號單位(px,pt,em)都是相對單位,單憑它們并不能確定文字的實際大小。何況人對文字大小的根本感知在于眼睛的視角,這不僅取決于文字的物理尺寸,還取決于它到人眼的距離。
物理尺寸
首先假定一個我們希望達到的文字物理尺寸,例如設定為17寸1280 * 1024顯示器上的16px,計算可得它的高度約是4.32mm,我們計劃讓網頁文字在大部分顯示器上都比較接近這個大小,那么在不同分辨率下應該顯示成多大的字號呢?
第一步:統計用戶主要的分辨率和對應的屏幕大小。
要在物理尺寸和分辨率之間換算,首先要統計分辨率和對應的屏幕尺寸。用戶分辨率的分布情況可以從網站的統計日志里獲得。由于每個分辨率設置可能對應好幾個不同尺寸的屏幕,而屏幕尺寸又無法通過網頁獲得,只好對現在的顯示器市場進行統計分析:針對某一分辨率,統計可能的屏幕尺寸范圍,從小到大,相對主流的是多大(或使用該范圍的中間值作為主流尺寸)。
電腦顯示器市場(產品種類繁多,難免掛一漏萬,數據僅供參考)
第二步:計算每個分辨率主流屏幕尺寸的物理寬度
現在的顯示器長寬比不僅有4:3的標準屏,16:10的寬屏,還有更多不規則比例,為了在不同長寬比的顯示器之間進行比較,統一使用橫向分辨率來統計。用主流尺寸和長寬比(假設像素的長和寬相同)計算出屏幕寬度(英寸),再換算成公制(毫米),將其一一對應就可看出屏幕大小的趨勢。再結合各分辨率的用戶分布,結果如下圖所示(圖片中每個點對應一個分辨率,橫軸為屏幕橫向的像素數,縱軸為該屏幕的物理寬度,氣泡大小表示使用該分辨率的用戶人數。其中藍色氣泡表示標準屏,紫色表示寬屏):大的三個氣泡分別是1024*768,1280*1024,1280*800。
第三步:計算不同顯示器上的字號大小
用屏幕的物理寬度除以像素寬度,就可以得到每個像素的寬度。然后用指定的文字物理大小除以這個數,就可以得到在不同分辨率下所需的字號。
不同分辨率下需要的字號
可以看出筆記本和臺式機的尺寸相差很大,為方便使用,使用各分辨率的主流尺寸或平均尺寸計算出指定字號在每個分辨率下所需的字號。
為保持固定物理尺寸,各主流顯示器下所需字號與分辨率的關系
由于在未開啟cleartype的情況下,一些中文字體在非偶數字號下的顯示效果欠佳,所以一般建議使用12、14、16、18、22px等偶數字號。也就是對某個分辨率選擇離它近的偶數字號。例如:屏幕橫向分辨率在1100以下的采用14px,1100到1500采用16px,1500以上采用18px,依此類推。
到人眼的距離
雖然筆記本的字號遠小于臺式機,可是實際并沒有給我們帶來那么大的不便,這是因為:一般使用筆記本時人眼到屏幕的距離比使用臺式機時要近一些。當上網本越來越小時(極端的例子就是手機),人們使用的時候可能會拿的更近,這樣視角更大。反之,當顯示器越來越大時(24寸甚至更大),出于整體視角等方面考慮,人們也可能離屏幕遠些,從而減小了視角。
定量來說:由于文字大小h(4~5mm)相對人眼到文字的距離d(30~60cm)非常小,可近似認為視角θ正比于h,并與d成反比(θ≈tgθ=h/d)。也就是說,同樣大小的文字,距離二尺時看到的只有距離一尺時的一半大小。
也就是說,顯示器只能傳達一個大概的尺寸,每個用戶在具體操作時仍會通過不自覺地調節到屏幕的距離來調整所看到的實際效果。面對越來越多的筆記本用戶(請參照上一篇:筆記本電腦的市場份額),前端設計師們只能給出一個針對筆記本和臺式機平均尺寸的頁面效果,具體就靠用戶去自我調整了。[Page]
用JS實現不同分辨率下自動調整字號
例如網頁正文所在div的id為content——
注:為保證各瀏覽器下文字均可縮放,字號單位使用em而不是px,一般來說,瀏覽器默認1em=16px,0.875em\1em\1.125em即為14\16\18px。
使用字號縮放時請注意:對該div內的標題等字號單位使用百分比,而不是固定字號,以便隨正文同步縮放。
Copyright 2008 © 上海網至普信息科技有限公司 All rights reserved. 滬ICP備11006570號-13 滬公網安備 31011402007386號