子菜单的子菜单 HTML+CSS
Submenu of a submenu HTML+CSS
我正在尝试创建一个子菜单的子菜单,但我不知道该怎么做 do.Right 现在我有一个菜单和一个可用的子菜单 1,但我需要先创建另一个子菜单 2仅当 submenu1 中的 "li" 悬停时才出现的 submenu1。
Fiddle : https://jsfiddle.net/buprgb6g/
CSS :
#divMenu ul, li, li li {
margin: 0;
padding: 0;
z-index:2 !important;
}
#divMenu {
width: 199px;
height: auto;
}
#divMenu h3 {
color: #fff;
background-color: #25408f;
padding: 10px 2px;
text-align: center;
font-weight: bold;
text-transform: uppercase;
font-size: 12px;
font-family: Verdana, Geneva, sans-serif;
}
#divMenu ul {
line-height: 25px;
}
#divMenu li {
list-style: none;
position: relative;
background: #dedfe0;
}
#divMenu li li {
list-style: none;
position: relative;
background: #dedfe0;
left: 199px;
top: -27px;
}
#divMenu ul li a {
width: 189px;
height: auto;
display: block;
text-decoration: none;
text-align: left;
color: #25408f;
padding-left:5px;
padding-right:5px;
text-transform: uppercase;
border: 1px solid #eee;
font-size: 10px;
font-weight: bold;
font-family: Verdana, Geneva, sans-serif;
}
#divMenu ul ul {
position: absolute;
visibility: hidden;
top: 27px;
}
#divMenu ul li:hover ul {
visibility: visible;
}
#divMenu li:hover {
background-color: #25408f;
color: #fff;
}
#divMenu li:hover a {
color: #fff;
}
#divMenu ul li:hover ul li a {
color: #25408f !important;
width: 285px;
}
#divMenu ul li:hover ul li a:hover {
background-color: #25408f !important;
color: #fff !important;
}
#divMenu a:hover {
font-weight: bold;
}
HTML
<div id="divMenu">
<h3>TEST</h3>
<ul>
<li><a href="#">GROUP A</a>
<ul>
<li><a href="#">PRODUCT 1</a></li>
<li><a href="#">PRODUCT 2</a></li>
</ul>
</li>
<li><a href="#">GROUP B</a>
<ul>
<li><a href="#">PRODUCT 1</a></li>
<li><a href="#">PRODUCT 1</a></li>
</ul>
</li>
</ul>
</div>
这就是我想工作的 HTML :
<div id="divMenu">
<h3>TEST</h3>
<ul>
<li><a href="#">GROUP A</a>
<ul>
<li><a href="#">PRODUCT 1</a>
<ul>
<li>PRODUCT 1 A</li>
<li>PRODUCT 1 B</li>
</ul>
</li>
<li><a href="#">PRODUCT 2</a>
<ul>
<li>PRODUCT 2 A</li>
<li>PRODUCT 2 B</li>
</ul>
</li>
</ul>
</li>
<li><a href="#">GROUP B</a>
<ul>
<li><a href="#">PRODUCT 1</a></li>
<li><a href="#">PRODUCT 1</a></li>
</ul>
</li>
</ul>
</div>
当您指定选择器而不指定嵌套子元素时,样式也会级联到其他子元素中。
您需要使用 > 运算符指定嵌套子项,这将解决它。
例如:
#divMenu ul li:hover ul {
应该改为:#divMenu ul li:hover > ul {
删除宽度
#divMenu ul li:hover ul li a {
color: #25408f !important;
width: 285px; //Remove this width.
}
从
更改为 css
#divMenu ul li:hover ul {
visibility: visible;
}
至
#divMenu ul li:hover > ul {
visibility: visible;
}
完成它会很好地工作。
我正在尝试创建一个子菜单的子菜单,但我不知道该怎么做 do.Right 现在我有一个菜单和一个可用的子菜单 1,但我需要先创建另一个子菜单 2仅当 submenu1 中的 "li" 悬停时才出现的 submenu1。
Fiddle : https://jsfiddle.net/buprgb6g/
CSS :
#divMenu ul, li, li li {
margin: 0;
padding: 0;
z-index:2 !important;
}
#divMenu {
width: 199px;
height: auto;
}
#divMenu h3 {
color: #fff;
background-color: #25408f;
padding: 10px 2px;
text-align: center;
font-weight: bold;
text-transform: uppercase;
font-size: 12px;
font-family: Verdana, Geneva, sans-serif;
}
#divMenu ul {
line-height: 25px;
}
#divMenu li {
list-style: none;
position: relative;
background: #dedfe0;
}
#divMenu li li {
list-style: none;
position: relative;
background: #dedfe0;
left: 199px;
top: -27px;
}
#divMenu ul li a {
width: 189px;
height: auto;
display: block;
text-decoration: none;
text-align: left;
color: #25408f;
padding-left:5px;
padding-right:5px;
text-transform: uppercase;
border: 1px solid #eee;
font-size: 10px;
font-weight: bold;
font-family: Verdana, Geneva, sans-serif;
}
#divMenu ul ul {
position: absolute;
visibility: hidden;
top: 27px;
}
#divMenu ul li:hover ul {
visibility: visible;
}
#divMenu li:hover {
background-color: #25408f;
color: #fff;
}
#divMenu li:hover a {
color: #fff;
}
#divMenu ul li:hover ul li a {
color: #25408f !important;
width: 285px;
}
#divMenu ul li:hover ul li a:hover {
background-color: #25408f !important;
color: #fff !important;
}
#divMenu a:hover {
font-weight: bold;
}
HTML
<div id="divMenu">
<h3>TEST</h3>
<ul>
<li><a href="#">GROUP A</a>
<ul>
<li><a href="#">PRODUCT 1</a></li>
<li><a href="#">PRODUCT 2</a></li>
</ul>
</li>
<li><a href="#">GROUP B</a>
<ul>
<li><a href="#">PRODUCT 1</a></li>
<li><a href="#">PRODUCT 1</a></li>
</ul>
</li>
</ul>
</div>
这就是我想工作的 HTML :
<div id="divMenu">
<h3>TEST</h3>
<ul>
<li><a href="#">GROUP A</a>
<ul>
<li><a href="#">PRODUCT 1</a>
<ul>
<li>PRODUCT 1 A</li>
<li>PRODUCT 1 B</li>
</ul>
</li>
<li><a href="#">PRODUCT 2</a>
<ul>
<li>PRODUCT 2 A</li>
<li>PRODUCT 2 B</li>
</ul>
</li>
</ul>
</li>
<li><a href="#">GROUP B</a>
<ul>
<li><a href="#">PRODUCT 1</a></li>
<li><a href="#">PRODUCT 1</a></li>
</ul>
</li>
</ul>
</div>
当您指定选择器而不指定嵌套子元素时,样式也会级联到其他子元素中。
您需要使用 > 运算符指定嵌套子项,这将解决它。
例如:
#divMenu ul li:hover ul {
应该改为:#divMenu ul li:hover > ul {
删除宽度
#divMenu ul li:hover ul li a {
color: #25408f !important;
width: 285px; //Remove this width.
}
从
更改为 css#divMenu ul li:hover ul {
visibility: visible;
}
至
#divMenu ul li:hover > ul {
visibility: visible;
}
完成它会很好地工作。