Arrow Navigation Styles

Some inspiration for arrow navigation styles and hover effects using SVG icons for the arrows, and CSS transitions and animations for the effects.

From our sponsor: Elevate all your marketing with Mailchimp Smarts.

Today we’d like to share some inspiration for arrow navigation styles with you. There are so many creative ways of showing those little elements that are an essential part of many websites nowadays. You can find them in content slideshows, as part of the page navigation, in image galleries and many more. These indicators are mostly represented as arrows that point to the left and right. There are of course arrows pointing up and down, too. But today we want to focus on the lateral ones and create some interesting hover effects that in some cases enhance the element, or show a preview of the content to come.

These effects are for your inspiration. Please note that they will only work in modern browsers. Also note that we are using the hover element state to show the effect which is not a solution for touch devices.

The images used in the demo are by Joanna Kustra, Idleformat and Andrey Yakovlev & Lili Aleeva.

One of the effects, the Slit effect, is inspired by the cool effect from Jam3’s work navigation.

An example for one of the style is the following:

<nav class="nav-thumbflip">
	<a class="prev" href="/item1">
		<span class="icon-wrap"><svg class="icon" width="32" height="32" viewBox="0 0 64 64"><use xlink:href="#arrow-left-5"></svg></span>
		<img src="img/9.png" alt="Previous thumb"/>
	<a class="next" href="/item3">
		<span class="icon-wrap"><svg class="icon" width="32" height="32" viewBox="0 0 64 64"><use xlink:href="#arrow-right-5"></svg></span>
		<img src="img/10.png" alt="Next thumb"/>

The arrows are SVGs which we include using the technique described by Oleg Solomka in his article SVG Icons FTW.

The CSS is the following for this example:

.nav-thumbflip a {
	perspective: 1000px;

.nav-thumbflip a.prev {
	perspective-origin: 100% 50%;

.nav-thumbflip {
	perspective-origin: 0% 50%;

.nav-thumbflip .icon-wrap {
	display: block;
	width: 100px;
	height: 100px;
	background-color: #b1a798;
	transition: background-color 0.3s;

.nav-thumbflip svg.icon {
	position: relative;
	top: 50%;
	transition: fill 0.3s;
	transform: translateY(-50%);
	fill: #fff;

.nav-thumbflip img {
	position: absolute;
	top: 0;
	transition: transform 0.3s;
	backface-visibility: hidden;

.nav-thumbflip a.prev img {
	left: 100%;
	transform: rotateY(90deg);
	transform-origin: 0% 50%;

.nav-thumbflip img {
	right: 100%;
	transform: rotateY(-90deg);
	transform-origin: 100% 50%;

.nav-thumbflip a:hover .icon-wrap {
	background-color: #fff;

.nav-thumbflip a:hover svg.icon {
	fill: #c1b8ab;

.nav-thumbflip a:hover img {
	transform: rotateY(0deg);

Note that we have some common styles that will center the navigation anchor in the container.

Here are a couple of the styles:





We hope you enjoyed these styles and find them inspiring!

Tagged with:

Mary Lou

ML is a freelance web designer and developer with a passion for interaction design. She studied Cognitive Science and Computational Logic and has a weakness for the smell of freshly ground peppercorns.

Stay up to date with the latest web design and development news and relevant updates from Codrops.

CSS Reference

Learn about all important CSS properties from the basics with our extensive and easy-to-read CSS Reference.

It doesn't matter if you are a beginner or intermediate, start learning CSS now.

Feedback 35

Comments are closed.
  1. ML, Amazing. I don’t know how you keep finding such creative ways to present the routine. I’ve even tried getting high on peppercorns to find out if that is your secret. No luck. Meanwhile, thank you for sharing these great ideas.

  2. Thank you for such a helpful and well documented tutorial!

    I implemented your code on a WordPress site to navigate between next and previous posts. I think the interaction is really nice and much more elegant than what I had before.

    Check it out here if you like:

    Thanks again!

    • As always amazing article!!

      Good job Matthew, your integration works well.

      I’m trying to do a similar thing but in an images slider, would you mind share your scripts?


  3. These are nicely done. I wish there were a way to hover on touch devices. It would make my life easier.

  4. you’re really creative.
    you’re amazing.
    you’re GOD.
    you’re Mary Lou .

    I love all your articles. keep it up. you are really inspiring.

  5. Nothing to say. Just Aweeeeeeeeeeeeeeeesome.
    From where did you get these ideas?

  6. If i like to use this on wordpress is there a way to use the featured images as *pictures?

  7. Another great effects, imaginations, innovations and creative. Thank you CSS Goddess Mary Lou!!