In this tutorial, I will show you how to create this nice and trendy entrance animation with Elementor.
It's a text reveal, or text clip in, entrance animation.
There are two variations, both of which have adjustable timings. Line by line, and word by word.
In the demo, heading 1 and 4 are word by word. While heading 2 and 3 are line by line.
See the demo here (reload by clicking the icon in the top right corner):
Features:
- Automatically responsive
- Adjustable timings
- Line by line version
- Word by word version
- Easy to replicate
Purchasing this tutorial also gives you access to the Elementor Fade In Up Line By Line Text Entrance Animation tutorial.
Let's get started!
First, copy paste this code in a new Code Snippet
This is a premium tutorial. Purchase access to unlock the full tutorial.
35 Responses
HI, Its possible to get this effect with elementor-text-widget too ?
Hey Mario!
Not really no... the text has to be split line by line, so the text element, while it would work, would not keep it's formatting properly. You could not have bold, italic, links, etc.
So that's why I used the heading element. If you want, you can change the tag to <p> to make it like a text editor element.
Hi Maxime
I will try a different approach for the text widget, maybe the default fade in behavior from elementor.
thz 😉
Thanks a lot for this code. Couple of things:
1. I prefer to minimise the amount of plugins on my website. So instead if installing Code Snippets, I used the Elementor "Custom Code" section. I also removed any code outside of the ...
This meant this was removed:
add_action( 'wp_footer', function () { ?>
and
<?php } );
Is that ok? Will it still work fine?
2. I find that the line-by-line code doesn't work for me. I've tried using Code Snippets plugin too but it just doesn't seem to work
Many thanks!
1. Yes it's okay
2. hmm the line by line code should work.. the class name given to the element is different then, did you change this as well? If so, I'd need to see your page to find out the problem.
Cheers!
Hi Maxime,
Could you also pls take a look for me to see if it's actually working?
I'm not sure it does and I first used the 'Custom CSS' to place the code (without the initial lines of code as per other user above), then installed the 'Code Snippets' plugin and placed the 'line by line version'.
This is the temp page
https://wordpress-822188-2825369.cloudwaysapps.com/about
Thank you!
Hey Andonis!
You need the class name "textLineReveal" on your heading elements, and not "textWordReveal", as you are using the line by line version!
Cheers!
Thank you!
This worked beautifully 🙂
Hi again Maxime,
I noticed that some of the letters (all the 'y's) are getting chopped off at the bottom of each line. I tried wider margins, but that doesn't seem to be the problem.
Do you think you can help me put a wider margin somewhere within this code?
Cheers!
Simply increase the line-height in the font settings for that Heading element!
Cheers!
Thank you very much! I didn't think of that:-)
It didn't work at first by px but when I tried 1.5 em's, it worked:-)
Hey Maxime,
I'm having a similar issue with the above re line height. I don't want to change my line height (it's set as auto/default.) as increasing it would make the typography not feel right/un-natural between each line.
Is there no other fix for this? Without the text effect it all looks great, with the effect it starts cutting the the Y's etc etc.
Hey Will,
Add line height enough to fix the issue. Then, depending on which version of the code you are using, add either this CSS for the line reveal version:
Or this CSS for the word reveal version:
Adjust that negative px value until you have the line height that you want.
Cheers!
Ah nice - was trying a few 'hacks' but didn't think of this one! Legend
Hi, the script " https://unpkg.com/split-type" is gone.
any posibble way to fix this?
Hey Marco!
What do you mean exactly? Everything is still working for me...
Hi Maxime,
I can't get it to work. I've downloaded code snippets and added the code as "php".
For some reason my heading just disappears when I add the css-class and load the page.
Cheers 🙂
I made it work. Thank you for an awesome product! 🙂
Hello
I can't get this to work - fresh elementor install.
Added code in a new snippet in code snippets
Then added header, added CSS class and fade in quick animation
https://dtwl.uk/testbed/reveal-line-by-line
Any ideas?
Hey Ben!
Sorry about that. I made an update to the code recently and it looks like while doing that WP auto formatting broke the markup in my code snippets....
I fixed it now, please just copy paste the code again and it should work!
Cheers!
perfect thanks
Hey Maxime!
Absolutely love this code, it's a truly lovely effect.
I have this small problem where the bottom of the g and y is cut off by the overflow: hidden part.
So when the animation is finished, it should allow the overflow to become visible.
A fix for this would make it a perfect 10/10.
Thanks
Nol
Greetings Nol!
See this comment: https://element.how/elementor-custom-text-reveal-entrance-animation/#comment-16641
Cheers!
Thanks Maxime, should've looked closer!
May I contact you to potentially commision custom work?
Yes please write me at maxime@element.how
Thanks for this! However once I've done this - the bottom of the letter 'g' is cut off by the mask. is there a fix to expand the mask at all? Thanks!
Hey Joe!
Please see my answer to this comment : https://element.how/elementor-custom-text-reveal-entrance-animation/#comment-16640
Cheers!
I have watched a lot of tutorial-youtube-videos and they all make it so difficult, while this one is so easy to use. It even works on multiple lines in combination with ACF. Thank you! Worth every dollar!
Welcome Kristof!
I endeavour to make my tutorials as easy as possible to use and customize. So I'm really glad to read this!
I used the word by word but some of the words appear before animation and then disappear to return animated.
Greetings Nimie!
I updated the code to prevent this, please import it again.
Cheers!
Perfect! Thanks for the quick response.
Hello Maxime - the css you provided for the y and g being cut is not working - i have a huge gap between 2 lines because i had to set height to 1.3 em to show the bottom of letter.
I tried applying the code:
/* fix height issue */
.textWordReveal .elementor-heading-title .word {
margin-bottom:-10px;
}
Whatever value i put there it still the same.
Any help would be much appreciated: my site: https://gamma.crealysdigital.com/
Greetings!
Try this CSS instead please:
/* fix height issue */
.textWordReveal .elementor-heading-title .line {
margin-bottom:-10px;
}
Cheers!
Maxime
Merci Maxime!
Much appreciated! it worked