0

我有一张图片需要在我们的索引页面上突出显示/立即显示。我想知道是使用 Rails 的 image_tag() 助手更好,还是使用 CSS 的背景图像属性来快速渲染图像。或者它甚至重要吗?

4

3 回答 3

3

如果您在页面的 html 中引用图像,则必须解析页面并下载图像。

如果您在外部样式表中引用图像,则必须解析页面,然后必须下载和解析 CSS,然后需要下载图像。由于到服务器获取图像的往返次数,这将变慢。

如果您的 CSS 是内联的,那么您将返回解析第一页,然后下载图像。

一个有趣的选项,如果你的图像不是太大,为了最终的性能,是在页面中内联你的 CSS,然后将图像直接嵌入到 CSS 中,避免在页面 HTML 的初始图像之后进行任何下载。例如

<head>
  <style>
    #foo { background-image: url(data:image/png;base64,iVBORw0K...) 
  </style>
</head>
<body>
  <div id="foo"></div>
</body>

Rails(实际上是 SASS)有帮助将资产数据内联到 CSS 文件中(搜索资产数据 URL)。我从来没有用它来将 CSS 内联到 HTML 中,但这至少是可能的。

于 2012-12-25T00:14:38.457 回答
1

如果图像被视为内容,则应将其呈现为带有适当替代文本的图像标记。如果是装饰,应该是背景图片。

于 2012-12-25T00:40:57.183 回答
1

对于 Rails,这并不重要。您选择的内容最终将更多地取决于该图像应该如何显示。文字背后?作为标题图像?这将指导您使用image_tag或 CSS。

于 2012-12-25T00:00:18.653 回答