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