代码实例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> h1 {font-size:2.5em;} /* 40px/16=2.5em */ h2 {font-size:1.875em;} /* 30px/16=1.875em */ p {font-size:0.875em;} /* 14px/16=0.875em */ </style> </head> <body> <h1>这是标题1</h1> <h2>这是标题2</h2> <p>这是一个段落。</p> <p>在em中指定字体大小允许所有主要浏览器调整文本大小。 不幸的是,旧版本的IE仍然存在问题。当调整文本大小时,它会变得比应该的大/小。 </p> </body> </html>
尝试一下 »
点击“尝试一下”按钮查看在线实例
用em来设置字体大小
为了避免 Internet Explorer 中无法调整文本的问题,许多开发者使用 em 单位代替像素。
em 的尺寸单位由W3C建议。
1em 和当前字体大小相等。在浏览器中默认的文字大小是16px。
因此,1em的默认大小是16px。可以通过下面这个公式将像素转换为em:px/16=em
(注:16 等于父元素的默认字体大小,假设父元素的 font-size 为 30px,那么公式需改为:pixels/30=em)
实例
h1 {font-size:2.5em;} /* 40px/16=2.5em */
h2 {font-size:1.875em;} /* 30px/16=1.875em */
p {font-size:0.875em;} /* 14px/16=0.875em */
h2 {font-size:1.875em;} /* 30px/16=1.875em */
p {font-size:0.875em;} /* 14px/16=0.875em */
在上面的例子,em 的文字大小是与前面的例子中像素一样。不过,如果使用 em 单位,则可以在所有浏览器中调整文本大小。
不幸的是,仍然是 IE 浏览器的问题。调整文本的大小时,会比正常的尺寸更大或更小。