我的Web应用程序使用直接嵌入在我的css样式表中的内联svg图像。在运行时我不知道的不同类中有多个图像。
目前svg-images在首次使用时被加载到浏览器缓存中,这会导致短暂的闪烁。有没有办法告诉浏览器他应该在显示之前将这些内联svgs加载到浏览器缓存中?
例如,当显示对话框时,我有一个模糊的svg图像来创建模糊的背景:
.blur {
-webkit-filter: blur(2px);
-ms-filter: blur(2x);
filter: blur(2px);
filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius='2');
filter: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" height="0" width="0"><defs><filter id="blur"><feGaussianBlur stdDeviation="2"></feGaussianBlur></filter></defs></svg>#blur');
}
还有更多更深入的css选择器,例如:
#myApp > .module1 > .module2 > .dialog > .titlebar > .icon { ... }
目标是保持tcp连接数低,这就是嵌入它们的原因。对此有什么解决方案吗?
我在我的页面上使用jQuery,因此jQuery驱动的解决方案是一个有效的选项。
答案 0 :(得分:3)
我喜欢这种方式,如何通过CSS预加载图像
body:after {
content: url('../img1.png') url('../img2.svg') url('../img3.png');
display: none;
}