为什么Twitter Bootstrap使用像素字体大小?

Und*_*ion 104 mobile fonts font-size responsive-design twitter-bootstrap

鉴于Twitter Bootstrap旨在响应/设备友好,为什么它不使用相对字体大小?

Und*_*ion 129

好吧,似乎他们躲在浏览器变焦借口后面.非常难过看到这样一个使用频繁且有影响力的框架完全忽略了可访问性问题和响应式设计的基础基石.他们处于极为重要的地位,不幸的是,他们似乎无意采取相应的行动.

[更新]今天马克奥托回答了我上面引用的主题.可以预见的是,没有提到"像素完美"这一短语的可访问性和使用:

好的,所以这里有一些关于过去的决定和前进计划的背景知识.

像素为每个浏览器提供绝对控制和一致的渲染.

设计师仍主要考虑和操作像素.

浏览器最近会扩展整个页面,所以这不是类型缩放或其他任何问题.

历史上嵌套ems一直很痛苦,并且可能需要额外的数学计算/预期像素值.

混合测量单位是丑陋的,我内心的OCD讨厌它.通常不鼓励在线高上使用单位,但是可以立即知道计算值是什么.我们可能会在将来尝试避开这种情况.在未来,我们可能会使用ems进行类型调整,甚至可以使用ems,但不能用于其他任何内容.这对于输入等的字体大小也是有争议的.这并不是人们如何建立像素完美的网站.

这有点全部,希望足够连贯.我会尝试在这些变化发布时对这些变化进行博客,但我不确定3.0的接近程度以及将会带来什么变化.

我会建议任何对此有强烈感受的人,并且+1 这个帖子.

[更新] V3路线图在V2.3版本中发布博客后没有提及添加对ems的支持.

[更新]很多关于引导V3的详细信息的拉动要求提供这里包括马克·奥托如下:

我们探讨了使用rem单位而不是像素,但发现它们没有任何好处来抵消其使用的影响.IE8仍然需要一个像素回退,这是很多重复的代码行.而且,在任何地方使用rems而不是像素都会加剧这个问题.混合使用rems和像素似乎现在也没有意义.但是,我们可以并将继续在将来的版本中对此进行评估.

然后最近(在其评论中):

我非常怀疑在这一点上我们将与rems一起发货.改变所有东西 - 超出字体大小 - 是一项艰巨的任务,并且几乎没有任何好处来抵消它.除了字体大小的代码行之外,以任何其他方式支持rems似乎充其量是乏味的.也就是说,我们可以在将来的版本中重新访问.现在,我们坚持使用像素.

由于对Bootstrap的大量功能不满意,尤其是缺少支持em的功能,我强烈建议您查看Susy,如果您只是想要网格,或者Zurb Foundation 4可以看到整个辣酱玉米饼馅.不要让Bootstrap的受欢迎程度成为你的判断.任何人都可以使用Bootstrap构建一些东西,这正是它的问题 - 它专为拥有最少网络体验的人设计.仅仅因为世界上有很多麦当劳,并不意味着它是一个健康的食物.

[编辑]好的.这是一个愚蠢的说法.自从我写这篇文章以来,我已经使用了BS3,它已经大大增加了它的游戏.我不应该做出如此一次性的评论,但我仍然相信它在使用像素进行字体大小调整时做出了错误的决定.除了可访问性问题,ems在其他方面也很有用.

[更新]看起来V4 支持rems (Mdo引自此处):

对于那些跟随的人,当我们放弃IE8支持时,我们将能够在v4中从像素更改为REM.在那之前做不了多少.

