这是一个CSS问题:我有一个使用以下代码创建的下拉菜单:
#menu_container ul {
list-style-type: none;
float: left;
padding: 5px 0;
display: inline;
}
#menu_container ul li {
display: inline-block;
float: left;
}
#menu_container ul li a {
display: inline-block;
color: #000;
text-decoration: none;
padding: 5px 10px;
margin: 0 10px;
}
#menu_container ul li a:hover {
background-color: #000;
color: #fff;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
-khtml-border-radius: 3px;
border-radius: 3px;
}
#menu_container ul li.current-menu-item a, #menu_container ul li.current_page_item a {
background-color: #000;
color: #fff;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
-khtml-border-radius: 3px;
border-radius: 3px;
}
#menu_container ul li ul {
padding: 0;
position: absolute;
display: none;
opacity: 0;
visibility: hidden;
}
#menu_container ul li ul li a {
display: block;
}
#menu_container ul li:hover ul {
display: block;
opacity: 1;
visibility: visible;
z-index: 2;
background-color: #fff;
color: #000;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
-khtml-border-radius: 3px;
border-radius: 3px;
}
#menu_container ul li ul li:hover {
background-color: #000;
color: #fff;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
-khtml-border-radius: 3px;
border-radius: 3px;;
}
#menu_container {
border-top: 1px dotted #DDDDDD;
border-bottom: 5px solid #DDDDDD;
padding: 0px 28px;
}
#menu_container .cat_menu { border-left: 1px dotted #DDDDDD; }
正如您所看到的,如果您访问它,当您将鼠标悬停在“博客”上时,我想显示的元素会显示DO,但不是我想要的。我希望他们在另一个下面显示一个。我的意思是:
Reseñas Textos
并不像他们出现的那样:
ReseñasTextos
我真的感谢任何帮助;这让我很生气。谢谢!
答案 0 :(得分:1)
我认为上面的答案几乎就在那里。
我在Google Dev工具中使用它。最好不要使用!important,所以在验证完成后尝试删除它们:
sub-menu li a {
display: block;
width: auto;
margin: 0 !important;
}
.sub-menu li {
display: block !important;
float: none !important;
}
答案 1 :(得分:0)
通过执行以下操作来定位有问题的元素并解决问题:
#menu_container ul li ul {
width: 70px; /** desired_width **/
}
#menu_container ul li ul li {
width: 100%; /** 100% width makes them stack on each other and not side by side **/
display: block
}
应该这样做。
答案 2 :(得分:0)
向.sub-menu
添加新规则:
.sub-menu {
display: block;
width: 90px;
}
答案 3 :(得分:0)
您需要做的就是删除浮动并显示:元素中的inline-block。
例如:
.sub-menu > li {
float: none;
display: block;
}
一旦应用此列表,您的列表项将再次分成新行。
顺便说一下: 你的定义
#menu_container ul li {
float: left;
display: inline-block;
}
很一般。这是您的问题的根源。它匹配太多的li元素。