โค้ดนี้แสดงการสร้างกล่อง Flip Box ด้วย CSS ล้วน ๆ โดยมีด้านหน้าและด้านหลัง เมื่อผู้ใช้เลื่อนเมาส์ไปบนกล่อง จะเกิดการหมุน 180 องศาในแนวแกน Y เพื่อเผยให้เห็นเนื้อหาที่ซ่อนอยู่ ใช้คุณสมบัติ transform-style: preserve-3d, perspective และ transition เพื่อสร้างเอฟเฟกต์การเคลื่อนไหวที่นุ่มนวล เหมาะสำหรับการนำไปใช้กับการ์ดสินค้า พอร์ตโฟลิโอ หรือองค์ประกอบ UI ที่ต้องการความโดดเด่นแบบอินเทอร์แอคทีฟ
โค้ด CSSbody {
font-family: Arial, Helvetica, sans-serif;
}
.flip-box {
background-color: transparent;
width: 300px;
height: 200px;
border: 1px solid #f1f1f1;
perspective: 1000px;
}
.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;
backface-visibility: hidden;
}
.flip-box-front {
background-color: #bbb;
color: black;
}
.flip-box-back {
background-color: dodgerblue;
color: white;
transform: rotateY(180deg);
}
โค้ด HTML
<h1>CSS Flip Box</h1>
<h3>Hover over to see the answer:</h3>
<div class="flip-box">
<div class="flip-box-inner">
<div class="flip-box-front">
<h2>Question</h2>
<h2>2+3</h2>
</div>
<div class="flip-box-back">
<h2>Answer</h2>
<h2>5</h2>
</div>
</div>
</div>