我正在创建一个垂直的手风琴菜单。 Here是我到目前为止所做的代码。我面临的两个问题。
边框和菜单之间有不需要的空间。它适用于所有li
元素,即菜单和子菜单项。
在下面的代码
#menunav li > a:only-child:before { content: '';}
我试图将箭头图像放入具有子菜单的菜单中。例如第1项有子菜单,因此第1项应该有箭头而不是其子菜单项。如果我有子项1 第1项,则子菜单如下:
<li><a href="#">Item 1</a>
<ul>
<li><a href="#">Sub-Item 1 a</a>
<ul>
<li><a href="#">Sub-Item 1 aa</a></li>
<li><a href="#">Sub-Item 1 bb</a></li>
<li><a href="#">Sub-Item 1 cc</a></li>
</ul>
</li>
<li><a href="#">Sub-Item 1 b</a></li>
<li><a href="#">Sub-Item 1 c</a></li>
</ul>
</li>
然后第1项和子项目1 将有箭头等。
我无法移除那个空间并为有子菜单的菜单添加箭头。
有人可以建议我应该在jquery
和css
中更改哪些内容,以便我能够正常运作吗?
答案 0 :(得分:2)
<强> CSS 强>
#menunav{padding:0}
因为我们需要清除ul
元素的默认样式
答案 1 :(得分:1)
将#menunav
,ul
设置为li
填充为0
#menunav, #menunav ul {
padding: 0;
}
或者只是重置填充:
* {
padding: 0
}
<强>更新强>
如果要删除子菜单箭头,请执行以下操作:
示例:
#menunav li ul li a:before {
background: none;
}
答案 2 :(得分:1)
试试这个。
CSS:
#menunav {
padding: 0px;
}
#menunav li ul {
padding: 0px;
}
我认为你的<ul>
有自己的填充。希望这会有所帮助。
编辑:
我想你的箭头只出现在带有子菜单的主菜单中,我有这个快速的解决方案。为什么不尝试在主菜单的<a>
上放一些课程。希望这有效。
而不是:
#menunav li a:before {
content: "";
display: block;
background: url("http://transparency.perkinswill.com/content/images/right-arrow.png") no-repeat;
width: 20px;
height: 20px;
float: left;
margin: 0 6px 0 0;
}
为什么不:
#menunav .main:before {
content: "";
display: block;
background: url("http://transparency.perkinswill.com/content/images/right-arrow.png") no-repeat;
width: 20px;
height: 20px;
float: left;
margin: 0 6px 0 0;
}