使用Ems更改字体大小
在构建网页时,大多数专业人员建议您使用诸如ems,exs,百分比或像素等相对度量来设置字体大小(实际上是所有内容)。 这是因为你真的不知道某人可能会查看你的内容的所有不同方式。 如果您使用绝对度量(英寸,厘米,毫米,点或皮卡),则可能会影响不同设备中页面的显示或可读性。
W3C建议您使用ems作为尺寸。
但是有多大?
根据W3C的标准:
“等于它所使用的元素的'font-size'属性的计算值,当'font-size'属性本身的值出现'em'时就是例外,在这种情况下,它引用到父元素的字号。“
换句话说,ems没有绝对大小。 他们根据他们的位置来确定他们的规模。 对于大多数Web设计人员来说 ,这意味着他们在Web浏览器中,所以1em高的字体与该浏览器的默认字体大小完全相同。
但是默认大小有多高? 由于客户可以在其浏览器中更改其默认字体大小,因此无法100%确定,但由于大多数人不这么做,因此您可以认为大多数浏览器的默认字体大小均为16px。 所以大部分时间1em = 16px 。
用像素思考,用Ems来衡量
一旦您知道默认字体大小为16px,您就可以使用ems让您的客户轻松调整页面大小,但以像素为单位考虑字体大小。
假设你有一个这样的大小结构:
- 标题1 - 20px
- 标题2 - 18px
- 标题3 - 16px
- 正文 - 14px
- 子文本 - 12px
- 脚注 - 10px
您可以使用像素来进行测量,然后使用IE 6和7的任何人都无法很好地调整页面大小。 所以你应该把尺寸转换成ems,这只是一些数学问题:
- 标题1 - 1.25em(16 x 1.25 = 20)
- 标题2 - 1.125em(16×1.125 = 18)
- 标题3 - 1em(1em = 16px)
- 正文 - 0.875em(16 x 0.875 = 14)
- 子文本 - 0.75em(16 x 0.75 = 12)
- 脚注 - 0.625em(16 x 0.625 = 10)
不要忘记继承!
但是,这并不是所有的ems。 你需要记住的另一件事是他们承担父母的大小。 所以如果你有不同字体大小的嵌套元素,你可能会得到比你期望的更小或更大的字体。
例如,你可能有这样的样式表:
p {font-size:0.875em; }
.footnote {font-size:0.625em; }
这将导致主文本和脚注分别为14px和10px的字体。 但是,如果您在段落中添加脚注,则最终可能会显示8.75px而非10px的文字。 试试吧,把上面的CSS和下面的HTML放到一个文档中:
该字体的高度为14px或0.875 ems。
本段有一个脚注。
虽然这只是一个脚注段落。
脚注文本很难在10px处阅读,在8.75px处几乎难以辨认。
因此,当您使用ems时,您需要非常了解父对象的大小,否则最终会在页面上出现一些非常奇怪的大小元素。