Встроенные элементы с шириной
Вопрос
Кажется, этот вопрос часто задают в Интернете, но я до сих пор не могу найти решение.
У меня есть панель навигации (она переключается между вкладками с помощью jQuery), которая отображается в строке.Я показываю на них фоновое изображение, и чтобы сделать их более четкими, мне нужно сделать их шире и выше.
<div id="tabs">
<ul id="tabs-nav-cont">
<li class="tabs-navs"><a href="#tabs-1">Nav 1</div></a></li>
<li class="tabs-navs"><a href="#tabs-2">Nav 2</div></a></li>
<li class="tabs-navs"><a href="#tabs-3">Nav 3</div></a></li>
<li class="tabs-navs"><a href="#tabs-4">Nav 4</a></li>
</ul>
</div>
Единственный способ сделать это — вернуть их обратно в блочные элементы.Это не то, что мне нужно, потому что они отображаются вертикально.Поэтому я попытался поместить элементы div в якоря, чтобы можно было увеличить их размер.Однако они, похоже, снова меняют их на блочные элементы.
Я в замешательстве.Кто-нибудь, пожалуйста, помогите :)
Решение
К счастью, вы живете в 2009 году, когда inline-block широко используется в браузерах: Кроссбраузерный встроенный блок.
Если это только высота (и все содержимое li
s соответствует каждому в одной строке), вы хотели бы использовать line-height: 123px
, который устанавливает высоту встроенного поля в 123 пикселя (то есть на строку).
Или, что весьма распространено, если навигация выровнена по левому краю, разместите их в плавающем положении:
#nav li {
display: block;
float: left;
}
Ваше здоровье,
Другие советы
Потому что это был не 2009 год, когда мне впервые пришлось решать эту проблему :) я получил решение для Firefox со следующим классом CSS:
.ib { display: -moz-inline-block; display: inline-block;}
Это мой общий класс встроенных блоков, который я использую там, где это необходимо...
Синан.