В настоящее время я боюсь очень разочаровывающей ошибки в Safari, и я не уверен, куда еще повернуть.Сафари дрожит/прыгает (ошибка?) При первом «фокусном» событии загрузки страницы
кажется наиболее элементов (но не все, и я не могу различить дифференцирующий фактор), инициирующую focus
события будет вызывать все элементы на странице, которые выполнили переход или анимированные прыгать ~ 2px к началу и влево. И это происходит только при первом событии фокуса после загрузки страницы.
Это немного раздражает, чтобы увидеть ошибку, так как она находится в зарегистрированной части droplr.com, и я был полностью неспособен переделать более простой случай на JSFiddle.
Если у вас есть/создать учетную запись и войдите в систему, нажмите на эту иконку редактирования для капли:
Вы увидите, что на первом фокусе страницы, вещи джиттера. Вот график, когда есть одна капля на странице, и я вызвать фокус на элемент нарушившей:
С более капель, это только больше того же самого, но, кажется, до максимума около 40 красок. И профайлер не предлагает ничего гнусного. Просто поездка через внутренние службы jQuery.
Если вместо прокладки элементов через translate3d
или matix3d
, я просто использую top
и left
, эта ошибка исчезает. После нескольких часов и часов отладки этого я полностью потеряю.
Надеясь, что кто-то увидел что-то подобное, может взглянуть или дать совет по отладке следующих шагов.
Большое спасибо!
Update: Dave Desandro suggested это было 3d ускорение ногами в, так что я попробовал его с translate
вместо этого, и достаточно уверенный, что не вызывает дрожание. Я понятия не имею, почему аппаратное ускорение будет запускаться с событием focus
, хотя и только один раз.
Я пробовал установить transformZ 0 на загрузку страницы, чтобы идти вперед и наращивать аппаратное обеспечение, но и не повезло. Любые идеи приветствуются.
Какая у вас версия Safari? Просто проверено на Safari 5.1.4 - кажется прекрасным. Я знаю несколько ошибок с webkit, связанных с анимацией и преобразованиями, но они связаны с рендерингом/антиалиасированием текста, а не с матричной позицией; –
Интересно, я тоже 5.1.4, и я знаю, что это происходит на 5.2. –
Вы пробовали -webkit-backface-visibility: hidden; по этим элементам? Попробуйте. – Undefined