สร้าง Overlay แสดงหัวข้อ (Title) ขึ้นจากด้านล่างรูปภาพเมื่อ Hover ใช้ bottom: 0 และ height: auto ขยายจากล่างขึ้นบน
ตัวอย่างโค้ด
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> * {box-sizing: border-box;} .card-container { position: relative; width: 50%; } .image { display: block; width: 100%; height: auto; } .overlay { position: absolute; bottom: 0; background: rgba(48, 9, 155, 0.5); width: 78%; transition: .5s ease; opacity:0; color: rgb(251, 255, 0); font-size: 25px; font-weight: bolder; padding: 20px; text-align: center; } .card-container:hover .overlay { opacity: 1; } </style> </head> <body> <h2>Image Overlay Title Example</h2> <div class="card-container"> <img src="https://i.picsum.photos/id/237/536/354.jpg" > <div class="overlay">Dog</div> </div> </body> </html>
คุณสมบัติเฉพาะ
- width: 78% - ไม่เต็มความกว้าง มี Margin ด้านข้าง
- bottom: 0 - ติดขอบล่าง
- opacity: 0 -> 1 - Fade In จากโปร่งใสเป็นมองเห็น
- transition: .5s ease - Animation สลม
- background: rgba(48, 9, 155, 0.5) - สีม่วงโปร่งใส 50%
ขยาย: Slide Up Effect
.overlay {
bottom: 0;
transform: translateY(100%); /* ซ่อนอยู่ข้างล่าง */
transition: transform .5s, opacity .5s;
}
.card-container:hover .overlay {
opacity: 1;
transform: translateY(0); /* ขยับขึ้นมา */
}
ผลลัพธ์
รูปสุนัข ปกติไม่มีอะไร Hover -> แถบสีม่วงโปร่งใสขึ้นจากล่าง เขียน "Dog" สีเหลือง ตรงกลาง