[英]CSS Horizontal menu with sub-menu items display vertical side by side
I'm having trouble displaying my nav-columns side by side in the drop. 我在下拉菜单中并排显示导航列时遇到问题。
See here http://fiddle.jshell.net/Dnamixup/ML57B/1/ 看到这里http://fiddle.jshell.net/Dnamixup/ML57B/1/
Also I think I have my position:relative in the wrong place, that could be the problem? 我也认为我的立场是:相对位置错误,可能是问题所在?
Thank you guys 感谢大伙们
<div class="nav-wrap">
<ul class="nav">
<li><a href="#">Canvas Prints</a>
<div class="nav-column">
<ul>
<li><a href="#">Abstract Canvas</a>
</li>
<li><a href="#">Banksy Canvas</a>
</li>
<li><a href="#">City Canvas</a>
</li>
</ul>
</div>
<div class="nav-column">
<ul>
<li><a href="#">Abstract Canvas</a>
</li>
<li><a href="#">Banksy Canvas</a>
</li>
<li><a href="#">City Canvas</a>
</li>
</ul>
</div>
<div class="nav-column">
<ul>
<li><a href="#">Abstract Canvas</a>
</li>
<li><a href="#">Banksy Canvas</a>
</li>
<li><a href="#">City Canvas</a>
</li>
</ul>
</div>
</li>
<li><a href="#">Wall Stickers</a>
<div class="nav-column">
<ul>
<li><a href="#">Abstract Stickers</a>
</li>
<li><a href="#">Banksy Stickers</a>
</li>
<li><a href="#">City Stickers</a>
</li>
</ul>
</div>
<div class="nav-column">
<ul>
<li><a href="#">Abstract Stickers</a>
</li>
<li><a href="#">Banksy Stickers</a>
</li>
<li><a href="#">City Stickers</a>
</li>
</ul>
</div>
<div class="nav-column">
<ul>
<li><a href="#">Abstract Stickers</a>
</li>
<li><a href="#">Banksy Stickers</a>
</li>
<li><a href="#">City Stickers</a>
</li>
</ul>
</div>
</li>
<li><a href="#">Art Prints</a>
</li>
<li><a href="#">Wall Murals</a>
</li>
<li><a href="#">Personalised Photos</a>
</li>
</ul>
/* NAV RESET */
.nav {
margin:0;
padding:0;
list-style:none;
}
.nav a {
text-decoration:none;
}
.nav li ul {
list-style:none;
}
/* NAV STYLE */
.nav li {
float:left;
padding:10px;
position:relative;
}
.nav li div {
display:none;
position:absolute;
}
.nav li:hover > div {
display:block;
}
.nav .nav-column {
float:left;
}
Here you go. 干得好。
The CSS Change: CSS变更:
.nav li div {display:none;position:absolute; left:-39px;}
To make it sit side by side, here you go. 要使其并排放置,就在这里。
The CSS Change: CSS变更:
.nav li div {display:none;position:absolute; left:-39px; width:470px;}
Hope this helps. 希望这可以帮助。
.nav-column {float:left;border:1px solid red;}
.nav-column ul{ list-style-type: none;padding:0;margin:0;}
.nav-column ul li{border:1px solid #999;}
Here is an updated fiddle so you can display the drop-down in 2 columns, 3 etc 这是更新的小提琴,因此您可以在2列,3列等中显示下拉列表
The answer above and this are both helpful so thank you everyone! 上面的答案都对您有帮助,谢谢大家!
http://jsfiddle.net/ML57B/15/ http://jsfiddle.net/ML57B/15/
<div class="nav-wrap">
<ul class="nav">
<li><a href="#">Canvas Prints</a>
<div>
<div class="nav-column">
<ul>
<li><a href="#">Abstract Canvas</a>
</li>
<li><a href="#">Banksy Canvas</a>
</li>
<li><a href="#">City Canvas</a>
</li>
</ul>
</div>
<div class="nav-column">
<ul>
<li><a href="#">Abstract Canvas</a>
</li>
<li><a href="#">Banksy Canvas</a>
</li>
<li><a href="#">City Canvas</a>
</li>
</ul>
</div>
</div>
</li>
<li><a href="#">Wall Stickers</a>
<div>
<div class="nav-column">
<ul>
<li><a href="#">Abstract Stickers</a>
</li>
<li><a href="#">Banksy Stickers</a>
</li>
<li><a href="#">City Stickers</a></li>
</ul>
</div>
<div class="nav-column">
<ul>
<li><a href="#">Abstract Stickers</a>
</li>
<li><a href="#">Banksy Stickers</a>
</li>
<li><a href="#">City Stickers</a>
</li>
</ul>
</div>
</div>
</li>
<li><a href="#">Art Prints</a>
</li>
<li><a href="#">Wall Murals</a>
</li>
<li><a href="#">Personalised Photos</a>
</li>
</ul>
/* NAV RESET */
.nav {
margin:0;
padding:0;
list-style:none;
}
.nav a {
text-decoration:none;
}
.nav li ul {
list-style:none;
}
/* NAV STYLE */
.nav li {
float:left;
padding:10px;
position:relative;
}
.nav > li > div {
display:none;
position:absolute;
width:470px;
}
.nav li:hover > div {
display:block;
}
.nav .nav-column {
float:left;
width:160px;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.