<!doctype html> <html> <head> <meta charset="UTF-8"> <title>CSS3开门效果</title> <style> /* body 样式 */ body { margin: 0; padding: 0; font-family: sans-serif; } /* 容器样式 */ .container { position: relative; width: 600px; margin: 0 auto; } /* 外部门样式 */ .door { position: relative; width: 33.333%; float: left; height: 500px; perspective: 800px; } /* 内部门装饰样式 */ .door:before { position: absolute; content: ""; top: 0; left: 0; bottom: 0; right: 0; background: #aaa; transform: translateZ(5px); } /* 内部门样式 */ .door .open { position: absolute; width: 100%; height: 100%; background: #eee; transform-origin: left center; transform: rotateY(0deg); transition:transform 1s ease-in-out; } /* 鼠标悬浮效果 */ .door .open:hover { transform: rotateY(-110deg); } /* 线条样式 */ .line { position: absolute; width: 2px; height: 0; background: #333; top: 50%; left: 50%; margin-top: -100px; transform-origin: top center; transition: height 0.3s ease-in-out; } /* 鼠标悬浮线条效果 */ .door .open:hover .line { height: 200px; } </style> </head> <body> <div class="container"> <div class="door"> <div class="open"> <div class="line"></div> </div> </div> <div class="door"> <div class="open"> <div class="line"></div> </div> </div> <div class="door"> <div class="open"> <div class="line"></div> </div> </div> </div> </body> </html>
以上代码展示了实现CSS3开门效果的HTML和CSS代码。通过使用CSS3的transition属性,大家可以实现鼠标悬浮效果,当鼠标移动到内部门上时,内部门会以一个动画效果打开,同时上下平移的线条也会出现,给用户带来更好的视觉效果。这种技术可以让网页设计更有趣、更有吸引力。