5

我开始将独立的 HTML 片段提取到它们自己的文件中,并使用 PHPinclude关键字将它们包含在内。

我有一个大约 1500 行长的 CSS 文件。我正在考虑做的是将嵌入的 CSS 与相应的 HTML 文件一起放置。

当然会留下在不同 HTML 块中使用的组件。

这样我就有了模块化的 HTML / CSS 块,我只是使用 PHP 将它们包含在服务器上include

这是最佳实践吗?是/否,为什么

4

3 回答 3

3

浏览器缓存 CSS 文件...因为加载一个大的 CSS 文件并不是什么大问题。

如果你想让它变得超级高效,你可以将 css 拆分成不同的模块。然后创建一个“构建系统”来检查正在使用的模块并创建一个仅包含必要 CSS 的 CSS 文件(甚至缩小)。

于 2012-05-29T21:53:48.757 回答
1

我不会将您的 CSS 直接嵌入到 HTML 文件中,但每个文件都有一个外部样式表。就像你应该让你的 JS 和你的 HTML 分开一样,这也让你的 CSS 也分开。那么你需要做的就是包含你的 CSS

<link rel="stylesheet" href="path/to/style.css">

您可以将其放在任何全局样式表下方。这也使特定页面的 CSS 仅限于加载在该页面上,因此不会浪费带宽来传输您永远不会使用的样式。


但是,如果您include()要说,15 个文件进入您的页面,您不希望对 CSS 文件发出 15 个请求。在这种情况下,您应该将它们分组到更大的文件中以减少所需的请求数量。

于 2012-05-29T21:48:22.297 回答
1

这里有几件事情需要考虑,看看什么最适合你:

  • 您的服务器当前是否发送了 CSS 文件的 http-gzip 压缩版本以使其尽可能快?
  • 你有没有缩小 CSS 看看你能得到多小(有几个工具可以为你缩小文件,比如 YUI Compressor)?
  • 将 CSS 作为片段发送意味着文件不能被浏览器缓存;检查这是否值得。它取决于许多变量,例如每个访问者的平均页面数(查看 Google Analytics 或其他统计软件可能会有所帮助)、块的大小与整体 CSS 大小等。
  • 与没有 PHP 的平面文件相比,使用 PHP 服务块可能有也可能没有最小的服务器计算开销;检查这是否与您的情况有关。
  • 你提供依赖于媒体的 CSS 吗?如果是这样,请确保仅在需要时才提供块(例如,移动设备可能只需要移动块)。
于 2012-05-29T21:53:49.173 回答