css 字體單位之間的區(qū)分以及字體響應式的實現詳解

問題場景:
在實現響應式布局的過程中,如何設置字體大小在不同的視窗尺寸以及不同的移動設備的可讀性?
需要了解的有:
1.px,em,pt之間的換算關系
1em = 16px
1px = 1/16 em = 0.0625em
////以下用的比較少//////
1em = 12pt
1px = 3/4 pt = 0.75pt
1pt = 1/12 em 0.0833em
1pt = 4/3 px = 1.3333px
2.任意瀏覽器默認字體都是16px。所有未經調整的瀏覽器默認尺寸為 1em=16px
3.chrome強制最小字體為12px,即使設置成10px,最終會顯示成12px。這點解釋了為什么有時候在ie或mozllia里的字體大小與chrome有初入
4.px,em,rem vw,vh,vmin的區(qū)別在哪?
px:
相對單位。相對于屏幕分辨率。這就是為什么分辨率越大字體越小的原因所在。那px的優(yōu)缺點又如何?
優(yōu)點:比較穩(wěn)定、精確。
缺點:如果對頁面進行縮放,影響文本可讀性??赏ㄟ^使用em作為字體單位解決這個問題。
em:
相對單位。根據基準數值縮放字體大小,是一個相對值,而非具體值?;鶞手等Q于,父級元素所設置的font-size。如果父級元素未設置font-size 依次向上尋找直到根節(jié)點。
優(yōu)點:彌補了px的不足
缺點:過于依賴父級節(jié)點,容易出現字體大小重復聲明。
rem:
相對單位。相對于根結點html的字體大小。
缺點:避免了em依賴父級元素字體大小
優(yōu)點:參考系只有一個,根節(jié)點字體大小
- <SPAN style="FONT-SIZE: 16px">html{font-size:100%}
- //響應式的字體大小相對于根節(jié)點變化
- @media (min-width: 640px) { body {font-size:1rem;} }
- @media (min-width:960px) { body {font-size:1.2rem;} }
- @media (min-width:) { body {font-size:1.5rem;} }
- </SPAN>
5.為什么根結點字體大小要設置成62.5%?
上面介紹過瀏覽器默認字體大小為16px,如果想要在不同的頁面尺寸下設置字體大小分別為12、14、18px怎么辦?
難道必須使用 12/16 rem,14/16rem,18/16rem 這種方式來計算字體的相對大小嗎?
更簡便的方式,在根結點設置字體大小為10px,這樣一來在media里可以直接寫成1.2rem,1.4rem,1.8rem。 根結點如果設置成10px,那么相對于瀏覽器默認字體大小為 font-size:10/16 % 即 font-size:62.5%
- <SPAN style="FONT-SIZE: 16px">html{font-size:10px}
- //響應式的字體大小相對于根節(jié)點變化
- @media (min-width: 640px) { body {font-size:1m=1.2 rem;font-size:12px; /某些瀏覽器不支持rem/} }
- @media (min-width:960px) { body {font-size:1.4 rem; font-size:14px; /*某些瀏覽器不支持rem,需要再次使用px聲明font-size*/} }
- @media (min-width:1100px) { body {font-size:1.8 rem; font-size:18px; /*同上*/} }
- </SPAN>
- <SPAN style="FONT-SIZE: 16px">html{font-size:16px}
- //響應式的字體大小相對于根節(jié)點變化
- @media (min-width: 640px) { body {font-size:12/16 rem;font-size:12px; /某些瀏覽器不支持rem,需要再次使用px 聲明font-size/} }
- @media (min-width:960px) { body {font-size:14/16 rem; font-size:14px; /*某些瀏覽器不支持rem,需要再次使用px聲明font-size*/} }
- @media (min-width:1100px) { body {font-size:18/16 rem; font-size:18px; /*同上*/} }
- </SPAN>
以上這篇css 字體單位之間的區(qū)分以及字體響應式的實現詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章

jQuery+CSS3實現帶縮略圖鼠標交叉滑動幻燈片特效源碼
jQuery+CSS3實現帶縮略圖交叉滑動幻燈片特效源碼是一款基于jSlides插件實現的非常炫酷的jQuery和CSS3交叉滑動幻燈片特效插件。需要的朋友前來下載源碼2016-04-14
CSS3實現鼠標懸停照片墻放大特效源碼是一款圖片默認3行4列排列,鼠標經過突出方法顯示圖片。大家對此效果非常心動不妨前來下載使用2016-04-13
jQuery+css3實現的非常簡潔的自定義右鍵菜單特效源碼
是一段實現了在規(guī)定區(qū)域的任何地方右鍵點擊界面,就會出現非常簡潔的右鍵菜單欄,前段時間做項目剛好要用到這個特效,非常方便。主要是處理一些特殊項目非常便捷2016-04-12- 下面小編就為大家?guī)硪黄钊肫饰鯟SS中的線性漸變linear-gradient。小編覺得挺不錯的,現在分享給大家,也給大家做個參考2016-04-12

CSS3 Animation 制作按鈕鼠標滑過動畫填充背景特效源碼(13種)
CSS3 Animation 制作按鈕鼠標滑過動畫填充背景特效源碼(13種)是一款共有13種動畫填充背景效果,均由按鈕的偽元素和CSS3 animation來制作完成,效果非常棒,喜歡的朋友前來2016-04-12
CSS3實現仿360瀏覽器錯誤提示頁面特效源碼是一款仿360瀏覽器的CSS3錯誤提示頁面代碼。需要的朋友前來下載源碼2016-04-12
是一段實現了動畫出入頁面詳細內容的效果代碼,是一款非常適合用于banner以及整屏元素的動畫效果,本段代碼適應于所有網頁使用,有需要的朋友們可以前來下載使用2016-04-11
純CSS3繪制的中國聯(lián)通動態(tài)logo圖標樣式源碼
這是一款基于純CSS3繪制的中國聯(lián)通動態(tài)logo圖標樣式源碼,聯(lián)通logo標志呈現旋轉效果,使用純css3繪制,沒有引入任何外部圖片元素2016-04-11- 這篇文章主要介紹了使用CSS3編寫類似iOS中的復選框及帶開關的按鈕,需要的朋友可以參考下2016-04-11
- 下面小編就為大家?guī)硪黄褂肅SS實現小三角形效果【附實例】。小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-04-14








