#html #css #centering
#HTML #css #центрирование
Вопрос:
Кажется, я не могу настроить свой UL по центру в его DIV.
<div id="sitenavdiv">
<ul id="sitenav">
<li class="about"><a href="#" title=""><img src="images/about-link.png" alt="about"></a></li>
<li class="portfolio"><a href="#" title=""><img src="images/portfolio-link.png" alt="portfolio"></a></li>
<li class="contact"><a href="#" title=""><img src="images/contact-link.png" alt="contact"></a></li>
</ul>
</div>
У меня есть следующий CSS:
#sitenavdiv {padding-top: 30px; width: 620px; position: relative; float: left; text-align:center;}
ul#sitenav {width: 231; margin: 0 auto; display: inline;}
ul#sitenav li.about{width: 64px; height: 31px; display: block; float: left; overflow: hidden;}
ul#sitenav li.about a{width: 64px; height: 31px; display: block;}
ul#sitenav li.about a:hover{width: 64px; height: 31px; display: block; margin-top:-31px;}
ul#sitenav li.portfolio{width: 88px; height: 31px; display: block; float: left; overflow: hidden}
ul#sitenav li.portfolio a{width: 88px; height: 31px; display: block;}
ul#sitenav li.portfolio a:hover{width: 88px; height: 31px; display: block; margin-top:-31px;}
ul#sitenav li.contact{width: 79px; height: 31px; display: block; float: left; overflow: hidden}
ul#sitenav li.contact a{width: 79px; height: 31px; display: block;}
ul#sitenav li.contact a:hover{width: 79px; height: 31px; display: block; margin-top:-31px;}
Я уверен, что это что-то простое, но, похоже, я не могу правильно подобрать комбинацию.
Ответ №1:
Ваше правило для ul#sitenav
должно быть:
ul#sitenav {width: 231px; margin: 0 auto; display: block; }
Обратите внимание на display: block;
, и 231px
вместо просто 231
.
(Смотрите и редактируйте, добавляя дополнительные цвета, http://jsfiddle.net/eRRjy /)
Комментарии:
1. Удалите
display:inline
, но нет необходимости устанавливать для него значениеblock
. UL по умолчанию находятся на уровне блоков.2. Это верно, если ранее не существовало правила, изменяющего это значение по умолчанию. При отсутствии
ul { display: inline; }
правилаul#sitenav
правило можно просто удалитьdisplay: block;
и покончить с этим.