我有一个博客http://fraldasdamaria.blogspot.pt/,我想将子菜单放在翻转模式下。 我可以让子子菜单正常工作;但是当我把条件 overflow:hidden 放在子菜单上时,子子菜单会消失。有人可以帮帮我吗?
CSS代码是:
`#menuWrapper {
width:100%; /* Ancho del menú */
height:35px; /* Altura da barra principal */
padding-left:15px;
background:#1F151E; /* Color de fondo */
border-radius:20px; /* Bordes redondeados de la barra principal */
}
.menu {
padding:0;
margin:0;
list-style:none;
height:35px;
position:relative;
z-index:5;
font-family:"Lucida Sans Unicode", "Trebuchet Unicode MS", "Lucida Grande",sans-serif;
}
.menu li a:hover{background:#2580a2; color:#fff; /* Cor do Separador principal ao passar cursor */
transition: background 0.5s linear 0s;
}
.menu li.top {display:block; float:left;}
.menu li a.top_link {
display:block;
float:left;
height:35px;
line-height:34px;
color:#FFFFFF;
text-decoration:none;
font-family:"Lucida Sans Unicode", "Trebuchet Unicode MS", "Lucida Grande",sans-serif;
font-size:13px; /* Tamaño de la fuente */
font-weight:none;
padding:0 0 0 12px;
cursor:pointer;
}
.menu li a.top_link span {
float:left;
display:block;
padding:0 24px 0 12px;
height:35px;
}
.menu li a.top_link span.down {
float:left;
display:block;
padding:0 24px 0 12px;
height:35px;
}
.menu li a.top_link:hover, .menu li:hover > a.top_link {color:#fff; }
.menu li:hover {position:relative; z-index:2;}
.menu ul,
.menu li:hover ul ul,
.menu li:hover ul li:hover ul ul,
.menu li:hover ul li:hover ul li:hover ul ul,
.menu li:hover ul li:hover ul li:hover ul li:hover ul ul
{position:absolute; left:-9999px; top:-9999px; width:0; height:0; margin:0; padding:10px 5px 10px 10px; list-style:none;}
.menu li:hover ul.sub {
left:0;
top:35px;
background:#1F151E; /* Color de fondo del submenú */
padding:3px;
white-space:nowrap;
width:200px; /* Largura do submenu */
height:auto;
max-height:900px;
z-index:100;
font-size:12px; /* Tamanho fonte submenu */
border-radius: 0px 0px 20px 20px; /* Bordes redondeados del submenú */
transition-property: max-height;
transition: max-height 2s ease;
}
.menu li:hover ul.sub li {
display:block;
height:36px; /* Altura de cada linha do submenu */
position:relative;
float:left;
width:200px;
font-weight:9px;
}
.menu li:hover ul.sub li a{
display:block;
line-height:30px;
text-indent:5px;
color:#FFFFFF;
text-decoration:none;
padding:4px 0px 4px 8px; /* Margem interna de cada linha do submenu */
border-radius: 0px 0px 20px 20px; /* Bordes redondeados del submenú */
}
.menu li ul.sub li a.fly {
/* Color de fondo del submenú */
background:#1F151E url(https://lh4.googleusercontent.com/_dsEG33PDaHw/TZ0rcSPpqlI/AAAAAAAABSc/RseHiYluzAM/arrow_over.gif) 185px 10px no-repeat;}
.menu li:hover, .menu li:hover ul.sub li a:hover {
background:#2580a2; /* Color de fondo al pasar el cursor */
transition: background 0.5s linear 0s;
color:#FFFFFF;
border-radius: 0px 0px 20px 20px;
text-shadow: 3px 3px #1F151E;
}
.menu li:hover ul.sub li a.fly:hover, .menu li:hover ul li:hover > a.fly {
/* Color de fondo al pasar el cursor */
background:#2580a2 url(https://lh4.googleusercontent.com/_dsEG33PDaHw/TZ0rcSPpqlI/AAAAAAAABSc/RseHiYluzAM/arrow_over.gif) 185px 10px no-repeat; color:#fff;}
.menu li:hover ul li:hover ul,
.menu li:hover ul li:hover ul li:hover ul,
.menu li:hover ul li:hover ul li:hover ul li:hover ul,
.menu li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul {
left:200px;
top:0px;
background: #1F151E; /* Color de fondo del submenú */
padding:3px;
white-space:nowrap;
width:200px; /* Largura do subsubmenu */
z-index:4;
height:auto;
max-height:900px;
overflow:hidden;
border-radius: 0px 0px 20px 20px; /* Bordes redondeados del subsubmenú */
transition-property: max-height;
transition: max-height 2s ease;
}
答案 0 :(得分:0)
这是因为您的子菜单(#crosscol ul)
在鼠标悬停时已定义width:200px
,如果您应用overflow:hidden
- 其他所有200px中的内容都应该被隐藏。
我也看到你使用左边的下拉菜单的旧方法:-9999px,只是一个显示:block / none可以用于任何级别的嵌套下拉菜单。
修改强> 下面是使用display:block / none的示例下拉列表,非常简单。