css - How to center text inside a li element inside an unordered list -
this list working great me text within <li>
elements not centering.
the <li>
s must auto resize content.
#nav-menu { font-family: verdana, arial, helvetica, sans-serif; height: 30px; background-image: url(../img/menu_bg.png); background-repeat: repeat-x; border-bottom: dotted thin #666666; border-top: dotted thin #666666; text-align: center; width: 800px; } #nav-menu ul { list-style: none; padding: 0; margin: auto 0; } #nav-menu li { float: left; border-right: dotted thin #666666; list-style: none; padding: 0.5em 2em 0.5em 0.75em; } #nav-menu li { line-height: 1.5em; color: #333333; text-decoration: none; font-size: 12px; font-weight: bold; display: block; }
<div id="nav-menu"> <ul> <li class="current_page_item"><a href="#" title="home">home</a> <li class="current_page_item"><a href="#" title="home">home</a> <li class="current_page_item"><a href="#" title="home">home</a> <li class="current_page_item"><a href="#" title="home">zxczczxczhome</a> </ul> </div>
while you're assigning unequal padding
values left , right of li
(0.75em
, 2em
respectively) text can't centred since you're forcing off-centre padding
.
if amend padding to: padding: 0.5em 1em;
(0.5em
top , bottom, 1em
left , right) can centred.
#nav-menu { font-family: verdana, arial, helvetica, sans-serif; height: 30px; background-image: url(../img/menu_bg.png); background-repeat: repeat-x; border-bottom: dotted thin #666666; border-top: dotted thin #666666; text-align: center; width: 800px; } #nav-menu ul { list-style: none; padding: 0; margin: auto 0; } #nav-menu li { float: left; border-right: dotted thin #666666; list-style: none; padding: 0.5em 1em; } #nav-menu li { line-height: 1.5em; color: #333333; text-decoration: none; font-size: 12px; font-weight: bold; display: block; }
<div id="nav-menu"> <ul> <li class="current_page_item"><a href="#" title="home">home</a></li> <li class="current_page_item"><a href="#" title="home">home</a></li> <li class="current_page_item"><a href="#" title="home">home</a></li> <li class="current_page_item"><a href="#" title="home">zxczczxczhome</a></li> </ul> </div>
jsfiddle demo of above.
Comments
Post a Comment