[更新二月'17]引导4仍处于Alpha版,展示使用其REMS的排版文档,但并不表明使用其REMS的布局文档.

  • 具有视力问题的人增加了操作系统级别和浏览器级别字体.这些人需要`em`,因此"可访问性". (7认同)
  • 问题是看起来这里没有人解释为什么使用EM比PX更"易于接近".我的意思是好的,在纸上看起来很明显,但在现实生活中?有没有人有真实的用户坚持基于像素的网站的例子?有像素导致的真实统计数据和实际问题吗?这是我认为在这场辩论中的真正问题.缺乏证据是大多数人使用PX的原因. (4认同)
  • 基于Em的尺寸也是移动开发不可或缺的一部分.设备制造商花费金钱和时间来确定*最佳*基本字体大小,以确保其设备的易读性.当我们说"font-size:14px"时,我们将所有研究无效.这对UltraAwesomeRetina3.0意味着什么?或者在52英寸的屏幕上,每英寸像素更低?将基本字体大小留给制造商是最好的做法,简单明了.http://filamentgroup.com/lab/how-we-learned-to -leave-body-font-size-alone.html http://blog.cloudfour.com/the-ems-have-it-proportional-media-queries-ftw/ (4认同)
  • 因为我是(我只是称它)EM狂热,我喜欢你不断更新这个答案的事实...甚至更多你指出了替代方案.**+ 1**;) (3认同)

Mat*_*row 11

不要让Bootstrap的受欢迎程度成为你的判断.任何人都可以使用Bootstrap构建一些东西,这正是它的问题 - 它专为拥有最少网络体验的人设计.仅仅因为世界上有很多麦当劳,并不意味着它是一个健康的食物.

你可以争辩说不要让它以负面的方式掩盖你的判断.这是一个坚实的框架,如果你懒得把时间投入到如何有效地使用它,你的大部分论点都落在它的头上.

虽然它经常被人以最小的经验-并没有什么错-它也被人们提供了大量的经验.

至少,它是一个非常宝贵的原型设计工具.在最好的情况下,它是完全可定制的.您可以选择,修改,添加 - 这就是它被称为"框架"的原因.

我已经在我的一些项目中有效地使用了它超过两年 - 它像你想要的那样精益求精.我只使用了表单框架,网格,整个代码库,并根据我的需求进行了自定义.在很多方面,它"提升"了我的游戏,让我进一步进行预处理,使用变量,磨练我构建项目的方式.

是的,有一些问题.px对于字体大小和使用Less是两个.但是,因为它是完全开源的,所以您可以找到可以轻松解决这两个问题的选项.

我调查了基金会并喜欢我所看到的内容,但我不得不支持IE8,不像许多开发人员那样.基金会已经放弃了对IE8的支持,这对我来说是"不行".尽管如此,我不打算忽略整个框架,特别是可以免费使用并且仅基于一些问题可以自由修改的框架!

哎呀,在一个项目中,我取消了部分基础和部分Bootstrap,并添加了我自己的自定义代码 - 这就是开源之美.

  • 这是完全公平的,说实话,使用Bootstrap 3,我认为它确实加强了它的游戏.回想起来,这有点愚蠢的说法,但它是出于挫折而产生的,我仍然认为我看到使用Bootstrap的大多数网站都非常懒惰地使用它.它是原型设计和非公共对象页面的一个很好的工具 - 管理区域等.如果使用它的人理解如何超出其默认设置的风格,它也可以成为面向公众的网站的一个很好的工具.像任何工具一样,它很容易被滥用,我认为易用性是导致(ab)使用量的结果. (6认同)
  • 是的,我听到了你 - 有时候你对编码感到愤怒,你猛烈抨击:)至少,使用bootstrap 3.0,当被滥用时,有*一些*标准到位.这同样适用于基金会.可以从两者中学到很多东西.最终,考虑到时间,"滚动自己"是前进的方向. (2认同)
  • 发表回答评论另一个答案有点令人困惑......(只是说) (2认同)

iva*_*loc 6

如果你仍然喜欢使用em和rem支持Bootstrap,你可以看看这个 - https://github.com/ivayloc/twbs-rem-em没有必要进行任何计算来转换rem或em单位的像素,有内置的@mixins- @include rem(property, values)- 也可以回退到px和你可以使用的转换em(value).