From our sponsor: Ready to show your plugin skills? Enter the Penpot Plugins Contest (Nov 15-Dec 15) to win cash prizes!
Today we’d like to share some artsy fun with you! We created some proof-of-concepts for simple media pop ups. The idea comes mainly from Forward Festival’s website and Tim Holman’s rad GifLinks project. We adventured ourselves with mix-blend-mode, masks and clip-path. Please keep in mind that this is a proof-of-concept with the aim to show a variety of effects.
Some of the effects use a CSS Masks technique; learn more about it here: Transition Effect with CSS Masks.
Here is an example of one of the effects. The paragraph with the pop text looks as follows:
<p class="content__paragraph content__paragraph--c1">
Much of the topography of North Dakota
can be traced to the effects of Wisconsin-age glaciation, particularly
in the north and east. Large portions of these
<span id="trigger-1" class="pop-text" data-pop-text-out data-pop-media="media1">glaciated</span>
areas are peppered by countless ponds and lakes.
A frightening number have been drained; nevertheless,
these wetlands constitute one of the most important
waterfowl production areas in the country.</p>
What we do is to add the media pop up items right before the paragraphs and then we apply a blend mode to each block of text.
<div class="content content--blended">
<!-- Media 1 -->
<div data-pop-media="media1" class="pop-media" style="background-image: url(img/1.jpg);">
<div class="pop-media__overlay pop-media__overlay--c1"></div>
</div>
<!-- other media items -->
<p class="content__paragraph content__paragraph--c1"><!-- ... --></p>
<!-- ... -->
</div>
Tiny break: 📬 Want to stay up to date with frontend and trends in web design? Subscribe and get our Collective newsletter twice a tweek.
Using isolate, we make sure that the content does not blend with the background of the page:
.content--blended {
isolation: isolate;
}
/* Individual paragraph colors and blend modes */
.content__paragraph--c1 {
color: #6ae0fd;
mix-blend-mode: color-dodge;
}
/* ... */
On hover (or touch), we then simply show the media item with any desired effect, or apply a class that triggers a CSS animation.
Note that browser support is very limited for some of the examples because of the experimental CSS properties we use. Others might work, though.
Browser Support:- ChromeSupported
- FirefoxNot supported
- Internet ExplorerNot supported
- SafariSupported
- OperaSupported
We hope you enjoy these little fun effects and get inspired! Please don’t break the internet 😉
References and Credits
- Images from Pexels licensed under Creative Commons (CC0) and from Unsplash.com
- Vinyl icon from Round Icons
- Bird GIF from Giphy
- Bird sound from Soundbible
- Animations powered by anime.js by Julian Garnier
Very cool & well done! The first video caught me by surprise =P
Implemented and works for me in Chrome and Firefox. I guess IE is not fierce enough.
Manoela: I don’t know what I will do without you! You are my Alzheimer’s medicine!
Edge is fierce enough, but not IE 11.
Amazing! Only ML can make North Dakota fun and interesting…(just kidding, I actually kinda like N. Dakota). Good work as usual. Thanks much.
Plain and simple: You never cease to amaze me.
Awesome!!!
I like this best concept.
thank you for this new best ideas.
Where it comes from creative ideas Mary Lou
This is what our blogs needs !
Thanks Mary lou
Loved it, inspiring.
That is great!
Only works on Edge for me. Doesn’t work on the latest Chrome (54). Could be I have some flags that are blocking it.
Hi Mary Lou! I like your creativity. Result is great.
Thanks for this insightful post!
wow, thank you so much 😉
Very beautiful 🙂
I Love this, excellent work!
I have known coderops for almost a year now. and i must say, this is the one single site that has the most impact in my career (am 2 years young), you have opened my eyes (in fact, you tore it) to lots of web design ideas and tricks. thank you very much this is really cool.