因此,只需将将段落的 font-size 设置为 1.5em 就可以了,这条规则就表示段落文本的字体大小为父元素文本大小的1.5 倍:
1 2 3 |
|
% 的参考基准也是父元素,100% 也总是等于父元素 font-size属性的值,即 1em 就等于 100%。也就是说,在用 % 定义字体大小时,只需将 em 的值换算成相应的百分数即可。因此,以下两条声明会得到相同的结果(假设两个段落具有相同的父元素):
1 2 3 4 5 6 |
|
需要注意的是,尽管 font-size 是可以继承的,但在使用 % 和 em 定义字体大小时,子元素继承的是计算结果的值,而不是 % 和 em 的数字。并且,% 和 em 还可以累积。考虑以下代码:
1 2 3 4 5 6 7 8 9 |
|
1 |
|
上述代码中,p 为父元素,em 为 p 的子元素,strong 为 em 的子元素。em 元素的基准是 p 元素,而 strong 元素的基准是 em 元素。计算结果如下:
1 2 |
|
得到的运行结果如下图所示:
在这种多层嵌套的情况下,如果某一个计算结果不是整数,浏览器可能就会取整,子元素再继承取整后的值。如果嵌套很深,下层的字体大小就越来越偏离实际计算值。并且,由于参考基准总是随着元素发生变化,嵌套越深,计算起来也就越困难。
鉴于此,CSS3中新增的一个相对单位 rem(root em的简称),它总是以文档的根元素(即 html 元素)为参考基准,来设置其它元素的字体大小,即 1rem 相当于 html 元素 font-size属性的值。考虑以下代码:
1 2 3 4 5 6 |
|
上述声明中,p 元素的字体大小将是 html 字体大小的1.4倍,则计算得到 p 元素的字体大小就是1.4 × 10px = 14px。
这样一来,无论嵌套多少层,参考基准始终不变,计算字体大小就变得容易多了。不过,需要注意的是,rem 是CSS3新增的一个相对单位,IE9 以下版本的老浏览器却不支持它,这也是很多编程人员尚未使用 rem 的原因。
在定义字体大小时,笔者建议在 html 元素中定义绝大多数元素所需要的字体大小,并让所有子元素继承 html 的字体大小。如果某个子元素需要要改变字体大小,则使用相对尺寸 em 或 % 或 rem 重新定义。
这样做的好处是,一方面,绝大多数元素都不必定义字体大小,减少不必要的定义;另一方面,如果完成所有的文字排版后,又要统一调整页面文字大小,就可以只修改 html 中的字体大小,其它所有文字的字体大小会自动变化,修改起来就很容易。
说明:
在某些特殊场景下,需要把 font-size 的值设置为0,来隐藏某些文本。但是,在IE6和IE7中,font-size: 0 的文本却变成了小黑点,并没有完全隐藏。
解决这个问题的最简单办法,就是在 font-size: 0 的同时,把 text-indent 属性设置为一个很大的负值,让这些文本显示在屏幕之外,自然就被隐藏起来。
(学习视频分享:css视频教程)
以上就是css样式中怎么设置字体大小的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
更多相关阅读请进入《css样式》频道 >>

Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者