Удаление float
s и использование inline-block
могут решить ваши проблемы:
.pagination a {
- display: block;
+ display: inline-block;
width: 30px;
height: 30px;
- float: left;
margin-left: 3px;
background: url(/images/structure/pagination-button.png);
}
(удалите строки, начинающиеся с -
, и добавьте строки, начинающиеся с +
.)
.pagination {
text-align: center;
}
.pagination a {
+ display: inline-block;
width: 30px;
height: 30px;
margin-left: 3px;
background: url(/images/structure/pagination-button.png);
}
.pagination a.last {
width: 90px;
background: url(/images/structure/pagination-button-last.png);
}
.pagination a.first {
width: 60px;
background: url(/images/structure/pagination-button-first.png);
}
<div class='pagination'>
<a class='first' href='#'>First</a>
<a href='#'>1</a>
<a href='#'>2</a>
<a href='#'>3</a>
<a class='last' href='#'>Last</a>
</div>
<!-- end: .pagination -->
inline-block
работает кросс-браузерно, даже в IE6, если элемент изначально является встроенным элементом.
Цитата quirksmode :
Встроенный блок помещается в строку (т. е. на той же строке, что и соседний контент), но он ведет себя как блок.
thisчасто может эффективно заменить числа с плавающей запятой:
Реальное использование этого значения - когда вы хотите дать встроенному элементу ширину.В некоторых случаях некоторые браузеры не допускают ширину реального встроенного элемента, но если вы переключитесь на display: inline-block, вам будет разрешено установить ширину. »(http://www.quirksmode.org/css/display.html#inlineblock).
Из W3C spec :
[inline-block] заставляет элемент генерировать контейнерный блок встроенного уровня.Внутренняя часть встроенного блока отформатирована как блок блока, а сам элемент отформатирован как элементарный блок встроенного уровня.