我正在展示一组项目,每个项目都有一个背景图片,该图片取决于项目属性(外部图片URL)。为了保持项目文本的可读性(在背景上方),背景图片必须模糊并透明。
这在桌面上效果很好,但在移动设备上,由于模糊和UX的影响,它会消耗过多的CPU资源,导致用户体验大大降低。
我想知道是否有一种方法可以以更好的性能实现类似的行为。使用的模糊值为100px,因此我不需要“完美”的模糊效果,只需要一个确定颜色的阴影即可(取决于外部图片URL)。
我可以使用canvas,但如果我没记错的话,它会消耗与模糊相同或相似的CPU资源。
这是一个简化版的项目示例:
.item-background-image {
-webkit-filter: blur(100px);
-moz-filter: blur(100px);
-o-filter: blur(100px);
-ms-filter: blur(100px);
filter: blur(100px);
background-size: 100%;
width: 500px;
height: 500px;
opacity: 0.5;
}
<div class="item-background-image" style="background: url('http://www.publicdomainpictures.net/pictures/180000/velka/splash-in-dark-blue.jpg') no-repeat center"></div>
background: url("the URL")
) 和blur
过滤器来处理这些元素。 - Manolo