如何创建:3D 翻转盒子
学习如何使用 CSS 创建一个翻转盒子。
翻转盒子
请将鼠标移到下面的盒子上,查看效果:
如何创建一个翻转盒子
第一步 - 添加 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); }
注意:เหตุตัวอย่างนี้อาจไม่ทำงานได้ทั้งหมดบนแท็บเล็กหรือโทรศัพท์มือถือ。
相关页面
教程:CSS 2D 变换
教程:CSS 3D 变换