CSS - rotate element vertically on hover

0 points
Created by:

In this article, we would like to show you how to rotate element vertically (around Y-axis) on hover event using CSS.

Quick solution:

div {
  transition: 2s;

div:hover {
  transform: rotateY(180deg);

The :hover CSS pseudo-class is triggered when the user hovers over an element with the cursor, changing the element style to the one specified within curly brackets.


Practical example

In this example, we rotate the div element around Y-axis with the following steps:

  1. in div style, we specify the div style at the beginning and use the transition property to smoothly rotate the div over 3 seconds,
  2. we use div:hover pseudo-class with transform property inside that actually rotates the div element on the hover event using rotateY() function.
// ONLINE-RUNNER:browser;

<!doctype html>

    div {
      height: 100px;
      width: 100px;
      color: white;
      background: green;
      display: flex;
      justify-content: center;
      align-items: center;
      transition: 3s;

    div:hover {
      transform: rotateY(180deg);

  <div>Hover me.</div>


Native Advertising
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