CSS:为什么要定义非常长的%值?

时间:2012-06-15 09:04:25

标签: css

我见过一些设计,开发人员已经定义了很长的百分比值。我想知道写这么长的价值的原因是什么,为什么不绕过?你如何计算/转换这些值呢?

例如(取自css文件):

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

4 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:3)

在书中Responsive Web Design Ethan Marcotte实际上主张在计算基于百分比的宽度时将所有数字留在小数位后,以提供最高的准确度,即使开发人员使用计算器自己计算宽度。 / p> 编辑:我刚刚挖出了我的书副本,这是Marcotte的推理:

  

现在,您可能想要将0.45833333333333em舍入到最近的位置   看起来很健壮的数字 - 比如0.46em。但是请勿触摸删除键!   它可能会让你的眼睛流下来看它,但0.458333333333333   完全按比例表示我们所需的字体大小。   更重要的是,浏览器非常善于完善那些过剩的东西   小数位,因为它们在内部将值转换为像素。所以   给予他们更多信息,而不是更少,将为您带来更好的结果   最后。

答案 2 :(得分:2)

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

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

答案 3 :(得分:2)

大多数客户希望在浏览器中使用scalabel字体大小和网络内容的像素完美网站。 开发人员使用了很长的百分比,以使其与布局完美匹配。

Percent和em是一个可缩放的单位,而不是与像素相关的单位,在某些分辨率或字体大小的尺度上,该元素与布局不匹配,您可以使用更多的小数位来精确定位。

较新的浏览器(如Chrome或Firefox)会立即缩放字体和元素并且不会出现此问题,但是像6-7这样的旧浏览器没有此功能,必须以em或百分比单位学习。

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