Настройка ширины работает правильно в Chrome, но не Firefox? - PullRequest
2 голосов
/ 02 мая 2011

Я строю небольшую нумерацию страниц с помощью jquery.Я нашел плагин, который делает некоторые похожие вещи (я все еще использую свой собственный).И мой, и этот плагин: http://tympanus.net/jPaginate/ имеют похожую проблему в Firefox.Если вы посмотрите «Demo 5» на демо-странице этого плагина, вы увидите проблему.В хроме все отлично.В Firefox последнее число переносится на следующую строку.

В основном у меня есть ul с li элементами.Мне нужно сложить все ширины li и установить ширину ul для этого числа.Мне нужно, чтобы он был точным (если вы добавите больше к ширине, то проблема переноса не возникает, но когда вы прокручиваете до конца списка чисел, появляется куча пробелов)

Любойидеи, почему Firefox ведет себя так?

Кстати, я на Mac OSX.

Ответы [ 3 ]

2 голосов
/ 13 августа 2012

Я решил проблему: Jquery.paginate.js -> Просто замените

_ul.css('width',insidewidth+'px'); [3rd line from last]

на

_ul.css('width',insidewidth+5+'px');

Его решено. Работа в FF, Crome, т.е. 7,8,9 Наслаждайтесь

1 голос
/ 02 мая 2011

Какой метод вы используете, чтобы получить ширину <li>? Если вы используете jQuery width() или offsetWidth или clientWidth, вы получите неправильные числа, потому что все эти значения округляются нецелыми значениями ширины. Единственные вещи, которые дадут вам правильные ответы, это вычисленная ширина стиля и getBoundingClientRect().width.

Chrome округляет ширину до целого числа перед выполнением макета, поэтому методы округления больше не наносят там ущерба (но в результате могут получиться швы вокруг краев, когда сумма округленных ширин фактически не заканчивается к ширине контейнера).

0 голосов
/ 02 мая 2011

Я поиграл с инструментами разработки в IE, и когда я удалил стиль letter-spacing:2px на теле, он исправил это.Не уверен, что это исправит это для Firefox, но это исправило это для IE9-10, и я предполагаю, что это та же проблема.

...