现实生活中的蒸汽并不是那样运作的。有很多流动和随机性是无法通过静态图像来表现的(至少对我而言是这样)。
尽管如此,我认为可以通过一些倾斜和淡化效果来实现近似的效果。您可以使用CSS动画来完成这个过程:
@keyframes steam {
0%, 100% {
transform: skewX(0deg);
opacity: 1;
}
25% { transform: skewX(10deg); opacity: .8; }
75% { transform: skewX(-10deg); opacity: .8; }
}
http://jsfiddle.net/ExplosionPIlls/wxfg5/1/
这段代码可以使斜切和不透明度来回移动,这样看起来就不那么随机了。当然,您可以添加更多的帧动画来使其看起来更加随机或者将图案更难以跟踪。
真实的蒸汽运动更加随机。您不能仅使用CSS实现这样的随机性(至少我不知道),因此必须全部采用JS:
var frameTime = 200;
var transition = 'all ' + (frameTime / 1000) + 's linear';
img.style.WebkitTransition = transition;
img.style.transition = transition;
setInterval(function () {
var skew = Math.round(Math.random() * 10) * (Math.random() < 0.5 ? -1 : 1);
skew = 'skewX(' + skew + 'deg)';
img.style.transform = skew;
img.style.WebkitTransform = skew;
}, frameTime);
使用上述框架添加透明度变化或其他倾斜(如skewY
)应该相当容易。