HTML和CSS中图像的最佳实践是什么

HTML和CSS中图像的最佳实践是什么,html,css,performance,wordpress,pagespeed,Html,Css,Performance,Wordpress,Pagespeed,我创建了一个WordPress主题,并实现了一个函数,允许将图像嵌入到HTML文档和CSS文件中 我的意思是,与其在我的网站中添加图像,不如: <!-- In HMTL --> <img src="http://www.some-url.ext/img/my_image.jpg" /> /* In CSS */ selector { background-image: url(http://www.some-url.ext/img/my_image.jpg);

我创建了一个WordPress主题,并实现了一个函数,允许将图像嵌入到HTML文档和CSS文件中

我的意思是,与其在我的网站中添加图像,不如:

<!-- In HMTL -->
<img src="http://www.some-url.ext/img/my_image.jpg" />

/* In CSS */
selector
{
    background-image: url(http://www.some-url.ext/img/my_image.jpg);
}

/*在CSS中*/
选择器
{
背景图片:url(http://www.some-url.ext/img/my_image.jpg);
}
以以下形式在我的网站中添加图像:

<!-- In HMTL -->
<img src="data:image/gif;base64,R0lG...." />

/* In CSS */
selector
{
    background-image: url(data:image/gif;base64,R0lG....);
}

/*在CSS中*/
选择器
{
背景图像:url(数据:image/gif;base64,R0lG…);
}
处理后的图像存储在缓存文件中以获得更好的性能

我的当前主题还有一个全宽滑块,其中包含较大的图像

问题是,由于嵌入了图像,处理后的文档大小为1.83MB

此外,文档加载速度非常快,幻灯片下方的任何内容显示速度都会变慢:(


因此,将图像嵌入文档还是使用URL的常规方式更好?

一般来说,使用数据URI仅适用于小图像(如多个图标合并为一个精灵)。大图像应作为单独的文件使用。

一般来说,使用数据URI仅适用于小图像(就像多个图标合并成一个精灵)。大图像应该作为单独的文件使用。

答案通常是“视情况而定”。以下是一些有趣的问题:

  • 嵌入图像可以通过减少HTTP请求的数量来加快页面速度,因此对于许多小文件来说,它会有所帮助
  • 在base 64中编码将使图像大小增加约1/3
  • 由于浏览器必须解码图像,因此可能会减慢渲染速度
请参阅,以获取更详尽的利弊列表

对于大型图像,我想说,您最好使用HTTP请求命中。您可以使用各种预加载方案来降低用户对HTTP命中的可视性

PageSpeed、YSlow等都是指导原则,而不是福音。正如您所发现的,您应该始终测试更改,并找出对您的站点有意义的内容。

答案通常是“视情况而定”。以下是一些关注点:

  • 嵌入图像可以通过减少HTTP请求的数量来加快页面速度,因此对于许多小文件来说,它会有所帮助
  • 在base 64中编码将使图像大小增加约1/3
  • 由于浏览器必须解码图像,因此可能会减慢渲染速度
请参阅,以获取更详尽的利弊列表

对于大型图像,我想说,您最好使用HTTP请求命中。您可以使用各种预加载方案来降低用户对HTTP命中的可视性


PageSpeed、YSlow等都是指导原则,而不是福音。正如您所发现的,您应该始终测试更改,并找出对您的站点有意义的内容。

我认为这里隐含的标准是效率。出于缓存原因,图像通常应单独使用,因为这样每个图像都可以缓存。否则,只有整个文档可以缓存包含图像数据的ent,除非它是一个非常稳定的文档,并且图像仅用于此文档中,否则效率会非常低


查看有关缓存的一般信息。通常,任何合理的缓存友好性都是服务器端的(默认情况下通常是打开的)将使图像能够很好地缓存,因为它们不会经常更改。

我认为这里隐含的标准是效率。出于缓存的原因,图像通常应单独使用,因为这样每个图像都可以缓存。否则,只能缓存包含图像数据的整个文档,除非它是非常稳定的文档和im本文档中仅使用了AGE,效率很低

查看有关缓存的一般信息。通常,任何合理的缓存友好性服务器端(默认情况下经常打开)都会使图像具有良好的缓存性,因为它们不会经常更改