css 字体单位之间的区分以及字体响应式的实现详解

问题场景:

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

需要了解的有:

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

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

CSS Code复制内容到剪贴板
  1. <SPAN style="FONT-SIZE: 16px">html{font-size:100%}    
  2.      
  3. //响应式的字体大小相对于根节点变化    
  4. @media (min-width: 640px) { body {font-size:1rem;} }    
  5. @media (min-width:960px) { body {font-size:1.2rem;} }    
  6. @media (min-width:1100px) { body {font-size:1.5rem;} }    
  7. </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%

CSS Code复制内容到剪贴板
  1. <SPAN style="FONT-SIZE: 16px">html{font-size:10px}    
  2.      
  3. //响应式的字体大小相对于根节点变化    
  4. @media (min-width: 640px) { body {font-size:1m=1.2 rem;font-size:12px;  /某些浏览器不支持rem/} }    
  5. @media (min-width:960px)  { body {font-size:1.4 rem; font-size:14px; /*某些浏览器不支持rem,需要再次使用px声明font-size*/} }    
  6. @media (min-width:1100px) { body {font-size:1.8 rem; font-size:18px; /*同上*/} }    
  7. </SPAN>    

CSS Code复制内容到剪贴板
  1. <SPAN style="FONT-SIZE: 16px">html{font-size:16px}    
  2.      
  3. //响应式的字体大小相对于根节点变化    
  4. @media (min-width: 640px) { body {font-size:12/16 rem;font-size:12px;  /某些浏览器不支持rem,需要再次使用px 声明font-size/} }    
  5. @media (min-width:960px)  { body {font-size:14/16 rem; font-size:14px; /*某些浏览器不支持rem,需要再次使用px声明font-size*/} }    
  6. @media (min-width:1100px) { body {font-size:18/16 rem; font-size:18px; /*同上*/} }    
  7. </SPAN>    

以上这篇css 字体单位之间的区分以及字体响应式的实现详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

标签:
css,字体单位,字体

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。