在如今这个提倡可用性设计以及用户体验设计的网络时代,CSS也是要一同参与其中的。大部分人在CSS代码编写中总是先对整体定义字体尺寸,中文情况下一般为12px,而其实这样以来在通过IE顶部菜单中的“察看-文字大小”设置已无任何作用。对字体感觉太小的浏览者而言无疑是种很不好的用户体验过程。其实这一切都可以避免,那就是使用em单位作为字体显示单位。

浏览器的默认字体高都是16px,所以未经调整的浏览器在显示1em=16px。换算过来的话也就是说1px=0.0625em,也就是12px=0.75em, 10px=0.625em,通过1px=0.0625em大家可以在CSS编写时通过px转换成em。不过还有一种更方便的方法,继续往下看!

这种方法要用到%单位(仅1次),其实%和em简单的话可以理解成前者只是比后者多2个0。为了简化font-size的换算,大家可以在css中的body中先全局声明font-size=62.5%,这里的%的算法和em一样,100%=16px,1px=6.25%,10px=62.5%,也就是定义了默认字体大小为10px。很多初学者可能会在此定义0.625em或者直接定义12px,这是没有效果的,一定要定义font-size=62.5%!由于em具有会继承父级出血元素的字体大小的特点,这是的1em=10px,所以12px=1.2em。px与em的转换通过除以10就可以得来,很方便了吧!

此外有一点必须要注意,可能是IE处理汉字时,对于浮点的取值精确度有限,在body下62.5%出来的12px字体比直接定义的要大一点点,只要将62.5%换成63%就可以了。通过以上对CSS代码的调整,你会发现自己的网站又向用户体验设计更靠近了一步,在如今这个提倡可用性设计以及用户体验设计的网络时代这是很重要的。

Html代码 
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>脚本之家测试</title>
  6. <style type="text/css" >
  7. body{
  8. font-size:63%;
  9. }
  10. </style>
  11. </head>
  12. <body>
  13. <p style="font-size:1.2em;">font-size:1.2em 脚本之家 (可以调整)</p>
  14. <p style="font-size:12px;">font-size:12px 脚本之家 (不能调整)</p>
  15. <p style="font-size:1.2em; color:#F90;">你可以通过IE顶部菜单中的“查看-文字大小“来调整字体显示尺寸</p>
  16. </body>
  17. </html>

CSS中定义的长度单位有两种,相对长度和绝对长度。相对长度单位主要有: 
* em (em,元素的字体的高度) 
* ex (x-height,字母 "x" 的高度) 
* px (像素,相对于屏幕的分辨率) 
绝对长度单位主要有: 
* in (英寸,1英寸=2.54厘米) 
* cm (厘米,1厘米=10毫米) 
* mm (米) 
* pt (点,1点=1/72英寸) 
* pc (帕,1帕=12点)

使用px和em主要优缺点如下: 
1. IE无法调整那些使用px作为单位的字体大小,而firefox能够调整使用px和em作为单位的字体; 
2. 任意浏览器的默认字体高都是16px。所有未经调整的浏览器都符合: 1em=16px。那么12px=0.75em,10px=0.625em。为了简化font-size的换算,需要在css中的body选择器中声明 Font-size=62.5%,这就使em值变为 16px*62.5%=10px, 这样12px=1.2em, 10px=1em, 也就是说只需要将你的原来的px数值除以10,然后换上em作为单位就行了。

em有如下特点:

1. em的值并不是固定的; 
2. em会继续父级元素的字体大小。

所以我们在写CSS的时候,需要注重两点: 
1. body选择器中声明Font-size=62.5%; 
2. 将你的原来的px数值除以10,然后换上em作为单位; 
3. 重新计算那些被放大的字体的em数值。避免字体大小的重复声明。

也就是避免1.2 * 1.2= 1.44的现象。比如说你在id为#content的div中声明了字体大小为1.2em,那么在声明div中的p标签的字体大小时就只能是1em,而不是1.2em, 因为此em非彼em,它因继续#content的字体高而变为了1em=12px。那么我们假设要设置p的字体为22px,这个时候就需要22除以12来得到em的值了,这就是em会继续父级元素的字体大小的特性.

但是12px汉字例外,就是由以上方法得到的12px(1.2em)大小的汉字在IE中并不等于直接用 12px定义的字体大小,而是稍大一点。这个问题已经解决,只需在body选择器中把62.5%换成63%就能正常显示了。原因可能是IE处理汉字时,对于浮点的取值精确度有限。不知道有没有 其他的解释。

