鼠标经过的时候,显示出里面的隐藏内容。
我这里的设置是,鼠标只有移到第一个 li 的时候才会触发那个事件,因为 css 有控制。css里面的控制是,鼠标移到li之后,如果里面有 none 这个类才会触发这个样式;如代码所示,第二个li里面并没有 none 这个类,所以并不会有干扰。下面写代码的时候,li 里面的类名不要设置一样,就不会有冲突了。除非你想要一样的内容,那就当我没说。
**注意事项,li 要设置相对定位 position: relative,none 设置绝对定位的时候,left 的值要和 li 的宽一样,不然鼠标移到内容的时候,内容会消失。
代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <script src="./vue2.6.10.js"></script> <style lang="scss"> li { position: relative; width: 100px; height: 30px; background-color: rgba(100, 163, 200, 0.3); margin-bottom: 30px; } /* 给a设置宽高百分百,就会撑满 li,这样鼠标经过 li 的时候,就会变为小手 */ li > a { display: inline-block; width: 100%; height: 100%; } .none { width: 300px; height: 200px; padding: 19px 24px 11px 16px; box-sizing: border-box; background: rgba(255, 100, 0, 0.1); border: 1px solid #999; position: absolute; left: 100px; top: -1px; z-index: 3; display: none;/*这里把 none 里面的内容隐藏起来*/ } /* 这里设置li鼠标移过的时候,如果里面有none这个类,才会触发里面的样式 */ li:hover .none{ display: block;/*这里把 none 里面的内容显示出来*/ } </style> </head> <body> <div id="app"> <ul> <li> <a href="#">鼠标经过显示</a> <div class="none">这里是隐藏的内容</div> </li> <!-- 鼠标移到第二个li的时候并不会显示第一个li的隐藏内容,因为css里面有控制 --> <li> 商品列表 </li> </ul> </div> <script> var app = new Vue({ el: '#app', data: { message: 'Hello Vue!' }, methods: {} }) </script> </body> </html>
鼠标没经过的时候效果图
鼠标经过的时候效果图
结束