这是代码。请注意,这不是我的代码。
HTML:
<div class="drop">
<ul class="drop_menu">
<li><a href='#'>Link 1</a>
<ul>
<li><a href='#'>Sub Link 1</a></li>
<li><a href='#'>Sub Link 2</a></li>
</ul>
</li>
<li><a href='#'>Link 2</a>
<ul>
<li><a href='#'>Sub Link 1</a></li>
<li><a href='#'>Sub Link 2</a></li>
<li><a href='#'>Sub Link 3</a></li>
<li><a href='#'>Sub Link 4</a></li>
</ul>
</li>
<li><a href='#'>Link 3</a>
<ul>
<li><a href='#'>Sub Link 1</a></li>
<li><a href='#'>Sub Link 2</a></li>
<li><a href='#'>Sub Link 3</a></li>
<li><a href='#'>Sub Link 4</a></li>
</ul>
</li>
</ul>
</div>
CSS:
.drop_menu {
background:#005555;
padding:0;
margin:0;
list-style-type:none;
height:30px;
}
.drop_menu li { float:left; }
.drop_menu li a {
padding:9px 20px;
margin-left:auto;
margin-right:auto;
display:block;
color:#fff;
text-decoration:none;
font:12px arial, verdana, sans-serif;
}
/* Submenu */
.drop_menu ul {
position:absolute;
left:-9999px;
top:-9999px;
list-style-type:none;
}
.drop_menu li:hover { position:relative; background:#5FD367; }
.drop_menu li:hover ul {
left:0px;
top:30px;
background:#5FD367;
padding:0px;
}
.drop_menu li:hover ul li a {
padding:5px;
display:block;
width:168px;
text-indent:15px;
background-color:#5FD367;
}
.drop_menu li:hover ul li a:hover { background:#005555; }
我的问题是,如何将“Link 1”,“Link 2”和“Link 3”居中?在未来,我将添加更多“链接4,5,6 ...”,因此我需要一个不需要“几乎居中”的解决方案,而是一个永久的解决方案。
你能帮帮我吗?
这是JSFiddle的链接,您可以在其中看到代码正常工作 - http://jsfiddle.net/W5F3p/
我最诚挚的问候
答案 0 :(得分:2)
如果您不支持IE7及以下版本,我会将li:左侧的li更改为显示:inline-block,然后将text-align:center添加到父级ul。
.drop_menu {
background:#005555;
padding:0;
margin:0;
list-style-type:none;
height:30px;
text-align:center;
}
.drop_menu li { display:inline-block; }
.drop_menu li a {
padding:9px 20px;
margin-left:auto;
margin-right:auto;
display:block;
color:#fff;
text-decoration:none;
font:12px arial, verdana, sans-serif;
}
/* Submenu */
.drop_menu ul {
position:absolute;
left:-9999px;
top:-9999px;
list-style-type:none;
}
.drop_menu li:hover { position:relative; background:#5FD367; }
.drop_menu li:hover ul {
left:0px;
top:30px;
background:#5FD367;
padding:0px;
}
.drop_menu li:hover ul li a {
padding:5px;
display:block;
width:168px;
text-indent:15px;
background-color:#5FD367;
text-align:left;
}
.drop_menu li:hover ul li a:hover { background:#005555; }
答案 1 :(得分:1)
在容器标记中使用text align并将列表设置为显示inline-block:
.drop
{
text-align: center;
background:#005555;
}
有点hacky但是有把戏。