CSS 中的单位
为什么要使用相对单位
CSS 带来的抽象性也带来了额外的复杂性。如果给一个元素设置 800px 的宽度,在小窗口下会是什么样?水平菜单如果无法在一行显示会是什么样?在写 CSS 的时候,我们既要考虑整体性,也要考虑差异性。当有很多方法解决同一个问题时,我们要选择能够兼顾更多情况的方法。
相对单位就是 CSS 用来解决这种抽象的一种工具。我们可以基于窗口大小来等比例地缩放字号,而不是固定为 14px,或者将网页上的任何元素的大小都相对于基础字号来设置,然后只用改一行代码就能缩放整个网页。
对于用户体验上也是需要考量的点:有些浏览器给用户提供了两种方式来设置文字大小:缩放操作和设置默认字号。按住 Ctrl + 或 Ctrl - 用户可以缩放网页。这种操作会缩放所有的字和图片,让网页整体放大或者缩小。在某些浏览器中,这种改变只会临时对当前标签页生效,不会将缩放设置带到新的标签页。设置默认字号则不一样。不仅很难找到设置默认字号的地方(通常在浏览器的设置页),而且用这种方式改变字号会永久生效,除非用户再次修改默认值。这种方式的缺点是,它不会影响用 px 或者其他绝对单位设置的字号。由于默认的字号对某些用户而言很重要,尤其是对视力受损的人,所以应该始终用相对单位或者百分比设置字号