//HTML 结构 <div class="container"> <div class="box"> <div class="inner"> <img src="image.png"> <p>这是一段描述</p> </div> </div> </div> //CSS 样式 .container { position: relative; width: 960px; height: 500px; margin: 0 auto; background-color: #fff; overflow: hidden; } .box { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 800px; height: 400px; background-color: #333; box-shadow: 0 0 10px rgba(0, 0, 0, .8); overflow: hidden; transition: all .3s ease-in-out; } .box:hover { transform: scale(1.05); box-shadow: 0 0 15px rgba(0, 0, 0, .8); } .box .inner { width: 600px; height: 300px; padding: 30px; color: #fff; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(-30deg); background-color: rgba(0, 0, 0, .3); box-shadow: 0 0 5px rgba(0, 0, 0, .8); opacity: 0; transition: all .3s ease-in-out; } .box:hover .inner { opacity: 1; transform: translate(-50%, -50%) rotate(0); } .box .inner p { font-size: 18px; font-weight: bold; text-align: center; margin-top: 15px; margin-bottom: 0; } .box .inner img { max-width: 100%; height: auto; display: block; margin: 0 auto; }
注释:以上便是一个非常精美的CSS3实现案例,并给大家展示了如何利用CSS3技术带给大家惊人的视觉效果。通过使用transform实现元素的位移和旋转、利用box-shadow添加逼真的效果、滚动条设置为hidden,从而实现一个比较真实感的图片与描述的结合。同时利用CSS3的过渡动画实现鼠标滑过时内部元素的透明度变化,展示浓郁的色彩。最后,注意在所有的过渡效果中添加了动画缓动,使效果变得更加平滑,整个案例实现非常成功。