问题场景:

在实现响应式布局的过程中,如何设置字体大小在不同的视窗尺寸以及不同的移动设备的可读性?

需要了解的有:

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依赖父级元素字体大小

优点:参考系只有一个,根节点字体大小

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;} }

5.为什么根结点字体大小要设置成62.5%?

上面介绍过浏览器默认字体大小为16px,如果想要在不同的页面尺寸下设置字体大小分别为12、14、18px怎么办?

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; /*同上*/} }

难道必须使用 12/16 rem,14/16rem,18/16rem 这种方式来计算字体的相对大小吗?

更简便的方式,在根结点设置字体大小为10px,这样一来在media里可以直接写成1.2rem,1.4rem,1.8rem。 根结点如果设置成10px,那么相对于浏览器默认字体大小为 font-size:10/16 % 即 font-size:62.5%

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; /*同上*/} }

参考内容:

响应式设计:使用响应式字体 http://www.w3cplus.com/responsive/understanding-responsive-web-design-how-to-manage-fonts.html

响应式十日谈:第一日 http://ued.taobao.org/blog/2013/05/rem-font-size/

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/

Responsive typography with REMs: How to build a scalable typographic foundation in three steps http://blog.bugsnag.com/responsive-typography-with-rems

css font-size:em、px、rem 换算

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

html中字体响应式怎么写,css字体单位之间的区分以及字体响应式实现_html/css_WEB-ITnose...相关推荐

  1. 在html中2em是多少px,在css设置单位px、em、rem哪个更好?

    浏览器最终渲染出的页面是以具体的像素为单位的(因为显示器的显示原理是基于像素的啊),浏览器通过计算em和rem,最终再将这些相对单位转换为具体的像素值渲染出来.这三者可以这样理解: px是绝对单位,独 ...

  2. html中背景不平铺怎么写,css怎么让背景图片不平铺?

    在使用background属性设置背景图片时,背景图片默认是重复平铺的.css怎么让背景图片不平铺?下面本篇文章就来给大家介绍一下使用CSS设置背景图片不平铺的方法,希望对大家有所帮助. 在CSS中, ...

  3. 【源码共享】我花2小时写了微信官网的响应式布局HTML+CSS 换成旅行主题风格更炫酷了

    微信官网仿写效果 ↑ 移动端响应式效果 ↑ 微信官网首页,简约干净,能学习写好这个首页,就能掌 握HTML网页设计前端盒子的布局.嵌套,及css效果的 使用... 微信官网首页主要有以下几个需要关注的 ...

  4. 微软雅黑html中怎么写,css如何设置字体为微软雅黑?

    css如何设置字体为微软雅黑?下面本篇文章给大家介绍一下css设置字体为微软雅黑的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. css如何设置字体为微软雅黑? 首先在介绍cs ...

  5. html中斜体样式怎么写,css如何设置字体为倾斜样式?

    css如何设置字体为倾斜样式?下面本篇文章就来给大家介绍一下.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 在CSS中,可以通过设置font-style属性的值为italic(斜体 ...

  6. 帮助你生成响应式布局的CSS模板 - xyCSS

    日期:2013-1-31  来源:GBin1.com 在线演示 在前面的文章中我们介绍了响应式的网格profound grid,用来帮助你开发固定或者响应式的流动布局设计,如果你希望使用纯CSS生成响 ...

  7. CSS3实现的响应式字体:自适应视图窗口大小的新单位

    这个是为了解决什么问题? 我最近在做一个项目.客户要求标题可以根据用户屏幕的尺寸而自动改变大小.我知道我通常用的相对字体单位(注* 如px, pt, em)只是相对于HTML根元素的大小而自动改变,而 ...

  8. html中写css代码,开发DIV CSS时 先写CSS代码还是先写HTML代码

    相信良多LOVE用DIV+CSS技术启示重构网页的爱好者友好,在起源学习DIV+CSS的时分都邑想一个标题,想晓得DIV+CSS妙手或有教育者在开发制作html页面的时刻,下场是先写html照样先写c ...

  9. 移动设备响应式网站之CSS媒体查询

    http://www.ibm.com/developerworks/cn/web/wa-cssqueries/index.html 简介 现今每天都有更多的手机和平板电脑问市.消费者能够拥有可想象到的 ...

最新文章

  1. 利用OnAnimatorove函数控制人物的移动
  2. python多线程锁有没有优先级别_全面解析python线程优先级队列(queue)原理
  3. pptv如何绑定邮箱账号
  4. python如何画出多个独立的图片_python实现在一个画布上画多个子图
  5. java语言发展历程
  6. 【优化算法】多目标水循环算法(MOWCA)【含Matlab源码 1433期】
  7. cad相对坐标快捷键_CAD入门必记的15个命令,只要熟悉这15个命令几乎就可以走遍天下...
  8. WORD中图、表、公式自动编号及制表位、尾注的应用
  9. navicat 执行sql文件
  10. 美国停发所有工作签证和绿卡,中枪的还有H1B和留学生,你得证明不跟美国公民抢饭碗...
  11. 名单公布!支持这些高校,冲“双一流”
  12. C++常用输出 cout、cerr、clog
  13. IAR OF STM8 Error[Pe095]: array is too large
  14. 广电时评 | 中央主流媒体盛赞爱奇艺短剧新气象
  15. 富士康计算机笔试题目,富士康师级干部面试测试题
  16. [转载] 机器学习数据集统计系列(二)
  17. SQLMAP工具详解
  18. MySQL的ODBC驱动下载、安装以及配置数据源
  19. 04-操作系统的运行机制和体系结构(大内核、小内核)
  20. 监控摄像机常用专业术语解释(一)

热门文章

  1. SAP GUI security setting on local file access
  2. 如何使用SAP CRM中间件下载customer material数据
  3. SAP CRM系统里Opportunity预期销售金额和货币相关的自动转换
  4. ospf协议_三级网络技术考前选择题3—OSPF协议
  5. 单片机c语言必背代码_【典藏】深度剖析单片机程序的运行(C程序版)
  6. python升级pip_新手求助, python 升级 pip 失败
  7. 华为鸿蒙全能家居,能兑现多少?华为智慧屏十年不过时,用鸿蒙理念做智能家居...
  8. android动态权限封装,Android 动态权限申请的封装
  9. iptables(上)
  10. 试用c51语言采样连续5次异常_学会这些自闭症儿童语言训练技巧,孩子开口说话不再困难...