Как создать: 3D коробка для переворота

Узнайте, как использовать CSS для создания коробки для переворота.

Коробка для переворота

Переместите мышь на коробку ниже, чтобы увидеть эффект:

ГоризонтальноПереворот:

Вид спереди
Обратная сторона

Попробуйте это лично

ВертикальноПереворот:

Вид спереди
Обратная сторона

Попробуйте это лично

Как создать翻转盒子

Шаг 1 - Добавить HTML:

<div class="flip-box">
  <div class="flip-box-inner">
    <div class="flip-box-front">
      <h2>Front Side</h2>
    </div>
    <div class="flip-box-back">
      <h2>Обратная сторона</h2>
    </div>
  </div>
</div>

Второй шаг - добавьте CSS:

/* Контейнер крышки коробки - установите желаемую ширину и высоту. Мы добавили атрибут border для демонстрации, когда курсор мыши наводится, сам переворот выходит за пределы коробки (если 3D-эффект не требуется, удалите perspective) */
.flip-box {
  background-color: transparent;
  width: 300px;
  height: 200px;
  border: 1px solid #f1f1f1;
  perspective: 1000px; /* Если 3D-эффект не требуется, удалите эту строку */
}
/* Этот контейнер используется для позиционирования лицевой и обратной сторон */
.flip-box-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}
/* При наведении мыши на контейнер переворачивающей коробки, выполняется горизонтальное переворачивание */
.flip-box:hover .flip-box-inner {
  transform: rotateY(180deg);
}
/* Позиционирование лицевой и обратной сторон */
.flip-box-front, .flip-box-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden; /* Safari */
  backface-visibility: hidden;
}
/* Настройка стиля лицевой стороны */
.flip-box-front {
  background-color: #bbb;
  color: black;
}
/* Настройка стиля задней стороны */
.flip-box-back {
  background-color: dodgerblue;
  color: white;
  transform: rotateY(180deg);
}

Попробуйте это лично

Вертикальное переворачивание

Чтобы выполнить вертикальное переворачивание вместо горизонтального, используйте rotateX метод вместо rotateY:

Пример

.flip-box:hover .flip-box-inner {
  transform: rotateX(180deg);
}
.flip-box-back {
  transform: rotateX(180deg);
}

Попробуйте это лично

Внимание:Эти примеры могут не работать корректно на планшетах и/или смартфонах.

Связанные страницы

Урок:2D преобразования CSS

Урок:3D преобразования CSS