当前位置: 首页 > 面试题库 >

“消除首屏内容中的阻止渲染的CSS”

呼延弘方
2023-03-14
问题内容

我一直在使用Google
PageSpeed见解来尝试改善网站的性能,到目前为止,事实证明它非常成功。推迟脚本之类的事情可以很好地工作,因为我已经拥有一个内部版本的jQuery,.ready()可以将脚本推迟到页面完全加载之前,我要做的就是内联该特定函数并将完整的脚本移到页面末尾。效果很好。

但是现在我发现自己瞪着清单上剩下的一个黄色圆点:“在首屏内容中消除渲染阻止CSS”。

设置我的CSS的方法是拥有一个_.css包含通用样式的全局文件,这些样式通常应用于页面结构,或者在整个网站的一两个以上位置中使用。然后,大多数页面都有一个关联的CSS文件(例如party.php具有party.css),其中包含特定于该特定页面的样式。我将所有CSS文件无限期地缓存,因为我会附加/t=FILEMTIME到文件名(然后使用.htaccess删除它们),以确保在更改文件时对它们进行更新。

因此,无论如何,Google建议内嵌折叠内容所需的关键样式。问题是…好了,请看以下屏幕截图: http
//prntscr.com/1qt49e

如您所见… 所有
内容都在首位!人们讨厌滚动,特别是在涉及加载许多页面的游戏上。因此,我将网站设计为适合一个屏幕(假定分辨率足够好)。因此,这意味着… 所有
样式都适用于首屏内容!那么…有什么解决办法吗?还是我在那个接近完美的得分上留下了那个黄色标记?


问题答案:

之前有人问过一个相关的问题: GooglePagespeed中的“首屏内容”是什么?

首先,您必须注意,这全都与“ 移动页面 ”有关。
因此,当我正确解释了您的问题和屏幕截图时,这 并不适合您的网站!

相反,按照Google指南中的建议进行某些操作,会使“正常”网站的情况变得更糟而不是更好。
并非所有来自Google的东西都是“圣杯”,仅仅是因为它来自Google。而且,如果您查看它们的HTML标记,它们本身并不是一个好的榜样。

我能给您的最佳建议是:

  • 在CSS中设置替换元素的宽度和高度,以便浏览器可以布局元素,而不必等待替换的内容!

另外,为什么要使用不同的CSS文件而不是一个?
额外的请求比少量的数据量还差。在第一个请求之后,无论如何都会缓存CSS文件。

人们应该始终注意的事情是:

  • 尽可能减少请求数量
  • 保持页面总重量尽可能低

并且不要为如何获得Google的PageSpeed Insights工具的100%而困惑…!;-)

补充1:这是Google向我们展示的页面,他们对“优化CSS交付”的
建议。

如前所述,我认为这既不切合实际,也不适合“正常”网站!因为主要是在您具有 响应式Web设计时
,最确定的是您使用媒体查询和其他布局样式。因此,如果您不打算首先以阻塞的方式加载CSS,则会得到 FOUT (无 样式文本的Flash)。我真的不相信这比渲染页面至少要好几毫秒!



 类似资料:
  • 使用步骤 下载 小程序内容渲染包 wxParser 把 wxParser 目录放到小程序项目的根目录下 在需要富文本解析的的 WXML 内引入 wxParser/index.wxml 在页面 JS 文件内使用 wxParser.parse(options) 方法解析 HTML 内容 在需要展示富文本内容的页面的 wxss 文件内引入 wxParser 的默认样式库 wxParser/index.w

  • 本文向大家介绍react中怎样阻止组件渲染?相关面试题,主要包含被问及react中怎样阻止组件渲染?时的应答技巧和注意事项,需要的朋友参考一下 在极少数情况下,你可能希望能隐藏组件,即使它已经被其他组件渲染。若要完成此操作,你可以让  方法直接返回 ,而不进行任何渲染。

  • 因为屏幕渲染可在位图中获取浏览器窗口内容,所以它可以呈现在任何地方,例如3D场景中的纹理。 Electron中的屏幕渲染的使用方法与 Chromium Embedded Framework项目类似,都可以使用两种渲染模式,并且只有脏区域在 'paint' 事件中传递才能更有效率。可以停止或继续渲染,还可以设置帧速率。指定的帧速率是上限值,当网页上没有发生任何事情时,不会生成任何帧。最大帧速率为60

  • 离线渲染允许您在位图中获取浏览器窗口的内容,因此可以在任何地方渲染,例如在3D场景中的纹理。 Electron中的离屏渲染使用与 Chromium Embedded Framework 项目类似的方法。 可以使用两种渲染模式,并且只有脏区通过 'paint' 事件才能更高效。 渲染可以停止、继续,并且可以设置帧速率。 指定的帧速率是上限值,当网页上没有发生任何事件时,不会生成任何帧。 最大帧速率是

  • 概览 离屏渲染允许你以位图的方式来获取 BrowserWindow 中的内容,所以它可以在任何地方被渲染,例如在3D场景中的纹理。 Electron中的离屏渲染使用与 Chromium Embedded Framework 项目类似的方法。 注意: 有两种渲染模式可以使用(见下),只有未渲染区域传递到 绘图 事件才能提高效率。 您可以停止/继续渲染并设置帧速率。 最高帧速率为 240,因为更高的值

  • 问题内容: 我有一个显示多个组件的组件。从Redux存储获取数据。 当商店更新时(例如,因为我删除了一个项目),所有都重新呈现。 这是为什么? 我知道我可以用来阻止新的渲染,但是我认为Redux会在内部进行。 List.js Item.js 问题答案: 一些现有技术(如Dan Abramov所说):Redux是一种状态管理工具。它提供了一个HOC(),但该HOC 不负责组件管理 。Redux无论如