参考地址:解决transition动画与display冲突的几种方法 - JunpengZ - 博客园 实验成功案例:
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8"> <title>display与transition冲突</title> <meta name="Keywords" content=""> <meta name="Description" content=""> <style> ul{ list-style-type: none; vertical-align: bottom; } .wrap { width: 1200px; margin: 0 auto; position: relative; } /********************/ .listpic_div{margin: 0 0 60px 0;} .listpic_div .wrap{display: flex;flex-flow: column;border:1px solid rgba(0,0,0,0.1);border-bottom-left-radius: 10px;border-bottom-right-radius: 10px;} .listpic_div .list{margin: 30px;} .listpic_div .list ul{display: flex;flex-wrap: wrap;justify-content: flex-start;} .listpic_div .list ul li{width:23%;padding: 1%;} .listpic_div .list ul li .show{text-align: center;height: 430px;transition: all 1s;} .listpic_div .list ul li .show img{width:100%;height: 350px;} .listpic_div .list ul li .show .title{font-size: 18px;} .listpic_div .list ul li .hid{display: none;position:absolute;background-color: #ccc;width:224px;height: 390px;padding: 20px;color: #fff; } .listpic_div .list ul li .hid .title_desc{} .listpic_div .list ul li .hid .title_desc .title{font-size: 20px;} .listpic_div .list ul li .hid .desc{border-bottom: 1px solid #fff;} .listpic_div .list ul li .hid .content{display: -webkit-box;-webkit-line-clamp:9;-webkit-box-orient: vertical;overflow: hidden;} .listpic_div .list ul li .hid .more_div{position:absolute;top: 360px;text-align: center;border: 1px solid #fff;border-radius:5px;width: 220px;} </style> </head> <body> <div class="listpic_div"> <div class="wrap"> <div class="list team"> <ul id="ul"> <li> <div class="show"> <div><img src="img/banner.jpg"></div> <div class="title">姓名</div> <div class="desc">简介简介简介简介简介</div> </div> <!--鼠标经过时显示--> <div class="hid"> <div class="title_desc"> <div class="title">姓名</div> <div class="desc">简介简介简介简介</div> </div> <div class="content">详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容</div> <div class="more_div"> 查看更多--> </div> </div> </li> <li> <div class="show"> <div><img src="img/banner.jpg"></div> <div class="title">姓名</div> <div class="desc">简介简介简介简介简介</div> </div> <!--鼠标经过时显示--> <div class="hid"> <div class="title_desc"> <div class="title">姓名</div> <div class="desc">简介简介简介简介</div> </div> <div class="content">详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容</div> <div class="more_div"> 查看更多--> </div> </div> </li> <li> <div class="show"> <div><img src="img/banner.jpg"></div> <div class="title">姓名</div> <div class="desc">简介简介简介简介简介</div> </div> <!--鼠标经过时显示--> <div class="hid"> <div class="title_desc"> <div class="title">姓名</div> <div class="desc">简介简介简介简介</div> </div> <div class="content">详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容</div> <div class="more_div"> 查看更多--> </div> </div> </li> <li> <div class="show"> <div><img src="img/banner.jpg"></div> <div class="title">姓名</div> <div class="desc">简介简介简介简介简介</div> </div> <!--鼠标经过时显示--> <div class="hid"> <div class="title_desc"> <div class="title">姓名</div> <div class="desc">简介简介简介简介</div> </div> <div class="content">详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容</div> <div class="more_div"> 查看更多--> </div> </div> </li> <li> <div class="show"> <div><img src="img/banner.jpg"></div> <div class="title">姓名</div> <div class="desc">简介简介简介简介简介</div> </div> <!--鼠标经过时显示--> <div class="hid"> <div class="title_desc"> <div class="title">姓名</div> <div class="desc">简介简介简介简介</div> </div> <div class="content">详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容详情内容</div> <div class="more_div"> 查看更多--> </div> </div> </li> </ul> </div> </div> </div> <script src="http://code.jquery.com/jquery-2.1.4.min.js"></script> <!--//鼠标经过缓慢显示--> <script> $("li").on('mouseover', function (event) { $(this).find(" .hid").css("display", "block"); $(this).find(" .hid").css("opacity", "1"); var x = $(this).position(); $(this).find(" .hid").css("top", Number(x.top) + Number(10) + "px"); $(this).find(" .hid").css("left", Number(x.left) + Number(10) + "px"); }); $("li").on('mouseout', function (event) { $(this).find(" .hid").css({ "transition": "opacity 1s", "-webkit-transition": "opacity 1s", "-moz-transition": "opacity 1s", "-o-transition": "opacity 1s", "-ms-transition": "opacity 1s", "opacity": "0" }); setTimeout(function () { $(this).find(" .hid").css("display", "none"); }, 1000); }); </script> </body> </html>