简体   繁体   English

带有滚动条的纯 css 下拉菜单的子菜单不显示多下拉菜单

[英]Pure css dropdown menu's submenu with scroller not showing the multidropdown menu

I am using the pure css dropdown menu in one of my project.我在我的一个项目中使用纯 css 下拉菜单。 The submenu contains the multiple lists just like in the snippet:子菜单包含多个列表,就像在代码段中一样:

 /*Set the parent <li>'s CSS position property to 'relative'.*/ ul { list-style: none; padding: 0; margin: 0; background: #ce4040; border: 1px solid #e08d8d; } ul>li { border-left: 1px solid #e08d8d; } ul li { display: block; position: relative; float: left; background: #ce4040; border-bottom: 1px solid #e08d8d; } /*The CSS to hide the sub menus. */ li ul { display: none; } ul li a { display: block; padding: 1em; text-decoration: none; white-space: nowrap; color: #fff; } ul li a:hover { background: #ce4040; } /*Displays the dropdown menu on hover.*/ li:hover > ul { display: block; position: absolute; } li:hover li { float: none; } li:hover a { background: #ce4040; } li:hover li a:hover { background: #962e2e; color: #fff; } .main-navigation li ul li { border-top: 0; } /*Displays second level dropdown menus to the right of the first level dropdown menu.*/ ul ul ul { left: 100%; top: 0; } /*Simple clearfix.*/ ul:before, ul:after { content: " "; /* 1 */ display: table; /* 2 */ } ul:after { clear: both; }
 <ul class="main-navigation"> <li><a href="#">Home</a> </li> <li><a href="#">Front End Design</a> <ul> <li><a href="#">HTML</a> </li> <li><a href="#">CSS</a> <ul> <li><a href="#">Resets</a> </li> <li><a href="#">Grids</a> </li> <li><a href="#">Frameworks</a> <ul> <li><a href="#">Bootstrap</a> </li> <li><a href="#">Foundation</a> </li> <li><a href="#">Sass</a> </li> <li><a href="#">Less</a> <ul> <li><a href="#">Bootstrap</a> </li> <li><a href="#">Foundation</a> </li> <li><a href="#">Sass</a> </li> </ul> </li> </ul> </li> </ul> </li> <li><a href="#">JavaScript</a> <ul> <li><a href="#">Ajax</a> </li> <li><a href="#">jQuery</a> </li> </ul> </li> </ul> </li> <li><a href="#">WordPress Development</a> <ul> <li><a href="#">Custom Post Types</a> <ul> <li><a href="#">subPortfolios</a> </li> <li><a href="#">subTestimonials</a> </li> <li><a href="#">subPortfolios</a> </li> <li><a href="#">subTestimonials</a> </li> </ul> </li> <li><a href="#">Themes</a> </li> <li><a href="#">Plugins</a> </li> <li><a href="#">Themes</a> </li> <li><a href="#">Plugins</a> </li> <li><a href="#">Themes</a> </li> <li><a href="#">Plugins</a> </li> <li><a href="#">Options</a> </li> <li><a href="#">Options</a> </li> <li><a href="#">Themes</a> </li> <li><a href="#">Plugins</a> </li> <li><a href="#">Options</a> </li> <li><a href="#">Options</a> </li> </ul> </li> <li><a href="#">About Us</a> </li> </ul>

And tried to place scroller like this by additon of css:并尝试通过添加 css 来放置这样的滚动条:

li:hover > ul {
  display: block;
  position: absolute;
    max-height:250px;
  overflow-y:auto;
}

The result:结果:

 /*Set the parent <li>'s CSS position property to 'relative'.*/ ul { list-style: none; padding: 0; margin: 0; background: #ce4040; border:1px solid #e08d8d; } ul>li{ border-left:1px solid #e08d8d; } ul li { display: block; position: relative; float: left; background: #ce4040; border-bottom:1px solid #e08d8d; } /*The CSS to hide the sub menus. */ li ul { display: none; } ul li a { display: block; padding: 1em; text-decoration: none; white-space: nowrap; color: #fff; } ul li a:hover { background: #ce4040; } /*Displays the dropdown menu on hover.*/ li:hover > ul { display: block; position: absolute; max-height:250px; overflow-y:auto; } li:hover li { float: none; } li:hover a { background: #ce4040; } li:hover li a:hover { background: #962e2e; color:#fff;} .main-navigation li ul li { border-top: 0; } /*Displays second level dropdown menus to the right of the first level dropdown menu.*/ ul ul ul { z-index: 9999; } /*Simple clearfix.*/ ul:before, ul:after { content: " "; /* 1 */ display: table; /* 2 */ } ul:after { clear: both; }
 <ul class="main-navigation"> <li><a href="#">Home</a></li> <li><a href="#">Front End Design</a> <ul> <li><a href="#">HTML</a></li> <li><a href="#">CSS</a> <ul> <li><a href="#">Resets</a></li> <li><a href="#">Grids</a></li> <li><a href="#">Frameworks</a> <ul> <li><a href="#">Bootstrap</a></li> <li><a href="#">Foundation</a></li> <li><a href="#">Sass</a></li> <li><a href="#">Less</a> <ul> <li><a href="#">Bootstrap</a></li> <li><a href="#">Foundation</a></li> <li><a href="#">Sass</a></li> </ul> </li> </ul> </li> </ul> </li> <li><a href="#">JavaScript</a> <ul> <li><a href="#">Ajax</a></li> <li><a href="#">jQuery</a></li> </ul> </li> </ul> </li> <li><a href="#">WordPress Development</a> <ul> <li><a href="#">Custom Post Types</a> <ul> <li><a href="#">subPortfolios</a></li> <li><a href="#">subTestimonials</a></li> <li><a href="#">subPortfolios</a></li> <li><a href="#">subTestimonials</a></li> </ul> </li> <li><a href="#">Themes</a></li> <li><a href="#">Plugins</a></li> <li><a href="#">Themes</a></li> <li><a href="#">Plugins</a></li> <li><a href="#">Themes</a></li> <li><a href="#">Plugins</a></li> <li><a href="#">Options</a></li> <li><a href="#">Options</a></li> <li><a href="#">Themes</a></li> <li><a href="#">Plugins</a></li> <li><a href="#">Options</a></li> <li><a href="#">Options</a></li> </ul> </li> <li><a href="#">About Us</a></li> </ul>

By placing scroller, the second and third level dropdown menu isnot showing.通过放置滚动条,不会显示第二级和第三级下拉菜单。 How can I placescroller without not interrupting the normal functionality of the pure multidowndown css?如何在不中断纯 multidowndown css 的正常功能的情况下放置滚动条? Any suggestions, tutorials and solutions are highly welcomed as long it leads to solution.任何建议、教程和解决方案都受到高度欢迎,只要它能带来解决方案。

Please change your css请更改您的css

ul ul ul {
  left: 100%;
  top: 0;
}

to

ul ul ul {
  z-index: 9999;
}

I hope it will help you..我希望它会帮助你..

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM