`

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

阅读更多

在如今这个提倡可用性设计以及用户体验设计的网络时代,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代码的调整,你会发现自己的网站又向用户体验设计更靠近了一步,在如今这个提倡可用性设计以及用户体验设计的网络时代这是很重要的。

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>脚本之家测试</title>

<style type="text/css" >

body{

font-size:63%;

}

</style>

</head>

<body>

<p style="font-size:1.2em;">font-size:1.2em 脚本之家 (可以调整)</p>

<p style="font-size:12px;">font-size:12px 脚本之家 (不能调整)</p>

<p style="font-size:1.2em; color:#F90;">你可以通过IE顶部菜单中的“查看-文字大小“来调整字体显示尺寸</p>

</body>

</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字体单位和line-height详解

    px(pixel)像素 相信大家对像素这个名词并不陌生,接下来来介绍下这个单位的一些小知识点: pixel 是 picture(图片)和element(元素)这两个词组成的.pixel...那么来介绍下在css样式中em呈现的是什么样的效果吧: 如果当前子

    HTML5&CSS3网页制作:字体样式属性.pptx

    为了更方便的控制网页中各种各样的字体,CSS提供了一系列的字体样式属性。 6 @font-face属性用于定义服务器字体。 7 word-wrap属性用于长单词和URL地址的自动换行 1 font-size属性用于设置字号。 2 font-family属性...

    Web前端与移动开发之css字体属性.txt

    2.font-size 字体大小 谷歌浏览器默认 16px 不同浏览器默认值不同 所以一般需要指定字体大小 避免浏览器之间的差异 标题标签比较特殊 需要单独指定大小 通常给body设置 3.font-weight 字体粗细 normal正常/...

    postcss-pxtorem:使用PostCSS将像素单位转换为rem(根em)单位

    postcss-pxtorem 的插件,可从像素单位生成rem单位。 安装 $ npm install postcss postcss-pxtorem --save-dev 用法 像素是最容易使用的单位(观点)。 它们的唯一问题是它们不允许浏览器将默认字体大小更改为16。...

    使用HTML开发商业网站-CSS3设计文本样式课件.pptx

    font-size (绝对大小/相对大小/长度值/百分比) font ([ &lt;'font-style'&gt; || &lt;'font-variant'&gt; || &lt;'font-weight'&gt; ]? &lt;'font-size'&gt; [ / &lt;'line-height'&gt; ]? &lt;'font-family'&gt;) 字体属性 文本属性 line-height (2em/...

    CSS样式大全

    囊括了大部分css样式的使用方法, CSS样式 样式样式 样式属性大全 属性大全属性大全 属性大全 字体属性: (font) 大小 font-size: x-large;(特大) xx-small;(极小) 一般中文用不到,只要用数值就可以,单位:...

    CSS,链接样式大全

    字体属性:(font) 大小 {font-size: x-large;}(特大) xx-small;(极小) 一般中文用不到,只要用数值就可以,单位:PX、PD 样式 {font-style: oblique;}(偏斜体) italic;(斜体) normal;(正常) 行高 {line-height: ...

    css常用代码大全

    大小 {font-size: x-large;}(特大) xx-small;(极小) 一般中文用不到,只要用数值就可以, 单位:PX、PD 样式 {font-style: oblique;}(偏斜体) italic;(斜体) normal;(正常) 行高 {line-height: normal;}(正常) 单位...

    H5+CSS3.zip

    css字体样式:font-family设置字体系列,font-size设置字体大小,font-weight设置字体粗细,font-style设置字体样式,color设置字体颜色的三种形式,font的简写; css文本样式:使用text-decoration添加文本修饰,...

    CSS最常用的样式代码

    大小 {font-size: x-large;}(特大) xx-small;(极小) 一般中文用不到,只要用数值就可以,单位:PX、PD 样式 {font-style: oblique;}(偏斜体) italic;(斜体) normal;(正常) 行高 {line-height: normal;}(正常) 单位:...

    css样式表汇总新手专用

    大小 {font-size: x-large;}(特大) xx-small;(极小) 一般中文用不到,只要用数值就可以,单位:PX、PD 样式 {font-style: oblique;}(偏斜体) italic;(斜体) normal;(正常) 行高 {line-height: normal;}(正常) 单位:...

    css文字控制与css文本样式示例和属性

    :设置行与行之间的距离(单位可用px或者em或者百分比)5、font-weight:bold:设置字体的粗细(粗:bold 正常:normal) 6、font-variant : normal正常 | small-caps小型的大写字母字体7、font—style:设置字

    vim-px-to-em:使用简单的 vim 命令将像素转换为 em 或将 em 转换为像素。 使 CSS 样式表的字体大小单位转换变得容易

    Vim-px-to-em - 将 px 转换为 em 或 em 转换为 px 使您的 CSS 样式表的字体大小单位转换变得容易!安装病原体安装导航到本地 Vim 设置中的[VIM_ROOT]/bundle目录git 克隆用法要将像素转换为 em,请在可视模式下选择...

    css常用样式font设置字体的多种变换(实例详解)

    font-size控制字体大小,我们设置字体大小是设置它的宽度,它的高度一般电脑系统默认字体大小是16px,所以字体大小尽量不要低于16px,1em=16px; font-weight: bold;/*控制字重 一般是100-900 常用lighter(细体) ...

    超全面CSS样式整理

    大小 {font-size: x-large;}(特大)xx-small;(极小) 一般中文用不到,只要用数值就可以,单位:PX、PD  样式 {font-style: oblique;}(偏斜体)italic;(斜体) normal;(正常)  行高 {line-height: normal;}(正常) 单位...

    关于CSS中字体设置的相关说明

    CSS样式最混乱的一个方面是应用程序中文本扩展的font-size属性。在CSS中,你可以用四个不同的单位度量来显示在web浏览器中的文本大小。这四个单位哪一种最适合Web? 这个问题引起了广泛的争论。找到一个确定的答案是...

    html的个人学习笔记 html-css.html

    注意:字体大小与字体样式不可少并且顺序不能变,并且仅限于以上四个属性 1.文本装饰的属性(td + tab) 格式:text-decoration: underline; 取值:underline 下划线 line-through 删除线 overline 上划线 none...

    了解和使用CSS中的rem单位

    与他们的音乐同伴不同,它们在深度睡眠期间被称为“快速眼动”,而CSS rem则代表“ root em”。他们不会使您失去宗教信仰,也不会相信月球上的男人。他们可以做的是帮助您实现和谐均衡的设计。 根据W3C规范,一个rem...

    css入门笔记

    使用css样式方式 1.内联样式 行内样式 特点:将css样式定义在HTML标记中 语法: 样式声明:用样式属性和值组成(属性:值;) 常用的样式属性: 1.颜色 属性 :color 颜色 取值:颜色英文名 2.背景颜色 ...

    Interview-kraken:只是另一个前端面试助手

    目录 网络/服务器 ...这是一个示例答案 ...计算与rem相似,唯一的变化是基本font-size是父font-size的大小 em赋予了控制设计区域的能力 CSS的特异性 带有!important的css将具有最高优先级嵌入式样式将始终比外

Global site tag (gtag.js) - Google Analytics