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