我有一张图片,我需要在索引页面上突出显示/立即显示。我想知道使用Rails的image_tag()帮助器是否更好,或者使用CSS的背景图像属性来快速渲染图像。或者甚至重要吗?
答案 0 :(得分:3)
如果您在页面的html中引用图像,则必须解析页面并下载图像。
如果您在外部样式表中引用图像,则必须解析页面,然后必须下载和解析CSS,然后需要下载图像。由于到服务器的往返次数,这将会变慢。
如果您的CSS是内联的,那么您将返回解析第一页,然后下载图像。
一个有趣的选择,如果你的图像不是太大,最终的表现就是在页面中内嵌你的CSS,然后将图像直接嵌入到CSS中,避免在初始版本之后下载任何内容。页面HTML。 e.g。
<head>
<style>
#foo { background-image: url(data:image/png;base64,iVBORw0K...)
</style>
</head>
<body>
<div id="foo"></div>
</body>
Rails(实际上是SASS)有助手将资产数据内联到CSS文件中(搜索asset-data-url)。我从来没有用它来将CSS内联到HTML中,但这至少是可能的。
答案 1 :(得分:1)
To Rails,没关系。您选择的内容最终将更多地基于该图像应该如何显示。文字背后?作为标题图片?这将指导您使用image_tag
或CSS。
答案 2 :(得分:1)
如果图像被视为内容,则应将其渲染为具有相应替代文字的图像标记。如果是装饰,它应该是背景图像。