CSS文本转换是“昂贵的”

时间:2011-01-31 11:11:28

标签: css performance transform

CSS text-transform在处理方面是否昂贵?在我看来,浏览器被迫做一些通常不需要的工作(如果你没有转换),但这是一个大量的处理?它会影响性能吗?

3 个答案:

答案 0 :(得分:17)

可能需要从客户端的浏览器进行更多处理,但除非您正在转换页面和文本页面(如果您正在这样做,那么您做错了),这将是完全无关紧要的。

你也有把CSS属性写在样式表(较重的文件)中的开销,但是再一次只有几个字符,不应该有任何区别。


我很好奇所以我运行了一些基本的基准测试。在Firefox 3上,我显示了一个包含200段Lorem Lipsum的页面。

渲染时间介于 0.150s至0.175s

之间

添加text-transform:none时,我发现没有任何显着差异。

添加text-transform:uppercase时,现在需要 0.350s和0.380s

添加text-transform:capitalize时,现在需要 0.320s和0.350s

添加text-transform:lowercase时,现在需要 0.320s和0.350s

显然我们确实有一些开销处理这个问题,但我再次将数百条线路资本化,而且只花费0.2秒。因此,如果我是你,我会在不考虑性能太多的情况下使用它,除非你想对大量文本进行文本转换。

答案 1 :(得分:4)

如果您正在为移动设计,那么每一点都有帮助。如果它不是动态的,那么用大写

输出

答案 2 :(得分:2)

我没有看到为什么它应该比任何其他CSS风格更“昂贵”的任何理由。它所做的只是将一个字符串转换为大写/小写,这几乎不是计算机可以被要求做的最费力的过程。

我将它与斜体或粗体显示进行比较;这两种样式都有效地改变了整个字符串的字体,但是如果它对浏览器来说是处理器密集型的话,你不会考虑不使用它们吗?对吗?

如果您使用的是非拉丁字符集,那么您唯一可以想象text-transform有困难的时候就是这种情况,在这种情况下转换为大写/小写可能没有意义。但你可以非常肯定的是,有更多的制造商已经完成了这项工作。 (无论如何,如果你处于那个位置,为什么你甚至想要使用text-transform?)