每個網站或APP應用都需要展示圖片,如何讓圖片的展現更加精致呢?其中一個方法就是添加動態閃爍效果。Vue框架中的transition組件可以輕松實現這個效果。
<template>
<div>
<transition name="blink">
<img :src="imageUrl">
</transition>
</div>
</template>
<script>
export default {
data() {
return {
imageUrl: 'https://picsum.photos/200/300'
}
}
}
</script>
<style scoped>
.blink-enter-active, .blink-leave-active {
animation: blink 1s infinite;
}
@keyframes blink {
from, to {
opacity: 1;
}
50% {
opacity: 0.5;
}
}
</style>
以上代碼實現了一個圖片輪流閃爍的效果。transition組件中的name指定了動畫名稱,style標簽中的.blink-enter-active和.blink-leave-active分別定義了進入和離開動畫生效的狀態,使用了CSS3的animation屬性設置動畫效果,keyframes定義了動畫過程中的關鍵幀。在data中定義了圖片的地址,使用:src綁定到img標簽中。
閃爍效果只是一種,我們還可以探索更多的效果:縮放(Scale)、fadeIn-fadeOut、旋轉(Rotate)、翻轉(Flip)等等。
以下代碼實現了一個圖片旋轉的效果:
<template>
<div>
<transition name="rotate">
<img :src="imageUrl">
</transition>
</div>
</template>
<script>
export default {
data() {
return {
imageUrl: 'https://picsum.photos/200/300'
}
}
}
</script>
<style scoped>
.rotate-enter-active, .rotate-leave-active {
animation: rotate 1s;
}
.rotate-enter, .rotate-leave-to {
transform: rotateY(180deg);
}
@keyframes rotate {
from {
transform: rotateY(0deg);
}
to {
transform: rotateY(180deg);
}
}
</style>
代碼中的.rotate-enter-active和.rotate-leave-active定義了進入和離開動畫的生效狀態,通過animation屬性綁定動畫效果實現,而.rotate-enter和.rotate-leave-to則定義了進入和離開動畫的關鍵幀狀態。在@keyframes中定義了動畫過程中的關鍵幀,通過transform屬性實現了旋轉效果。
總的來說,transition組件提供了一個方便的過渡動畫效果的工具,而CSS3中的動畫屬性和關鍵幀則提供了更多的動畫效果實現方式。結合二者,我們可以輕松實現各種酷炫的圖片閃動效果。
上一篇mysql創建賬戶不成功
下一篇vue圖片等比縮小