我遇到了这段代码
.happy-icon
height 22px
width 22px
background base64('../assets/pencil-default.png') no-repeat center
将此图像嵌入样式表而不是标记有什么好处? 使用base64调用有什么好处?
基于我收到的一些反复数据......如果这是为了优化.. 那么图像必须只在我假设的一个地方使用..
所以考虑下面..图像将被转换成数据串两次,并且不一定会增加css的大小......我是对的吗?
.class-1
base64('../some-image.jpg')
.class-2
base64('../some-image.jpg')
答案 0 :(得分:1)
它可以节省HTTP请求,从而优化您的网站速度,因为base64会将图像转换为数据字符串。但是,您编写它的方式不起作用,您需要先将图像转换为base64,然后再使用该代码
答案 1 :(得分:1)
这在构建过程中得到了内联。这在您无法部署图像或其他静态资产,或者某些小众性能用例的情况下非常有用。
较少的HTTP请求=较少的开销,但如果没有实际的性能测试,我会对此持怀疑态度。
答案 2 :(得分:1)
嵌入技术的不同之处在于减少了您获得的HTTP调用量。因此,在嵌入之前,您需要下载两个文件,并且只有一个文件。
它还有副作用:它会不必要地增加CSS的大小。为什么不必要?
想象一下,您的图像仅显示在每年访问一次的一个页面上,因此普通用户永远不会看到该图像。但CSS文件将包含其内容。如果没有嵌入此图像,只有当您进入特定页面时才会延迟加载一次。
所以这是主要的区别。您将所有内容放在一个模块或单独的模块中,并仅在需要时加载它们。这两种方式都很有用,两者都没用。