问题场景:
在实现响应式布局的过程中,如何设置字体大小在不同的视窗尺寸以及不同的移动设备的可读性?
需要了解的有:
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的区别在哪?
px:
相对单位。相对于屏幕分辨率。这就是为什么分辨率越大字体越小的原因所在。那px的优缺点又如何?
优点:比较稳定、精确。
缺点:如果对页面进行缩放,影响文本可读性。可通过使用em作为字体单位解决这个问题。
em:
相对单位。根据基准数值缩放字体大小,是一个相对值,而非具体值。基准值取决于,父级元素所设置的font-size。如果父级元素未设置font-size 依次向上寻找直到根节点。
优点:弥补了px的不足
缺点:过于依赖父级节点,容易出现字体大小重复声明。
rem:
相对单位。相对于根结点html的字体大小。
缺点:避免了em依赖父级元素字体大小
优点:参考系只有一个,根节点字体大小
<span style="font-size: 16px;">html{font-size:100%} //响应式的字体大小相对于根节点变化 @media (min-width: 640px) { body {font-size:1rem;} } @media (min-width:960px) { body {font-size:1.2rem;} } @media (min-width:1100px) { body {font-size:1.5rem;} } </span>
5.为什么根结点字体大小要设置成62.5%?
上面介绍过浏览器默认字体大小为16px,如果想要在不同的页面尺寸下设置字体大小分别为12、14、18px怎么办?
<span style="font-size: 16px;">html{font-size:16px} //响应式的字体大小相对于根节点变化 @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>
难道必须使用 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} //响应式的字体大小相对于根节点变化 @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>
参考内容:
响应式十日谈:第一日 http://ued.taobao.org/blog/2013/05/rem-font-size/
关于字体大小适配:px rem em的组合使用 http://suqing.iteye.com/blog/2042739
Use legible font sizes https://varvy.com/mobile/legible-font-size.html
Responsive Font Size http://stackoverflow.com/questions/15649244/responsive-font-size
Viewport Sized Typography https://css-tricks.com/viewport-sized-typography/
Responsive Font Size with CSS http://codeitdown.com/responsive-font-size-css/

HTML的未來趨勢是語義化和Web組件,CSS的未來趨勢是CSS-in-JS和CSSHoudini,JavaScript的未來趨勢是WebAssembly和Serverless。 1.HTML的語義化提高可訪問性和SEO效果,Web組件提升開發效率但需注意瀏覽器兼容性。 2.CSS-in-JS增強樣式管理靈活性但可能增大文件體積,CSSHoudini允許直接操作CSS渲染。 3.WebAssembly優化瀏覽器應用性能但學習曲線陡,Serverless簡化開發但需優化冷啟動問題。

HTML、CSS和JavaScript在Web開發中的作用分別是:1.HTML定義網頁結構,2.CSS控製網頁樣式,3.JavaScript添加動態行為。它們共同構建了現代網站的框架、美觀和交互性。

HTML的未來充滿了無限可能。 1)新功能和標準將包括更多的語義化標籤和WebComponents的普及。 2)網頁設計趨勢將繼續向響應式和無障礙設計發展。 3)性能優化將通過響應式圖片加載和延遲加載技術提升用戶體驗。

HTML、CSS和JavaScript在網頁開發中的角色分別是:HTML負責內容結構,CSS負責樣式,JavaScript負責動態行為。 1.HTML通過標籤定義網頁結構和內容,確保語義化。 2.CSS通過選擇器和屬性控製網頁樣式,使其美觀易讀。 3.JavaScript通過腳本控製網頁行為,實現動態和交互功能。

HTMLISNOTAPROGRAMMENGUAGE; ITISAMARKUMARKUPLAGUAGE.1)htmlStructures andFormatSwebContentusingtags.2)itworkswithcsssforstylingandjavascript for Interactivity,增強WebevebDevelopment。

HTML是構建網頁結構的基石。 1.HTML定義內容結構和語義,使用、、等標籤。 2.提供語義化標記,如、、等,提升SEO效果。 3.通過標籤實現用戶交互,需注意表單驗證。 4.使用、等高級元素結合JavaScript實現動態效果。 5.常見錯誤包括標籤未閉合和屬性值未加引號,需使用驗證工具。 6.優化策略包括減少HTTP請求、壓縮HTML、使用語義化標籤等。

HTML是一種用於構建網頁的語言,通過標籤和屬性定義網頁結構和內容。 1)HTML通過標籤組織文檔結構,如、。 2)瀏覽器解析HTML構建DOM並渲染網頁。 3)HTML5的新特性如、、增強了多媒體功能。 4)常見錯誤包括標籤未閉合和屬性值未加引號。 5)優化建議包括使用語義化標籤和減少文件大小。

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver CS6
視覺化網頁開發工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

禪工作室 13.0.1
強大的PHP整合開發環境