2010-01-19 2 views
3

Я написал меню, где общая ширина кнопок должна быть всегда одинаковой ширины строки меню. Поэтому я беру пробелы и разделяю их на кнопки.Firefox Mac alignment issue

Он работает на: Окна: FF IE6 IE7 IE8 Mac: Safari Chrome

Но он не работает на Firefox на Mac может ли кто-нибудь есть идеи?

Пример можно найти: http://www.bobkarreman.com/menu_prototype/menu/menu.html

EDIT:

шаги я предпринять, являются:

  • Я Рассчитайте пропуски.
  • Разделите это на количество кнопок и вокруг него.
  • Добавьте это вместе с текущим дополнением к кнопке.
  • Уверен, что проблем с округлением нет. Каждый раз, когда добавление прокладки к кнопке i вычитается из totalWhitespace, а в последнем LI я добавляю totalWhitespace.

Так может случиться так, что последний LI получает 1 или 2 пикселя меньше или больше.

ответ

1

Ну, так как вы динамически меняете ширину li, их значения ширины являются поплавками, а не целыми числами. Мне кажется, что браузеры все обрабатывают по-разному. Попробуйте выполнить функцию Math.floor после ее расчета.

+0

I Обозначьте значения и из-за того, что это может вызвать проблему округления, я вычитаю значение, которое я добавляю в каждый li из whiteSpace, а в последнем - добавляю оставшуюся часть. Поэтому я не вижу, как его float, когда я его добавляю. – 2010-01-19 16:33:45

0

Глядя на ваш вывод console, похоже, что он не обязательно применяет рассчитанную прокладку, как ожидалось. Кажется, что вычисляется marLeft до 38last до 43), но применяя 43 к каждому <a>. Я мог бы уйти, я только догадываюсь о значении вашего вывода console.

Стоит отметить также, что он выключен пикселем для меня в Safari (последнее меню, то <a> имеет padding-left: 39px в то время как другие имеют padding-left: 40px, и это один пиксель от края контейнера).

Edit: я могу быть недопонимание вашего console выхода, Safari говорит marLeft является 35 но применение 40 (за исключением last).

Редактировать 2: Я очень ценю, что на консоли есть информация, на которую вы можете посмотреть. Это правильный способ опубликовать пример. Благодаря!

+0

В Safari все они находятся на одной линии, и ее не похоже на нее из-за белой правой границы. – 2010-01-19 16:38:39