CSS样式中字体大小,建议font-size使用em相关推荐

  1. html代码字号div style=,div字体大小设置 css设置div中字体大小尺寸样式

    div字体大小设置 css设置div中字体大小尺寸样式设置篇 在css div布局中常常对div字体大小设置,这篇ThinkCSS为大家介绍div中字体大小尺寸样式设置,通过直接在div标签加字体大小 ...

  2. div怎么在css中设置字体大小,div字体大小设置 css设置div中字体大小尺寸样式

    div字体大小设置 css设置div中字体大小尺寸样式设置篇 在css div布局中常常对div字体大小设置,这篇ThinkCSS为大家介绍div中字体大小尺寸样式设置,通过直接在div标签加字体大小 ...

  3. html中font-family样式,详解中文字体在CSS样式中font-family对应的英文名称

    宋体:SimSun 黑体:SimHei 微软雅黑:Microsoft YaHei 微软正黑体:Microsoft JhengHei 新宋体:NSimSun 新细明体:PMingLiU 细明体:Ming ...

  4. html5如何设置字号,如何设置css中字体大小?

    如何设置css中字体大小?下面本篇文章就来给大家介绍一下使用CSS设置字体大小的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 在CSS代码中,可以通过设置"font ...

  5. python使用matplotlib可视化、使用fontsize参数设置单个图像的字体的大小、使用rcParams.update参数全局设置字体的大小(font size)

    python使用matplotlib可视化.使用fontsize参数设置单个图像的字体的大小.使用rcParams.update参数全局设置字体的大小(font size) 目录

  6. word中字体大小(pt)与网页中css设置font-size时用的px大小对应关系

    word中字体大小(pt)与网页中css设置font-size时用的px大小对应关系 pt与px转换关系为 1px= 0.75pt. 所以word中五号字体(10.5pt)在网页中对应的font-si ...

  7. html语言怎么改变文字大小,如何设置css中字体大小?

    如何设置css中字体大小?下面本篇文章就来给大家介绍一下使用CSS设置字体大小的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 在CSS代码中,可以通过设置"font ...

  8. CSDN博客字体样式、字体大小、字体颜色、首行缩进调节

    1.字体样式调节 1.<font face="微软雅黑">微软雅黑</font> 2.<font face="华文琥珀">华 ...

  9. Markdown修改文字样式(字体, 大小, 颜色, 高亮底色)

    Markdown修改文字样式(字体, 大小, 颜色, 高亮底色) 简介 字体.字号与颜色 表格样式设置 背景色.文字颜色 跨行表格 想要了解更多 颜色名列表 原文参考链接 简介 Markdown是一种 ...

最新文章

  1. mysql存储base64位用什么类型_了解什么是存储引擎引发的MySQL面试3连问
  2. python里面map函数_python中的map()函数
  3. mysql 使用表 语句_【mysql】mysql 经常使用建表语句
  4. 【实操】配置Telnet与SSH
  5. 心路历程:「双非」研究生数据分析春招
  6. 计算机二级excel13,计算机二级Excel篇-实操真题详解13
  7. IBATIS中关于iterate$与#的应用
  8. mysql试题错误记录字段_MySQL这三道常见的面试题,你有被问过吗?
  9. ASP.NET文件上传大小的限制解决方案
  10. java上传文件-大文件以二进制保存到数据库
  11. Navicat基础mysql语法
  12. Firefox XPI插件安装方法
  13. 颜色的前世今生10·HSB拾色器详解
  14. 在线合并、分解PDF;PDF格式转换
  15. Redis学习笔记·
  16. 第一种可以用手机远程实时观看的网络摄像机,还带云台,报警,双向语音
  17. CAD——MV视口与图层
  18. python爬iptv直播源_GitHub - xkloveme/iptv-m3u: python 爬的直播源数据
  19. python-元组及元组的操作
  20. 网络安全的行业黑话 ——攻击篇 之攻击方法(2)

热门文章

  1. 读书笔记 - 学会写作: 五个吸引人的情节套路
  2. 萧乾升:4.14黄金,白银TD,纸白银,最新行情分析
  3. C语言基础-fscanf函数使用示例
  4. python画易烊千玺_教你如何轻松画出逼真的易烊千玺
  5. web开发编译器_Web开发人员资源:大型编译
  6. 诺亚财富通过聆讯:年营收43亿 汪静波有49%投票权,红杉是股东
  7. E. Increasing by Modulo
  8. 硬盘破坏如何启动计算机,电脑坏了怎么把硬盘里的东西弄出来
  9. [jzoj 6305] 最小值 {单调栈}
  10. L2TP客户端之Strongswan移植(一)