根据页面上的可用空间使用css显示菜单
在我的项目中,我们使用垂直菜单和子菜单列表 当用户将鼠标悬停在菜单上时,子菜单显示在菜单的右侧。 这适用于最上面的菜单,但当用户将鼠标悬停在最后一个菜单上时,子菜单列表会增加页面大小 我希望菜单的工作方式是,当用户将鼠标悬停在底部菜单列表上时,如果底部没有空间,那么菜单应该从下到上而不是从上到下显示 css根据页面上的可用空间使用css显示菜单,css,drop-down-menu,menu,submenu,Css,Drop Down Menu,Menu,Submenu,在我的项目中,我们使用垂直菜单和子菜单列表 当用户将鼠标悬停在菜单上时,子菜单显示在菜单的右侧。 这适用于最上面的菜单,但当用户将鼠标悬停在最后一个菜单上时,子菜单列表会增加页面大小 我希望菜单的工作方式是,当用户将鼠标悬停在底部菜单列表上时,如果底部没有空间,那么菜单应该从下到上而不是从上到下显示 css .cssmenu ul { list-style: none; margin: 0; padding: 0; position: relative;
.cssmenu ul {
list-style: none;
margin: 0;
padding: 0;
position: relative;
z-index: 597;
}
.cssmenu ul li {
border: 1px solid lightgray;
padding-top: 10px;
line-height: 26px;
}
.cssmenu ul li.hover,
.cssmenu ul li:hover {
position: relative;
z-index: 599;
cursor: pointer;
background-color: powderblue;
}
.cssmenu ul li:hover > ul {
visibility: visible;
}
.cssmenu ul ul {
top: 0;
left: 100%;
z-index: 598;
width: 150px;
visibility: hidden;
position: absolute;
white-space: nowrap;
}
.cssmenu ul ul a {
padding: 15px 10px 15px 10px;
}
.cssmenu ul ul li {
background: white;
border: 1px solid silver;
border-radius: 7px;
float: none;
line-height: 5px;
padding-top: 0;
}
.cssmenu ul ul li:hover {
background-color: powderblue;
}
.cssmenu span,
.cssmenu a {
display: inline-block;
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
text-decoration: none;
width: 100%;
}
.cssmenu li:hover > a,
.cssmenu li.active > a {
cursor: pointer;
}你能发布你的html和小提琴吗?比如在windows中右键单击?当用户在窗口顶部单击鼠标右键时,菜单将从上到下打开,反之,当在屏幕底部单击鼠标右键时,菜单将从下到下打开top@Alek来自服务器的菜单您需要javascript,而不是单行程序。您需要能够检测到从单击的
li
元素到窗口底部的距离,如果该距离小于随后的ul
的高度,则删除/添加类以使列表从下到上打开。这将相当复杂。你需要做一些研究,尝试一些东西,向我们展示你的尝试,然后寻求帮助。