通过CSS的**emrem或视口单位(如vwvh**)等相对单位,使得字体大小能够响应系统级的字体设置。

Untitled

1. 使用 em 单位

em 单位是相对于其直接或更近的父元素的字体大小。如果父元素的字体大小变了,使用 em 单位的元素的字体大小也会相应地改变。

body {
    font-size: 16px; /* 设置基本字体大小 */
}

h1 {
    font-size: 2em; /* 等于基本字体大小的2倍,即32px */
}
  1. 使用 rem 单位

rem(root em)单位相对于根元素(html元素)的字体大小。这意味着你可以通过改变根元素的字体大小来调整整个页面的字体大小,这对于实现响应式设计特别有用。

html {
    font-size: 16px; /* 根元素字体大小 */
}

h1 {
    font-size: 2rem; /* 等于根元素字体大小的2倍,即32px */
}
  1. 使用窗口单位 vwvh

窗口宽度单位(vw)和窗口高度单位(vh)分别基于窗口的宽度和高度。例如,1vw 等于窗口宽度的1%,而 1vh 等于窗口高度的1%。使用窗口单位可以使元素的字体大小根据窗口大小的变化而动态调整,非常适合制作完全响应式的设计。

h1 {
    font-size: 5vw; /* 字体大小为视口宽度的5% */
}

p {
    font-size: 2vh; /* 字体大小为视口高度的2% */
}
  1. Android通过使用尺寸单位sp(scale-independent pixels)来支持不同的字体大小设置。最大字体大小同样是基于系统默认大小的一个比例,具体的最大值取决于设备的设置和可能的制造商定制。
  2. 在ios里,点(pt)在iOS开发中用作一个逻辑单位,以帮助适配不同的屏幕密度,点(pt)提供了一种与设备屏幕密度解耦的方式来指定尺寸和布局参数,从而在设计应用时保持一致性和清晰度。

选择em还是rem?

简单概括就是:em相对于父元素,rem相对于根元素,字体通常来说用rem是会更加可控的。

总结

通过合理选择和组合这些单位,可以更好地适应不同设备和用户的系统设置偏好。