Reputation: 1052
Can someone help me to center the "ul" in the "div" vertically and horizontally according the code below?
Thank you very much!
<div id="nav">
<ul>
<li><a class="top" href="#top"><span></span></a></li>
<li><a class="bottom" href="#bottom"><span></span></a></li>
<li><a>Link 1</a></li>
<li><a>Link 2</a></li>
</ul>
</div>
css
#nav {
height:35px;
border-bottom:1px solid #ddd;
position:fixed;
top:0px;
left:0px;
right:0px;
background:#fff url(../images/navigation/nav.png) repeat-x center left;
z-index:999999;
}
#nav ul {
list-style:none;
margin:auto;
float:left;
padding:0;
display: block;
}
#nav ul li {
display:inline;
float:left;
margin:0px 2px;
}
#nav a {
font-size:13px;
font-weight:bold;
float:left;
padding: 2px 4px;
color:#999;
text-decoration: none;
border:1px solid #ccc;
cursor: pointer;
background:transparent url(../images/navigation/overlay.png) repeat-x center left;
height:16px;
line-height:16px;
}
#nav a:hover {
background:#D9D9DA none;
color: #fff;
}
#nav a.top span, #nav a.bottom span {
float:left;
width:16px;
height:16px;
}
#nav a.top span {
background:transparent url(../images/navigation/top.png) no-repeat center center;
}
#nav a.bottom span {
background:transparent url(../images/navigation/bottom.png) no-repeat center center;
}
Upvotes: 5
Views: 19100
Reputation: 173
The right thing to do is this:
you put style on a ul {display:table; margin:0 auto;}
that is all ;)
Upvotes: 0
Reputation: 228182
Use display: inline-block
combined with text-align: center
. This is good because it will continue to work if you add or remove links.
See: http://jsfiddle.net/thirtydot/VCZgW/
The important changes I made:
#nav {
/*height:35px;*/
padding: 6px 0;
}
#nav ul {
/*float:left;*/
text-align: center;
}
#nav ul li {
/*float:left;*/
vertical-align: top;
display: inline-block;
}
Upvotes: 9
Reputation: 24236
This won't directly solve your problem, but these are my go to links for css centering issues
Horizontal
http://dorward.me.uk/www/centre/
Vertical
http://phrogz.net/css/vertical-align/index.html
Upvotes: 2