Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
长CSS类名对性能有影响吗?_Css_Performance - Fatal编程技术网

长CSS类名对性能有影响吗?

长CSS类名对性能有影响吗?,css,performance,Css,Performance,我正在构建一个包含一个主题的JS脚本,为了运行多个主题,每个类名都有一个前缀——这使得类名有点长 我也有CSS规则,这取决于元素是否有更多的类名以提供特殊效果 我的问题是较长的CSS类名会对性能产生影响,还是仅仅错误/错误/低效地使用选择器会降低性能?较长的类名肯定会对性能产生影响。首先,将有更多的东西需要传输和解析。然而,它们会产生可衡量的影响吗?可能不会。由于缓存,传输只发生一次,与实例渲染相比,对解析的影响可能可以忽略不计 通常,只有在遇到性能问题时,才应该开始考虑此类性能优化。在针对可能

我正在构建一个包含一个主题的JS脚本,为了运行多个主题,每个类名都有一个前缀——这使得类名有点长

我也有CSS规则,这取决于元素是否有更多的类名以提供特殊效果


我的问题是较长的CSS类名会对性能产生影响,还是仅仅错误/错误/低效地使用选择器会降低性能?

较长的类名肯定会对性能产生影响。首先,将有更多的东西需要传输和解析。然而,它们会产生可衡量的影响吗?可能不会。由于缓存,传输只发生一次,与实例渲染相比,对解析的影响可能可以忽略不计

通常,只有在遇到性能问题时,才应该开始考虑此类性能优化。在针对可能的性能问题进行优化之前,最好使用表达性名称来提高css的可读性(任何类型的代码都是如此)

对于选择器,它们可能会对性能产生更大的影响,因为根据选择器的复杂性和DOM的大小,可能需要执行相当多的代码(与长类名相比相当多)。但是,再次尝试创建最可读/可理解的选择器,并且只有在对性能产生可测量影响时才开始优化它(您可以使用firebug或chrome的开发人员工具进行评测)

较长的CSS类名会对性能产生影响,还是只会错误/错误/低效地使用选择器会降低性能


更长的类名我不认为这有什么关系,我更喜欢短一点,但对于一些应用程序或插件来说,这是不可能的——PageSpeed和Y!Slow或我访问过的任何其他性能推荐网站,提到类名的长度是一个问题-,但是整个选择器的效率肯定越高,Facebook的类名的性能就越好:
buddyListTypeahead
uiTypeaheadView
UIU more
fbPrivacyWidget
fbProfileThumbRemoveX
sideNavSectionContent
,等等@Šime Vidas:Yep,但我有类似.wf default input wrapper.wf-default-top-left.wf-default-focus{}的CSS规则这相当于您的示例中facebook使用量的3倍问题是,由于它是供其他人使用的插件,我不知道DOM树有多复杂或多大。@Splynx:那么,如果您真的关心性能,尝试提出一些合理的假设,任何人使用你的插件的最大复杂性是多少,然后尝试模拟这种使用并测量性能。如果表现还行(我很确定),你应该还行。为了安全起见,您也可以使用较旧的计算机和带有优化程度较低的Javascript引擎的较旧的浏览器。@JanickBernet gzip使您的
字节在线路上冗余。可读性和可维护性总是胜过试图保存键入或传输的字符。