原理:
利用hover及display属性none及block配合。下拉框元素开始display属性为none,hover后改为block;
核心点:
1、为保障后面的元素不被遮挡,应该将下拉框的元素的position,设置为pixed或者absolute;因为这两种定位不占位置;
2、如果下拉框的元素的margin值过高,使得下拉框和hover的元素有一定位置,导致鼠标移动到下拉框时,下拉框消失。此时应该调整margin位置,使其靠近hover元素,以便鼠标能正常移动到下拉框上买呢
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .menu { background-color: blue; float: left; padding: 8px; cursor: pointer; } .options { position: absolute; display: none; width: 100px; height: 100px; background: #eee; /*overflow: auto;*/ } .menu:hover .options { display: block; } </style> </head> <body> <div id="panel"> <div class="menu" > <div class="title">File</div> <div class="options"> <div><a href="#">123</a></div> <div><a href="#">123</a></div> <div><a href="#">123</a></div> <div><a href="#">123</a></div> <div><a href="#">123</a></div> </div> </div> </div> <br> <br> <div> ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd </div> </div> </body> </html>