2

我正在使用 cms (Wordpress) 并在每个页面上加载了一堆外部样式表,尽管其中一些样式表是特定于页面的。总的来说,我从 Yslow 和 Page Speed 得到了不好的分数,所以我正在考虑添加一些 php 条件来告诉浏览器在必要时只加载页面特定的 css 文件。但是,我想知道我是否真的要减少加载时间,因为我将为浏览器添加更多 PHP 请求。

4

7 回答 7

3

您应该只拥有 1(最多 2 个)全局 CSS 文件

之后,如果您需要特定于页面的 CSS,可以再有 1 或 2 个

不要将 PHP 文件作为 CSS 加载,因为启动 PHP 解释器的操作比提供静态 CSS 文件的工作量要高数百倍。所以在你的 CSS 中添加 PHP 条件并重命名它 .PHP 不是答案

您可能想要调查的是将所有 CSS 文件合并为一个并使用特殊类来触发它们

例如,不要这样做:

main.css

body { background-color: black; color: white; }

我的自定义页面.css

body { background-color: white; color: black; }

这样做:

main.css

body { background-color: black; color: white; }
body.custompage { background-color: white; color: black; }

并在您想要该行为时将 class="custompage" 添加到您的 BODY 元素

因为 body.custompage 比 body 有更多的限定符,它会具有更高的优先级并覆盖你之前的声明。你也可以

.custompage a { color: red; }
.custompage p { font-weight: bold; }

那么您可以对所有页面进行一个相同的 CSS 调用

和浏览器缓存喜欢那个

于 2010-07-01T12:29:05.720 回答
1

通过添加一些 php 条件,您不会为浏览器添加更多 PHP 请求。
老实说,PHP 根本不向浏览器发出请求。

并且在 PHP 代码中添加一些条件不会影响性能。但是让浏览器免于不必要的 CSS 请求。
所以,当然会更好。

于 2010-07-01T07:12:03.990 回答
1

在这种情况下,我不确定您所说的 PHP 请求是什么意思,尽管听起来您正在权衡 PHP 条件语句与浏览器请求的性能影响。

尽可能减少浏览器请求的数量几乎总是会产生更大的影响(实际上是更大的影响)。除非您的条件语句非常复杂,否则可能会有数量级的差异。

对于一个相对简单的网站(例如,一个不会发出大量服务器端网络请求或进行复杂服务器端计算的网站),大多数页面加载速度的改进都可以在客户端完成。我强烈推荐 Steve Souders 的《高性能网站》一书,以获得更多关于这方面的信息。

页面加载分析器(例如,Firebug 的“网络”选项卡或 Safari/Chrome 的“资源”选项卡)最终也会告诉您优化是否值得。虽然它们在技术上仅从浏览器的角度衡量性能,但也包括服务器处理和响应请求所花费的时间。如果对您的 HTML 文档的请求变慢(我怀疑它会变慢),那么这可能是由于额外的 PHP 代码。我希望即使消除一个不必要的样式表请求也会大大抵消条件语句的性能影响。

于 2010-07-01T11:46:06.700 回答
1

将所有的 CSS 合并到一个 CSS 中。

+- 2 kb 无关紧要,但少一个请求很重要。

csstidy 可以完成这项工作。

javascript也是如此。对性能的巨大影响。

于 2010-07-12T15:39:02.687 回答
0

这取决于您的服务器硬件、样式表的大小以及您是否安装了任何操作码缓存 PHP 扩展(例如 eaccelerator)。

但在大多数情况下,网络是主要瓶颈,因此添加这些条件可能是个好主意。

于 2010-06-30T17:04:14.447 回答
0

这在很大程度上取决于网络人口统计。然而,网络几乎总是比 CPU 时间慢,所以如果你能删除额外的 HTTP 请求,你会更好。

还要记住,浏览器一次只能从一个给定的主机下载 4 个(或 6 个或 8 个)文件,所以如果你可以将 CSS 组合到一个文件中,那也会表现得更好。

于 2010-06-30T17:05:33.997 回答
0

谷歌表示 90-95% 的页面加载时间发生在客户端:YouTube

于 2010-07-01T07:03:52.373 回答