переполнение: скрытое работает в Chrome 11, но не в firefox 4 или IE9

#css

#css

Вопрос:

Я использую http://tympanus.net/jPaginate для реализации разбивки на страницы. В Chrome 11 демонстрация 5 выглядит нормально, но в IE9 или Firefox 4 отображается номер последней страницы, который переносится на новую строку.

Я думаю, что в div установлен overflow: hidden, так что номера скрытых страниц не должны отображаться, если только «>>» или «<<» не наведены курсором мыши. Раньше это работало должным образом в IE8 и Firefox 3.

Как я могу реализовать обходной путь для IE9 и Firefox 4?

Комментарии:

1. 1 Я вижу такое же поведение на связанной странице. Вы могли бы попробовать связаться с автором tympanus. подключитесь к Сети , чтобы узнать, есть ли у них обновление в работе, или, может быть, кто-нибудь здесь предложит исправление, которое можно внести обратно.

Ответ №1:

Установите фиксированную высоту для div, иначе он будет растягиваться, чтобы вместить все содержимое.

[ПРАВИТЬ]

Ах, это не решает вашу проблему, плюс, видя, что paginator полностью генерируется плагином, я полагаю, что это плагин, который что-то портит. Также может быть, что width() функция jQuery отказывается взаимодействовать с FF4 и IE9. Так получилось, что у меня возникла проблема с width() изменением размера элементов списка в навигационном меню на одном из моих сайтов, и это также происходит только с FF4 и IE9. Странно… Вы могли бы попробовать увеличить ширину <ul> , содержащего элементы разбивки на страницы, с помощью jQuery после создания paginator, но это временное решение.

Комментарии:

1. Ширина jQuery полностью нарушается, когда ширина не является целым числом (так с любым Firefox на Mac, Firefox 4 на Windows, IE9 и, вероятно, Firefo на Linux).

2. Допустим, у вас есть 30 элементов подряд, каждый шириной 10.3333пикселей. Если вы сложите ширину () из них всех, вы получите 300 пикселей. Правильная ширина — 310 пикселей. Если бы вы каким-то образом получили округленные значения ширины и добавили их, вы бы получили 330 пикселей. В конце концов, если вы хотите вычислить ширину для макета, вам действительно просто нужно использовать по крайней мере такую же точность, какую использует сам браузер; в противном случае вы получите странные артефакты.

3. Я скорее думал о округлении в контексте проблемы разбивки на страницы, где проблема, которую вы описываете, на самом деле неприменима. Но, действительно, я понимаю вашу точку зрения.

Ответ №2:

На странице, на которую вы ссылались, проблемы больше нет. Я предполагаю, что у элемента было display:inline-block установлено свойство — это была проблема, с которой я столкнулся в моем случае.

Чтобы решить эту проблему, вам необходимо установить vertial-align свойство.

Из спецификации:

Базовая линия «встроенного блока» — это базовая линия его последней строки в обычном потоке, если только у него нет встроенных строк или если его свойство ‘overflow’ имеет вычисляемое значение, отличное от ‘visible’, и в этом случае базовой линией является нижний край поля.

Ответ №3:

Придание ul.jPag-pages li элементу фиксированной ширины решило мою проблему в ie9 и ie10