[英]Add a vertical Sub menu using css and html
我有一個使用css和html完成的菜單下拉列表。 現在,我想在現有子菜單上擴展子菜單,例如,當我將“ Audit Report”懸停在上面時,它應該垂直顯示另一個子菜單。我該如何實現?這是我在CSS和HTML中的現有代碼。
CSS
.menuPanel
{
width: auto;
height: 32px;
top: 5px;
border-bottom: 1px solid #808080;
background-color: #4f4545;
}
.nav,.nav ul
{
list-style: none;
margin:0;
padding:0;
}
.nav {
position:relative;
left: 2px;
height: auto;
}
.nav ul
{
height:0;
left:0;
overflow: hidden;
position:absolute;
}
.nav li
{
float:left;
position:relative;
}
.nav li a
{
-moz-transition:1.0s;
-o-transition:1.0s;
-webkit-transition:1.0s;
transition:1.0s;
background-color: #4f4545;
display: block;
color:#FFF;
text-decoration:none;
font-size:12px;
line-height:32px;
padding:0px 30px;
}
.nav li:hover > a
{
background: #8CCA33;
border-color: #6E67A6;
color:#fff;
}
.nav li:hover ul.subs
{
height:auto;
width: 250px;
z-index: 10;
}
.nav ul li
{
-moz-transition:0.3s;
-o-transition:0.3s;
-webkit-transition:0.3s;
opacity:0;
transition:0.3s;
width:100%;
}
.nav li:hover ul li
{
opacity:1;
-moz-transition-delay:0.2s;
-o-transition-delay:0.2s;
-webkit-transition-delay:0.2s;
transition-delay:0.2s;
}
.nav ul li a
{
background: #4f4545;
border: 1px solid #808080;
color:#fff;
line-height:1px;
-moz-transition:1.5s;
-o-transition:1.5s;
-webkit-transition:1.5s;
transition:1.5s;
}
.nav li:hover ul li a
{
line-height:32px;
}
.nav ul li a:hover
{
background:#8CCA33;
}
ASPX頁面設計
<ul class="nav">
<li><a href="Home.aspx">HOME</a></li>
<li><a href="#">FILE ▾</a>
<ul class="subs">
<li><a href="TenantFileList.aspx">Tenants List</a></li>
<li><a href="UserFileList.aspx">Users List</a></li>
<li><a href="TenantRental.aspx">Tenant Rental</a></li>
</ul>
</li>
<li><a href="#">REPORTS ▾</a>
<ul class="subs">
<li><a href="#">Audit Reports</a>
<ul>
<li><a href='#'>Sub Product</a></li>
<li><a href='#'>Sub Product</a></li>
</ul>
</li>
<li><a href="#">Leasing Reports</a></li>
<li><a href="#">Marketing Reports</a></li>
</ul>
</li>
<li id="admin" visible="true" runat="server"><a href="#">ADMIN ▾</a>
<ul class="subs">
<li><a href="SystemLogs.aspx">System Logs</a></li>
<li><a href="UserRequest.aspx">User Request</a></li>
</ul>
</li>
<li><a href="Login.aspx">LOG-OUT</a>
</li>
</ul>
</div>
你必須做一個新的CSS樣式的.nav .subs ul
針對整個塊或.nav .subs ul li
的塊的單個元素
例:
.nav .subs li ul
{
max-height: 0;
-moz-transition:1.5s;
-o-transition:1.5s;
-webkit-transition:1.5s;
transition:1.5s;
}
.nav .subs li:hover > ul
{
max-height: 300px;
height: auto;
}
.nav .subs li ul
{
left: 250px;
top: 0;
overflow: hidden;
}
這只是顯示新塊,如果將鼠標懸停在子菜單項上,則現在只需設置樣式並將其放置在所需位置即可
JSFiddle上的示例: http : //jsfiddle.net/4sym7ry0/3/
在ListItem內嵌套Unorderlist和orderedlist
檢查此以獲取更多信息: http : //www.thecodingguys.net/blog/css3-create-a-vertical-menu-with-sub-menu
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.