В настоящее время я борюсь с очень расстраивающей ошибкой в Safari, и я не уверен, куда еще обратиться.
Кажется, большинство элементов (но не все, и я не могу различить дифференцирующий фактор), которые вызовут событие focus
, заставят все элементы на странице, которые были перемещены или анимированы, перепрыгнуть ~ 2 пикселя вверх и влево. И это происходит только при первом событии фокуса после загрузки страницы.
Это немного раздражает, когда я вижу ошибку, так как она находится в зарегистрированной части droplr.com , и мне совершенно не удалось разобрать более простой случай на JSFiddle.
Если у вас есть / создайте учетную запись и войдите в систему, нажмите на этот значок редактирования для выпадения:
Вы увидите, что в первом фокусе страницы вещи дрожат. Вот временная шкала, когда на странице есть одна капля, и я фокусируюсь на элементе, который нарушает работу:
С большим количеством капель это просто больше того же самого, но, кажется, оно составляет максимум около 40 красок. И профилировщик не предлагает ничего гнусного. Просто путешествие по внутренним компонентам jQuery.
Если вместо размещения элементов через translate3d
или matix3d
я просто использую top
и left
, эта ошибка исчезнет. После нескольких часов отладки я в полной растерянности.
Надеясь, что кто-то видел что-то подобное, мог взглянуть или мог бы дать мне совет по отладке следующих шагов.
Большое спасибо!
Обновление: Дейв Десандро предложил , это было 3-е ускорение, так что я попробовал его с translate
и, конечно же, это не вызвало дрожание , Я понятия не имею, почему аппаратное ускорение запускается с событием focus
и только один раз.
Я пытался установить transformZ 0 при загрузке страницы, чтобы продвинуться вперед и нарастить аппаратное обеспечение, но там тоже не повезло. Любые другие идеи приветствуются.