ฉันรู้ว่านี่ไม่ใช่วิธีแก้ปัญหาสำหรับคำถามของคุณเพราะคุณถาม
จอแสดงผล + ความทึบ
วิธีการของฉันช่วยแก้คำถามทั่วไป แต่บางทีนี่อาจเป็นปัญหาเบื้องหลังที่ควรแก้ไขโดยใช้display
ร่วมกับopacity
.
ความปรารถนาของฉันคือการทำให้ Element หมดไปเมื่อมองไม่เห็น วิธีนี้ทำได้อย่างนั้น: มันย้ายองค์ประกอบออกจากที่อยู่ห่างออกไปและสามารถใช้สำหรับการเปลี่ยนแปลง:
.child {
left: -2000px;
opacity: 0;
visibility: hidden;
transition: left 0s 0.8s, visibility 0s 0.8s, opacity 0.8s;
}
.parent:hover .child {
left: 0;
opacity: 1;
visibility: visible;
transition: left 0s, visibility 0s, opacity 0.8s;
}
รหัสนี้ไม่มีคำนำหน้าเบราว์เซอร์หรือแฮ็กที่เข้ากันได้ย้อนหลัง เพียงแค่แสดงให้เห็นแนวคิดว่าองค์ประกอบถูกเคลื่อนย้ายออกไปอย่างไรเนื่องจากไม่ต้องการอีกต่อไป
ส่วนที่น่าสนใจคือคำจำกัดความการเปลี่ยนแปลงสองแบบที่แตกต่างกัน เมื่อตัวชี้เมาส์วางเมาส์เหนือ.parent
องค์ประกอบ.child
จะต้องวางองค์ประกอบทันทีจากนั้นความทึบจะเปลี่ยนไป:
transition: left 0s, visibility 0s, opacity 0.8s;
เมื่อไม่มีการวางเมาส์หรือตัวชี้เมาส์ถูกย้ายออกจากองค์ประกอบจะต้องรอจนกว่าการเปลี่ยนแปลงความทึบจะเสร็จสิ้นก่อนจึงจะสามารถย้ายองค์ประกอบออกจากหน้าจอได้:
transition: left 0s 0.8s, visibility 0s 0.8s, opacity 0.8s;
การย้ายวัตถุออกไปจะเป็นทางเลือกที่ใช้ได้ในกรณีที่การตั้งค่าdisplay:none
จะไม่ทำให้เค้าโครงเสียหาย
ฉันหวังว่าฉันจะตอกตะปูบนหัวสำหรับคำถามนี้แม้ว่าฉันจะไม่ได้ตอบก็ตาม