探索“关键渲染路径’如何可以提高性能,并最终保持快乐的游客
关键的渲染路径是从谷歌的工程师开创一个想法,但已接受由更广泛的网络社区是一个好主意。
它的关键是确保该路径来呈现页面的给用户的可用部分是尽可能短。这将确保一个快速的第一渲染页面,并使用你的网站一个快乐的人。虽然它并不直接影响的CSS,它影响CSS被如何包含一个页和理解上的浏览器如何解释CSS是实现更快的站点的一种方法。
在“路径”描述了一系列绝对必须出现在页面呈现事件。之所以瞄准这一领域作为一个优化的热点是,它往往不考虑。在过去,我们经过初步呈现集中在页面权重,而不是时间和性能。从这个角度看也有一些唾手可得,使一些快速和节约显著的性能。
你必须权衡对游客的优点和缺点没有启用JS和经验,他们将有
首先,我们希望尽量减少文件的通过连接和缩小CSS和JS装载量。这减少发出的HTTP请求的量。你也可以使用技术来延迟加载图像,以便显示只是初步的。请注意,您必须权衡上启用JS没有游客,他们将有经验的优点和缺点。
一,艾滋病这是尽量减少“渲染阻挡CSS”的做法。这可能意味着内联样式有关的视口的顶端(被示出的人的设备上)。的风格,其余就可以在后台下载并准备好当人需要他们。这种技术增加了一点复杂性的网站,因为它需要大致知道多少页将每个设备和其样式需要包括以覆盖示出的标记倍以上显示。值得庆幸的是还有一些采取的痛苦了这样自己的工具。
工具来帮助你
CriticalCSS由丝集团认为上述的非折叠式CSS每页和它输出到一个单独的文件。如果你已经有了一个构建过程中,阿迪·奥斯马尼的关键模块可直接与吞咽用于一举提取和内联样式,但是它依赖于基本的HTML页面。阁楼由pocketjoso没有自动检测到的款式,但是如果你有很多款式由小于香草HTML更复杂的JavaScript或使用网页注入可能是有用的。从历史上看,混合风格和脚本标记已经令人难以接受的,但随着技术的发展我们意识到,他们都紧密耦合。对于关键的渲染路径有人主张将内嵌样式动态注入页面被之前:性能优势已被证明,但还是有阻力别人觉得内嵌样式模糊结构,语义和演示文稿之间的距离。
这些都是旨在解决同一个问题的所有技术,即在大型项目中,写作CSS是很难维持的。通常,这是因为名称冲突或款式是不是太具体或过于抽象你想要达到的目标。他们也是不从单个文件捆绑的标记,样式和功能组合在一起回避技术。这打破了哲学的说法,他们应该区别于彼此。他们拿出自己的挑战和复杂性增加。