考虑到 Twitter Bootstrap 的设计旨在响应各种设备,为什么它不使用相对字体大小?
考虑到 Twitter Bootstrap 的设计旨在响应各种设备,为什么它不使用相对字体大小?
我建议所有对此有强烈感受的人前往+1这个帖子。
[更新] V2.3发布博客文章中概述了V3路线图,未提及添加ems支持。
[更新] 在这里的拉取请求中提供了更多关于Bootstrap V3的信息,包括来自Mark Otto的以下内容:
我们探索了使用rem单位而不是像素,但发现它们的使用效果不太好。IE8仍然需要像素回退,这是很多重复代码行。此外,到处使用rem而不是像素会加剧这个问题。目前似乎混合使用rems和像素也没有意义。然而,我们可以并将在未来的版本中继续评估这一点。
最近(在评论中):
我非常怀疑我们会在这一点上使用rems。改变除字体大小之外的所有内容是一项巨大的任务,并且几乎没有任何好处可以抵消它带来的影响。除了字体大小之外,双倍行代码的支持rems似乎很繁琐。话虽如此,我们总可以在以后的版本中重新考虑。现在,我们仍然坚持使用像素。[编辑] 好的。这是一个愚蠢的话。自从我写了这篇文章以来,我已经使用了BS3,并且它的表现有了很大的提升。我不应该随意评论,但我仍然相信,在字体大小方面使用像素是一个糟糕的决定。除了可访问性问题外,em在其他方面也十分有用。
[更新] 看起来rems将会在V4中得到支持(Mdo从这里引用):
对于那些跟进的人,当我们放弃IE8支持时,我们将能够从像素转换为REMs。在那之前无能为力。
[更新Feb'17] Bootstrap 4仍处于Alpha版本,但其Typography文档中显示使用了rems,但layout文档中没有显示使用rems。
px
来定义字体大小以及使用Less是其中两个问题。不过由于它完全开源,你可以很容易地找到解决这两个问题的选项。@mixins
- @include rem(property, values)
- 用于此目的,同时还具有针对px的后备和用于em转换的em(value)
。Bootstrap并不完美,但我怀疑它从来没有打算成为您所有需求的最终答案。它是一个基础 - 一个“引导”,学习并正确利用它,添加内容,混合在一起 - 至少,它是一个很棒的框架,用于原型设计或快速构建网站。更进一步地说,在其中有一些非常坚实的基础可以应用于任何网站。
我认为这是因为桌面优先的方法。Twitter Bootstrap 友好响应式,但采用了“优雅降级”的方法。