Home > Article > Web Front-end > How to achieve pulse and diffusion effects of images in Vue?
How to achieve the pulse and diffusion effects of images in Vue?
Achieving the pulse and diffusion effects of images in Vue can be achieved by combining CSS animation and Vue's life cycle hook function. The specific implementation methods and code examples will be introduced in detail below.
First, import the image you want to use in the Vue component, and define an element containing the image in the template (such as div
).
<template> <div class="image-container"> <img class="image" src="path/to/your/image.jpg" alt="Image"> </div> </template>
Next, add the required basic styles for this element in the component's style and define the keyframes of the animation.
<style> .image-container { position: relative; width: 200px; height: 200px; } .image { width: 100%; height: 100%; object-fit: cover; } @keyframes pulse { 0% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.2); opacity: 0.8; } 100% { transform: scale(1); opacity: 1; } } </style>
In the above style, we set relative positioning for the .image-container
element and set the width and height to 200 pixels. Set the width and height to 100% for the .image
element, and set object-fit: cover
to ensure that the image fills the entire container. Next, we define an animation named pulse
and define its keyframes.
Finally, in the <script></script>
part of the Vue component, use the mounted
hook function to trigger the animation effect.
<script> export default { mounted() { this.pulseAnimation(); }, methods: { pulseAnimation() { const imageElement = document.querySelector('.image'); imageElement.style.animation = 'pulse 2s infinite'; } } }; </script>
In the above code, we called the pulseAnimation
method in the mounted
hook function. In the pulseAnimation
method, we use document.querySelector
to find the .image
element and set the style.animation
to the image element Add animation effects. Here we set the animation effect to pulse
with a duration of 2 seconds and an infinite loop.
At this point, we have successfully achieved the pulse effect of the image in Vue. If you want to achieve a diffusion effect, you only need to modify the keyframe animation accordingly.
The above is the detailed content of How to achieve pulse and diffusion effects of images in Vue?. For more information, please follow other related articles on the PHP Chinese website!