我正在制作一个微调器,而不是在 Photoshop 中制作单个图像,或者在我使用:before
选择器在图像上设置径向背景渐变的任何地方
-webkit-radial-gradient(center, ellipse cover, #fff 23%,transparent 27%,transparent 100%)
允许下面副本的中心显示(非动画),通过复制 img 元素并使用 Javascript 将其位置设置为与现有元素相同来定位
function spinBadge() {
hovered = document.querySelector('a:hover img')
spinner = document.createElement('img');
spinner.src = hovered.src;
spinner.className = 'spinner';
spinner.setAttribute('width','120px');
spinner.setAttribute('height','120px');
spinner.setAttribute('style','border:0; margin:0; max-width: none; position: absolute; pointer-events: none; left: '+hovered.offsetLeft+'px; top: '+hovered.offsetTop+'px;');
hovered.parentNode.appendChild(spinner);
setTimeout(function(){document.querySelector('.spinner').className = 'spinner wheee'})
setTimeout(function(){document.querySelector('.wheee').remove();},3000);
}
有很多方法可以通过改变边距等来“分割”整个图像,并让部分有选择地显示出来。
SVG 图像也非常适合动画,并且可以为各个部分指定类,从而使用 CSS 过渡进行动画处理。如果你给它一个谷歌,这个网站和 CSS 技巧之类的东西很多(这会浮现在脑海中)。