1

我见过一些设计,其中开发人员定义了非常长的百分比值。我想知道写这么长的值的原因是什么,为什么不四舍五入呢?以及如何计算/转换这些值?

例如(取自 css 文件):

.thumbnail { width: 68.08510638297872%; }
table { font-size: 0.9166666666666667em; }
4

4 回答 4

3

他们很可能正在使用某种 CSS 模板引擎(如Sass)从代码生成样式表,并设置基于百分比计算的宽度。

于 2012-06-15T09:07:21.947 回答
3

在书中,Responsive Web DesignEthan Marcotte 实际上提倡在计算基于百分比的宽度时将所有数字保留在小数点后,以提供最大的准确性,即使开发人员自己使用计算器计算宽度也是如此。

编辑:我刚刚翻出了这本书的副本,这是 Marcotte 的推理:

现在,您可能会想将 0.45833333333333em 舍入到最接近合理的数字,例如,到 0.46em。但不要碰那个删除键!看着它可能会让你的眼睛流血,但 0.458333333333333 在比例方面完美地代表了我们想要的字体大小。更重要的是,浏览器非常擅长四舍五入那些多余的小数位,因为它们在内部将值转换为像素。所以给他们更多的信息,而不是更少,最终会让你获得更好的结果。

于 2012-06-15T09:09:14.767 回答
2

大多数客户希望在浏览器中拥有一个像素完美的网站,具有可缩放的字体大小和 Web 内容。开发人员使用了长百分比,以使其与布局完美匹配。

百分比和 em 是可缩放单位,不是像素相关单位,在某些分辨率或字体大小比例下,元素与布局不匹配,您可以使用更多小数位使其精确。

像 Chrome 或 Firefox 这样的新浏览器一次缩放字体和元素,不会发生这个问题,但是像 ie 6-7 这样的旧浏览器没有这个功能,必须用 em 或百分比单位来学习它。

我希望它能帮助你理解这个问题

于 2012-06-15T09:15:08.307 回答
2

在我看来,这些数字是通过程序生成的,而不是由人类直接生成的。没有苏格兰人会做这样的事。好吧,没有真正的苏格兰人:-)

可能它们来自一个所见即所得的布局编辑器,它不太关心可读性,从不指望任何人去手动编辑输出。

于 2012-06-15T09:07:13.717 回答