CSS 字体大小


字体大小

font-size 属性设置文本的大小。

在网页设计中,能够管理文本大小很重要。但是,不应使用调整字体大小来使段落看起来像标题,或是使标题看起来像段落。

请始终使用正确的 HTML 标签,例如 <h1> - <h6> 用于标题,而 <p> 仅用于段落。

font-size 值可以是绝对或相对大小。

绝对尺寸:

  • 将文本设置为指定大小
  • 不允许用户在所有浏览器中更改文本大小(可访问性不佳)
  • 当输出的物理尺寸已知时,绝对尺寸很有用

相对尺寸:

  • 设置相对于周围元素的大小
  • 允许用户在浏览器中更改文本大小

提示:如果您没有指定字体大小,则普通文本(如段落)的默认大小为 16px(16px = 1em)。


以像素设置字体大小

使用像素设置文本大小可以完全控制文本大小:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. h1 {
  6. font-size: 40px;
  7. }
  8. h2 {
  9. font-size: 30px;
  10. }
  11. p {
  12. font-size: 14px;
  13. }
  14. </style>
  15. </head>
  16. <body>
  17. <h1>这是标题 1</h1>
  18. <h2>这是标题 2</h2>
  19. <p>这是一个段落。</p>
  20. <p>这是另一个段落。</p>
  21. </body>
  22. </html>

提示:如果您使用了像素,则仍然可以使用缩放工具来调整整个页面的大小。


用 em 设置字体大小

为了允许用户调整文本大小(在浏览器菜单中),许多开发人员使用 em 而不是像素。

W3C 建议使用 em 尺寸单位。

1em 等于当前字体大小。浏览器中的默认文本大小为 16px。因此,默认大小 1em 为 16px。

可以使用这个公式从像素到 em 来计算大小:pixels/16=em。

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. h1 {
  6. font-size: 2.5em; /* 40px/16=2.5em */
  7. }
  8. h2 {
  9. font-size: 1.875em; /* 30px/16=1.875em */
  10. }
  11. p {
  12. font-size: 0.875em; /* 14px/16=0.875em */
  13. }
  14. </style>
  15. </head>
  16. <body>
  17. <h1>这是标题 1</h1>
  18. <h2>这是标题 2</h2>
  19. <p>这是一个段落。</p>
  20. <p>用 em 设置字体大小允许所有主要浏览器调整文本大小。遗憾的是,旧版本的 IE 仍然存在问题。在调整文本大小时,会变得比原来更大或更小。</p>
  21. </body>
  22. </html>

在上例中,em 单位的文本大小与上一个例子中的像素大小相同。但是,若使用 em 尺寸,则可以在所有浏览器中调整文本大小。

遗憾的是,旧版本的 Internet Explorer 仍然存在问题。放大文本时它比应该大的尺寸更大,缩小文本时会更小。


使用百分比和 Em 的组合

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. body {
  6. font-size: 100%;
  7. }
  8. h1 {
  9. font-size: 2.5em;
  10. }
  11. h2 {
  12. font-size: 1.875em;
  13. }
  14. p {
  15. font-size: 0.875em;
  16. }
  17. </style>
  18. </head>
  19. <body>
  20. <h1>这是标题 1</h1>
  21. <h2>这是标题 2</h2>
  22. <p>这是一个段落。</p>
  23. <p>以 % 和 em 中设置字体大小会在所有主要浏览器中显示相同的大小,并允许所有浏览器调整文本大小!</p>
  24. </body>
  25. </html>

我们的代码目前运行良好!它在所有浏览器中显示相同的文本大小,并允许所有浏览器缩放或调整文本大小!


响应式字体大小

可以使用 vw 单位设置文本大小,它的意思是“视口宽度”("viewport width")。

这样,文本大小将遵循浏览器窗口的大小,请调整浏览器窗口的大小,以查看字体大小如何缩放:

  1. <!DOCTYPE html>
  2. <html>
  3. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  4. <body>
  5. <h1 style="font-size:10vw;">响应式文本</h1>
  6. <p style="font-size:5vw;">请调整浏览器窗口的大小,以查看文本大小如何缩放。</p>
  7. <p style="font-size:5vw;">调整文本大小时,请使用 "vw" 单位。 10vw 将尺寸设置为视口宽度的 10%。</p>
  8. <p>视口是浏览器窗口的大小。 1vw = 视口宽度的 1%。如果视口为 50 厘米宽,则 1vw 为 0.5 厘米。</p>
  9. </body>
  10. </html>

视口(Viewport)是浏览器窗口的大小。 1vw = 视口宽度的 1%。如果视口为 50 厘米宽,则 1vw 为 0.5 厘米。

分类导航