[英]How to add vertical divs inside horizontal divs
HTML: HTML:
<div align="center" id="menu_bar">
<div class="menu_item"><a href="index">Home</a></div>
<div class="menu_item art">
<a href="art">Art</a>
<a class="photography" href="photography">Photography</a>
<a class="drawing" href="drawing">Drawing</a>
<a class="painting" href="painting">Painting</a>
</div>
<div class="menu_item"><a href="film">Film</a></div>
<div class="menu_item"><a href="blog">Blog</a></div>
<div class="menu_item"><a href="about">About</a></div>
<div class="menu_item"><a href="contact">Contact</a></div>
</div>
jQuery/CSS: jQuery / CSS:
$('#menu_bar div').css("display","inline");
This jquery puts each div horizontally but I want the .art
a tags to be organised vertically so it ends up looking like this: 这个jQuery将每个div水平放置,但我希望垂直.art
a标签,因此最终看起来像这样:
I have tried adding this: 我尝试添加以下内容:
$('.art').css("display","block");
But this makes the menu look like this: 但这使菜单看起来像这样:
Which is not what I want. 这不是我想要的。
Please see the JSFiddle of my attempt 请参阅我的尝试的JSFiddle
I have also tried: 我也尝试过:
$('.art a').css("display","block");
Which has ended up making it look like this: 最终使它看起来像这样:
Getting closer... 越来越近...
Thank you @Paulie_D is there anyway to prevent this gap (that I highlighted red): 谢谢@Paulie_D是否可以防止这种差距(我以红色突出显示):
An odd arrangement, but you can do it if you set the menu items to float and adjust spacing: 奇怪的安排,但是如果您将菜单项设置为浮动并调整间距,则可以这样做:
#menu_bar div {
float: left;
margin-right: 1em;
}
.art a {
display: block;
}
#menu_bar div:first-child {
margin-right: -1.5em;
}
#menu_bar div:nth-of-type(3) {
margin-left: -2.5em;
}
You don't need JavaScript for such a simple task, just add some a second level menu, wrap around the children and attach a some styles like: 您不需要JavaScript即可完成如此简单的任务,只需添加一些第二级菜单,环绕子菜单并附加一些样式,例如:
#menu_bar > .menu_item {
display: inline-block;
position:relative;
}
#menu_bar .submenu{
position: absolute;
left: 0;
top: 100%;
}
http://jsfiddle.net/vaop347b/1/ http://jsfiddle.net/vaop347b/1/
A standard ul
& li
structure would serve you better I'd suggest. 我建议标准的ul
& li
结构会更好地为您服务。
A basic example is as follows. 基本示例如下。 Additional styling is, of course, required but the required layout effect is achieved. 当然,需要附加的样式,但是可以实现所需的布局效果。
.navbar {} ul, li { margin: 0; padding: 0; list-style-type: none; } .main-menu > li { display: inline-block; vertical-align: top; text-align: center; position:relative } .sub-menu { position:absolute; top:100%; left:50%; transform:translateX(-50%); } .sub-menu > li { text-align: center; white-space:nowrap; width:auto; }
<div class="navbar"> <ul class="main-menu"> <li><a href="#">Item 1</a> </li> <li><a href="#">Item 2</a> <ul class="sub-menu"> <li><a href="#">Sub Item 1</a> </li> <li><a href="#">Sub Item 2</a> </li> <li><a href="#">Lorem ipsum dolor.</a> </li> <li><a href="#">Item 4</a> </li> <li><a href="#">Item 5</a> </li> </ul> </li> <li><a href="#">Item 3</a> </li> <li><a href="#">Item 4</a> </li> <li><a href="#">Item 5</a> </li> </ul> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.