原理:
利用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>