Font-awesome: Проблема с рендерингом: тряска / качание при вращении значков (chrome firefox)

Созданный на 13 янв. 2013  ·  147Комментарии  ·  Источник: FortAwesome/Font-Awesome

✋ пожалуйста, прочтите https://github.com/FortAwesome/Font-Awesome/issues/671#issuecomment -338336059 👈

При использовании текста загрузки данных, например:

data-loading-text = " Вход в систему ..."

А затем, когда кнопка нажата и установлено свойство «загрузка», значок будет качаться и трястись при вращении.

Хотя, если включить крутящуюся иконку на кнопку как обычно, например:

Крутится нормально.

Я столкнулся с этой ошибкой только в Firefox (в настоящее время версия 18), отлично работает в Chrome.

редактировать таглиала
Проблема, связанная с Firefox: # 3451

bug cantfix

Самый полезный комментарий

Выполнение .fa-spin { -webkit-filter: blur(0); } как в этом твите, предполагает, что это исправлено для меня.

Все 147 Комментарий

Чертов Firefox. В этом проекте было не меньше проблем, чем с IE. Вы используете 3.0.1? Для решения этой проблемы есть новые специальные классы вращения для Mozilla. Если это все еще происходит, дайте мне знать, и я снова откроюсь.

Я могу подтвердить, что использую 3.0.1, я даже повторно загрузил и дважды проверил, и проблема не устранена.

В моем предыдущем комментарии, похоже, мои примеры были исключены, я был бы рад отправить вам шаблон мако, где возникает эта проблема?

У меня дрожание / колебание при использовании .icon-spin в Chromium (24.0.1312.56) и Chrome в Linux, Firefox (18.0.2) кажется нормальным. Проверено на 13d5dd373cbf3f2bddd8ac2ee8df3a1966a62d09

Я получаю дрожание / колебание в firefox 18.0.2, но не в Chrome или IE при определенных обстоятельствах. Однако мне не удалось определить точную причину. (с использованием font-awesome v3.0.2)

У меня шатание во всех браузерах под Windows 7, но под OSX это прекрасно.

@davegandy пинг

Я получаю колебания в Chrome версии 26.0.1410.65 (довольно свежая версия). Любая работа над этим?

пинг! У меня тоже проблема. Не понимаю, почему проблема была закрыта, она все еще сохраняется.

не могли бы вы предоставить скрипку, объясняющую проблему?

Здесь та же проблема, какие-либо решения?

Подтверждено для последней версии Chrome (28.0.1500.71). Чем меньше значок, тем более утрировано движение. Эта проблема влияет на вызов класса вращения значков.

Я безуспешно пробовал вращение 3D. Само по себе вращение icon-circle является проблемой.

Под Windows 7 у меня проблема в Firefox 22.0, Chrome 28.0.1500.72. В IE 8-10 колебание едва заметно, но, если внимательно присмотреться к случаю, когда я наблюдал эту проблему, я думаю, что небольшое колебание все еще есть. Я сделаю все возможное, чтобы настроить скрипт для этой проблемы, но достаточно контекста, что может занять некоторое время.

Не мой jsfiddle, но вот с проблемой: http://jsfiddle.net/Rnt9N/2/
Отлично выглядит на Mac, но дергается в Firefox под Windows 7.

для меня это не так уж плохо (firefox 22 / w7 x64).

У меня такая же проблема с использованием node-webkit v0.7.5.
Закончился использованием spin.js

повторное открытие этого, так как это также ошибка FontAwesome

Выполнение .fa-spin { -webkit-filter: blur(0); } как в этом твите, предполагает, что это исправлено для меня.

@paldepind спасибо, что поделились этим решением

Не могли бы вы предоставить скрипку, отображающую текущее вращение и предлагаемое вращение бок о бок?

Вы можете разветвить эту скрипку: http://jsfiddle.net/tagliala/HgYqA/

Я не вижу различий в колебании Chrome в Windows 7. Я просто замечаю, что значок вращается «медленнее», например, с половинной скоростью.

@tagliala пожалуйста!

Вот скрипка, показывающая два счетчика, один с исправлением, а другой без исправления: http://jsfiddle.net/paldepind/XLdQX/

Я тестировал Chrome 30 и Firefox 24 в Linux. В Firefox все гладко, но в Chrome счетчик без исправления немного шатается. Однако я не вижу разницы в скорости вращения ни в одном из браузеров.

Chrome 32 в Windows 7 вообще не отображает значок ...

image

В GNU / Linux с Chromium 30 исправление работает. Не то же самое для Firefox 26, потому что свойство фильтра еще не поддерживается. https://developer.mozilla.org/en-US/docs/Web/CSS/filter

Что касается Firefox 26 в Windows 8, то оба варианта для меня все еще шаткие. В Chrome 31 на Windows 8 оба выглядят нормально.
12 декабря 2013 г. в 14:20 Фелипе Пеньяилильо [email protected] написал:

В GNU / Linux с Chromium 30 исправление работает. Не то же самое для Firefox 26, потому что свойство фильтра еще не поддерживается. https://developer.mozilla.org/en-US/docs/Web/CSS/filter

-
Ответьте на это письмо напрямую или просмотрите его на GitHub.

К сожалению, это не отображается в окнах и отстойно в OSX :(

http://jsfiddle.net/tagliala/XLdQX/2/

Значок вращения не сглаживается и продолжает качаться

screen shot 2013-12-13 at 10 46 39

Я надеялся, что это жизнеспособное решение, но это не так

@tagliala Это прискорбно. Я только попробовал исправить это на своей машине с Linux и дал отличные результаты.

@paldepind о, я знаю, я помню, что на моей машине с Ubuntu вращение действительно отстой

Не могли бы вы попробовать субпиксельные преобразования: http://jsfiddle.net/tagliala/96ULe/3/

Привет! Я обновился до Chrome 31 сегодня, и теперь шатание исчезло. Так что, возможно, эта проблема исчезнет сама собой.

@tagliala не уверен, что я должен видеть. Все выглядит так, как я думаю. Но опять же, это в Chrome 31, где я больше не вижу проблемы с колебаниями.

@tagliala Скрипка преобразования субпикселей все еще показывает шаткость в Chrome 31 и Firefox 26 в Kubuntu.

Однако я согласен, что это вызвано субпиксельным рендерингом.

Вот новая скрипка, на которой изображена буква вращения O («о») с красной круглой рамкой вокруг нее.

http://jsfiddle.net/bBaVN/208/

Этот пример действительно усугубляет эффект шатания, потому что красная граница вращается плавно, а буква O колеблется.

-webkit-filter: blur(0); решает проблему для меня. Я не могу найти других директив, которые это исправляют, включая --webkit-font-smoothing.

Я также попытался отключить сглаживание шрифтов KDE (Системные настройки -> Внешний вид приложения -> Шрифты -> Использовать сглаживание = Отключено), и _ это также решает проблему_.

к сожалению, -webkit-filter: blur(0); не является решением, потому что ломает окна

@tagliala не уверен, в какой версии Windows он у вас не работает. Я тестировал решение, предложенное в последних версиях Chrome и IE 11. Похоже, оно не работает с Firefox.

@silentworks ломает Win7 x64 - chrome 32

http://jsfiddle.net/tagliala/XLdQX/2/

Более того, когда он работает, сглаживание действительно плохое.

Я думаю, что основная проблема в том, что значки внутри шрифтов не совсем центрированы: http://jsfiddle.net/XLdQX/5/

Как вы можете видеть на скриншоте ниже, есть 3 пустых пикселя внизу и 2 вверху: это вызовет колебание.

image

Если вы можете установить ширину таким образом, чтобы значок был центрирован, значок не будет качаться: http://jsfiddle.net/XLdQX/6/

ИМХО эту функцию отжима надо убрать, хлопот больше доставляет, чем пользы

WONTFIX потому что много работы: -1:
но да, это было здорово ... но не обязательно. Переделать все шрифты, чтобы заставить некоторые значки вращаться, - это большая работа, и она идет против течения.

@conrado здесь нет ярлыка "wontfix"

это все еще wontfix. возможно, некоторые из грифов, подходящих для вращения, можно было бы переработать

это все еще wontfix.

Нет, это не так. Он правильно открыт и помечен как ошибка

image

Я не совсем уверен в статусе этой проблемы, даже после прочтения комментариев, но поскольку он все еще помечен как открытый: Chromium 31 и Firefox Aurora 28 (2014-1-13) на Xubuntu все еще дрожат.

@ ahamilton9 взгляните здесь: https://github.com/FortAwesome/Font-Awesome/issues/2709#issuecomment -32045585

Хорошо, я думаю, что это ошибка браузера в каждом шрифте.
Вот три примера: http://jsfiddle.net/3T8Kz/

Во-первых: шрифт Font-Awesome центрирован, с ошибкой.
Во-вторых: еще один пример, но с обычным шрифтом
В-третьих: без шрифтов, просто div, с той же анимацией и без ошибки.

Такая же ошибка у меня Firefox 31, Linux.
Если это вызвано размером глифов - достаточно исправить только глифы, предназначенные для вращения, а не все.

: +1: +1 это следует учитывать для следующей основной версии, где предположительно все глифы будут пересмотрены.

Увидев эту проблему даже на официальном сайте: http://i.gyazo.com/3ba2d0afad90c2e7fe6d2c0bb34e661d.mp4

(Последняя версия Firefox)

Хотелось бы увидеть это исправленным: +1:

запросы на вытягивание и глубокие исследования по этому поводу приветствуются.

это похоже на хромовую ошибку

@davegandy есть обновления?

То же самое в Chrome 37.0.2062.124 в Mac OS X, Safari в iOS 7.0.4

+1

Мне удалось решить (я не скажу, решаю) эту проблему для fa-refresh в локальном проекте, используя
-webkit-transform-origin: 49% 48,5%;
-moz-transform-origin: 49% 48,5%;
-ms-transform-origin: 49% 48,5%;
-о-трансформация-происхождение: 49% 48,5%;
трансформация происхождения: 49% 48,5%;

Я использую «fa-circle-o-notch» в качестве символа загрузки и использую эти значения для преобразования исходной точки, чтобы она не колебалась.

.fa-circle-o-notch.fa-spin {
-webkit-transform-origin: 50% 48,9%;
-moz-transform-origin: 50% 48,9%;
-ms-transform-origin: 50% 48,9%;
-о-трансформация-происхождение: 50% 48,9%;
трансформация происхождения: 50% 48,9%;
}

@magnyld Я только что попробовал, но продолжает колебаться после изменений DOM.

Вы не можете полагаться на преобразование происхождения. Это может сломаться, если значок больше или меньше. Как я уже сказал, это не проблема шрифтов, потому что если вы попытаетесь вращать div в стиле идеального круга, результат будет тем же. Бьюсь об заклад, это ошибка движка webkit.

Нет, это тоже присутствует в firefox https://bugzilla.mozilla.org/show_bug.cgi?id=930079

Колебание в Firefox 33, OSX.

Та же проблема ( качающееся вращение ) :(

запросы на вытягивание с подробным анализом этой проблемы, обходным путем и надлежащим объяснением преимуществ и недостатков будут очень приветствоваться.

Кажется, проблема связана с самой иконкой. Если взять версию со спиннером Icomoon, то она совсем не качается. Он хорошо работает в Chrome 39, Windows и IE11, Windows. Для других браузеров я не знаю.

http://jsfiddle.net/cxxzh0uf/

@skoub

Подход icomoon с сохранением значков одинакового размера кажется лучше для этой цели, но этого недостаточно.

http://jsfiddle.net/tagliala/cxxzh0uf/2/

image

Если я проверю псевдоэлемент :before , я замечаю, что fontawesome "странный"

image

image

Я попытался установить ту же ширину и высоту, но дела не улучшаются.

Я думаю, что это связано с самим шрифтом, и мы ничего не можем сделать с помощью CSS.

Дэйву следует взглянуть на шрифт и проверить шрифты, созданные Icomoon, чтобы попытаться понять, как лучше всего решить эту проблему.

Мы не можем принимать запросы на вытягивание с изменениями в файле .otf, но мы будем признательны за помощь в этом вопросе. Если кто-то из присутствующих может взглянуть на шрифт и определить проблему, мы приветствуем

Извините за мой английский, здесь тоже поздно :)

@tagliala, спасибо, что
Я заметил, что у fa-cog такая же проблема, но она не так заметна при тех же обстоятельствах, что и у fa-clock или некоторых других, упомянутых выше. Я буду продолжать следить за этой веткой и сообщу, если найду какие-либо обходные пути, но я почти уверен, что это небольшие дефекты в самих глифах, которые появляются только один раз при вращении, иначе они слишком малы, чтобы их можно было заметить невооруженным глазом

Я столкнулся с той же проблемой, есть ли подтвержденное решение для этого?

@TsuiJie нет, нет

У меня была аналогичная проблема с трясущимися / качающимися значками вращения в IE10 и 11.

Моя проблема заключалась в том, что в IE 10/11 полосы прокрутки отображались и скрывались (пульсировали) до тех пор, пока был виден счетчик.

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

Надеюсь, это кому-то поможет.
Ура

Хорошо, я понял, что проблема в преобразовании Font Squirrel в форматы webfont. Похоже, это меняет некоторые показатели. Мой план:

  • тестируйте свежей версией от Font Squirrel
  • если это не сработает, используйте мое собственное решение для преобразования

Хорошо, после значительного количества исследований я внес несколько исправлений:

  • Обновлен fa-spinner, чтобы улучшить визуальный эффект при вращении.
  • Сделал домашнее преобразование веб-шрифтов. Font Squirrel определенно все испортил.
  • Скорректированы некоторые метрики шрифта, которые, по-видимому, не влияют на Mac, но активно используются Windows.
  • Добавлены анимированные примеры на страницу визуального тестирования (http://fontawesome.io/test/).

Результаты

  • Retina Mac: безупречный в Chrome, Safari и Firefox
  • Mac без Retina: намного лучше в Chrome, Safari и Firefox
  • Windows 7: IE11 выглядит безупречно, у Chrome 39 все еще есть проблемы, но я не думаю, что он хуже, чем был

Одно предостережение

  • При некоторых размерах шрифта во всех браузерах наблюдается небольшое колебание (у Icomoon такая же проблема). В принципе, если вы сохраните его кратным или половинным кратным оптимизированному разрешению (например, 14 пикселей, 21 пикселей, 28 пикселей, 35 пикселей), колебание исчезнет.

Поскольку результаты намного лучше, чем были, я назову это приемлемым для 4.3 и оставлю вопрос открытым для 5.0.

Еще одно обновление. Я выяснил, какой выбранный вариант не работал при преобразовании Font Squirrel. Я положил эти файлы обратно. Оставил открытыми.

@davegandy , я не вижу никаких улучшений со своей стороны с Firefox и Chrome в Windows. Я не пробовал IE11. Вы можете отчетливо увидеть колебание, если используете в анимации шаги.

Я так понимаю, что на ветке 4.x много сделать нельзя, но есть ли твердое решение для ветки 5.x?

.fa-spin2 {
    animation: fa-spin 1s infinite steps(8);
    -webkit-animation: fa-spin 1s infinite steps(8);
    -moz-animation: fa-spin 1s infinite steps(8);
    -o-animation: fa-spin 1s infinite steps(8);
}

Для всех, кто зашел так далеко и ищет способы устранения неполадок:

Не используйте одновременно fa-spin и fa-fw .

Это оказалось моей проблемой (и моим решением).

@skoub

IE11 почти идеален, ИМХО лучший в windows.

Значок прядильщика новый, и он должен быть лучше, чем раньше.

Взгляните на нижнюю часть этой тяжелой страницы со всеми браузерами: http://fontawesome.io/test/

Chrome и firefox действительно плохи при небольших размерах: разочарован:

с IE11, с fa-pulse, есть небольшой глюк. Это как если бы счетчик перемещался на 1 пиксель вверх и спускался на следующем шаге анимации.

У меня он работает в IE 11 и Chrome 40.0.2214.115 m, но в Firefox 35.0.1 он колеблется.

Все еще заметно в Firefox 36 для Linux.

Видео записывается со скоростью 50 кадров в секунду.

Font-awesome issue #671 firefox linux

Добавление scaleZ(1.001) устраняет проблему для Firefox 36 в Linux.

Не уверен, что моя проблема была такой же, как и у всех, она больше походила на проблему №4017, но она была закрыта и перенаправлена ​​сюда, поэтому я просто опубликую здесь свое решение.

Кажется, если просто добавить в класс .fa-spin следующее.

.fa-spin {
    text-align:center;
}

Похоже, это помогло мне исправить шаткость.

Ни отказ от fa-fixed text- align: center @JakeCooper не исправляет это для меня:
filter

(Без fa-spin нет джиттера).

@isaksky, не могли бы вы предоставить скрипку, показывающую эту проблему? У меня есть мысль

@tagliala Вот и все:

http://codepen.io/isaksky/pen/JoBqoM

Chrome 40.0.2214.115, Windows 7. Невозможно воспроизвести эту проблему с предоставленным кодом.

Какой браузер дает вам такой результат?

Я сейчас не на своем рабочем компьютере, но я считаю, что это последняя версия обычного Chrome для Windows 8. Обычно я не могу воспроизвести его здесь, на этом Mac в Chrome, но если я увеличу масштаб до 110% или 125% для Например, он появляется. (Существует также проблема, когда мои кнопки располагаются вертикально, но я имею в виду не это (я думаю, что могу исправить это с помощью ems).) У вас случается дрожание, если вы возитесь с зумом?

Я только что сделал это при нормальном (100%) увеличении и на этом Mac. Кажется, связано с возня с масштабированием и / или переключением вкладок браузера. Между прочим, проблема также возникает с $('#spin-pls').toggleClass("fa-spin") (вместо переключения «скрыть» на нем, когда он уже вращается), что может немного прояснить, где проблема.

Я завтра проверю со своим макинтошем

У меня есть обходной путь для вращения винтика. Красиво и плавно при зависании.

http://codepen.io/jesseangelo/pen/KwrqdM?editors=010

Я сделал анимацию по ключевым кадрам, которая вращается только на 30 градусов ( rotateFa ниже). Затем я называю это так: animation: rotateFa .1s infinite;

<strong i="11">@keyframes</strong> rotateFa {
    from { transform: rotate(0deg); }
    to { transform: rotate(30deg); }
}

И наоборот, чтобы повернуть его обратно

<strong i="15">@keyframes</strong> unRotateFa {
  from { transform: rotate(30deg); }
  to { transform: rotate(0deg); }
}

Проблема все еще существует.

Он по-прежнему существует в случае отключения аппаратного ускорения. Firefox 36.0.4.

Пожалуйста , не добавляйте +1 и не подтверждайте, что эта проблема все еще существует, потому что проблема открыта и мы не знаем, как ее исправить.

Взгляните сюда: https://github.com/FortAwesome/Font-Awesome/issues/671#issuecomment -65381998

Возможно, стоит отметить страницу https://github.com/FortAwesome/Font-Awesome/issues/671#issuecomment -71056820, вы не заметите на Mac Retina - даже если вы тестировали во всех основных браузерах.

@Vusys Согласен. Вы можете отправить PR против основной ветки или сказать мне, что написать, и я это сделаю

@tagliala выполняется с помощью запроса на

В некоторых браузерах на некоторых платформах возникают проблемы с анимированными значками, что приводит к эффекту дрожания. См. Проблему № 671, где приведены примеры и возможные обходные пути.

@Vusys, спасибо!

Я вижу гораздо худшее колебание, чем просто +/- 1 пиксель. Между преобразованием вращения и другими преобразованиями CSS существует какое-то странное взаимодействие, поэтому иногда центр вращения находится за пределами значка счетчика.

Я еще не определил, какое правило CSS вызывает эту проблему на моем сайте, но это похоже на случай ошибочного порядка преобразования. Порядок должен быть следующим: перевести центр значка в (0,0), затем повернуть на текущий угол, затем преобразовать (0,0) в положение экрана, в котором должен отображаться центральный значок (или наоборот). Где-то там CSS добавляет еще один перевод.

_Update: _ Я выяснил, в чем проблема в моем случае, поэтому я опубликую здесь ответ на случай, если кто-то еще сможет извлечь из этого пользу: у меня было правило CSS, которое изменяло ширину элемента i, который счетчик был сохранен в (элемент Bootstrap, используемый для значков FA). Это дает непредсказуемые результаты в зависимости от контекста значка (например, в зависимости от того, был ли текст центрирован или нет).

Я не определил, какое правило CSS

Я почти уверен, что это не правило CSS, и проблема не связана с самой FA

Взгляните сюда: http://jsfiddle.net/tagliala/g0ngLhyr/

@tagliala , если это не связано с правилом css или FA, как вы объясните, что у Icomoon нет эффекта колебания?

демо: http://jsfiddle.net/cxxzh0uf/

другой пример - это тот, который сделал Google: http://www.getmdl.io/components/index.html#loading -section / spinner

@skoub ваша скрипка обновлена ​​до 4.3.0: http://jsfiddle.net/tagliala/cxxzh0uf/9/

Взгляните сюда: http://jsfiddle.net/tagliala/g0ngLhyr/

Обратите внимание, что у этой скрипки вообще нет веб-шрифтов, и она по-прежнему показывает колебания.

Реализация @skoub Google не основана на веб-шрифтах, и ИМХО, это правильный способ справиться с этой функцией.

Хочу поделиться здесь своим опытом.

Одиночные значки:
У меня проблема только с качающимися иконками. Одиночные значки вращаются или пульсируют нормально

Сложенные значки:
По-видимому, на моем сайте приведенный ниже код не колеблется в заголовке, где шрифт немного больше, но колеблется, когда шрифт меньше. Колебания fa-pulse в обоих случаях

отказ от ответственности: я новичок во всех этих вещах, но, поскольку мой сайт дает как шаткие, так и хорошие результаты, я подумал, что вы все, возможно, захотите узнать.

@isaksky Это колебание / размытие со счетчиком связано с аппаратным ускорением

Элементы, которые отображаются / скрываются с помощью класса .hide могут иметь подсказку браузеру, что контент будет скрыт

#spin-pls {
  will-change: contents;
}

Однако браузер на основе Gecko, такой как Firefox, по крайней мере для меня, по-прежнему имеет проблемы с переходом текста в диалоговом окне.

.job-order-dialog {
  will-change: transform;
}

работает, но отрицательно влияет на Chrome, постоянно чрезмерно компенсируя и размывая текст. Я придумал два возможных решения, первое предназначено только для Firefox, второе - это другое ускорение, filter: blur(0); отмечен в этой ошибке, но, на мой взгляд, он немного взломан - похож на transform: translateZ(0); - -и может привести к негативным результатам в будущем.

@-moz-document url-prefix() {
  .job-order-dialog {
    will-change: transform;
  }
}
.job-order-dialog {
  filter: blur(0);
}

Это решает проблему, спасибо @tagliala ?

@toastal не могли бы вы предоставить jsfiddle, показывающий ваше решение и сравнивающий его с базовым вращением шрифтов?

Я пробую все примеры, которые вы опубликовали, и не могу воспроизвести в Firefox Aurora:

20150722004007
Mozilla / 5.0 (X11; Linux x86_64; rv: 41.0) Gecko / 20100101 Firefox / 41.0

Я использую debian Jessie, и из-за некоторых проблем с драйверами nvidia я думаю, что у меня нет аппаратного ускорения.

Ошибка процесса GLXtest (завершен со статусом 1): расширение GLX отсутствует
Procesador WebGL Bloqueado для устранения проблем, связанных с графическим редактированием, как без возобновления управления.

Также здесь нельзя воспроизвести:
http://shb.github.io/bootstrap-loading-screen/#icon : spinner

это решено, или это потому, что у меня не включено аппаратное ускорение?

Я нашел еще одно возможное исправление этой проблемы (работает firefox 39) благодаря этому сообщению: http://www.useragentman.com/blog/2014/05/04/fixing-typography-inside-of-2-d-css -transforms /

Я отредактировал JSFiddle выше с исправлением: http://jsfiddle.net/5z9om45L/

просто поместите "перспективу (1px)" в свойство преобразования. Это «бросает рендеринг объекта в GPU», согласно сообщению, указанному выше. Я лично не тестировал это подробно, поэтому я не знаю, что конкретно это делает и вызывает ли это какие-либо другие проблемы, но пока все выглядит нормально. Это была одна из моих самых больших проблем с Firefox, поэтому я решил упомянуть об этом здесь.

Я отредактировал JSFiddle выше с исправлением: http://jsfiddle.net/5z9om45L/

Это отлично решает проблему для меня.

Вот обновленный Fiddle, который показывает колебания компаса. Вторая кнопка локации показывает простое вращение с явным покачиванием.

http://jsfiddle.net/Lpur9ek1/1/

@spiderr очевидно, fa-lg увеличивает эффект колебания, потому что он имеет дело с высотой строки и размером шрифта. Попробуйте использовать размер шрифта 14 пикселей или кратный

@tagliala, спасибо, отличный отзыв! fa-2x определенно лучше. Также есть некоторые странные артефакты (грязные пиксели) по кругу. Вот скрипка на fa-5X, которая более четко показывает их на большой синей кнопке. Это мелочь, но если бы кто-нибудь почистил компас, было бы здорово. Я надеюсь, что когда компас вращается, вы не сможете определить, движется ли круг, только внутреннюю стрелку компаса. Если я сижу в 2 метрах от экрана с fa-5x, смотрится отлично :-)

http://jsfiddle.net/mhqLvw79/1/

Не уверен, что это правильная ветка, но ..
В firefox перестает крутиться мой "fa fa-cog fa-spin". Я использую его в вызове ajax с модальным окном. Он отлично работает в Safari и Chrome, но Firefox по какой-то причине останавливается. Есть предположения??

приложение / javascripts / my_file.js
$ (документ) .ready (функция () {
$ ('# search_btn'). on ('click', function () {
$ ('# результатов'). empty ();
var myForm = $ ('# user_search');
$ ("# spinner_modal"). модальный ("показать");
$ .ajax ({
url: myForm.attr ('действие'),
тип: "POST",
данные: myForm.serialize (),
dataType: 'текст',
success: function (html) {
$ ("# spinner_modal"). модальный ("скрыть");
$ ('# результаты'). append (html);
},
error: function (xhr, satus, err) {
$ ("# spinner_modal"). модальный ("скрыть");
},
тайм-аут: 60000
});
вернуть ложь;
});

_my_partial.html.erb

@jonathanparrish, пожалуйста, начните новый выпуск. Не беспокойтесь обо мне, я посмотрю :)

Как я решил проблему с нецентральным вращением шрифта значка:
Мне нужно было решить несколько проблем:
1. размер значка: он должен быть размером в пикселях (например, font-size: small; делает мой значок 17,5 пикселей, поэтому центр не является абсолютным центром для преобразования)
2. определение отображения: блок на уровне значка правильно центрирует его в середине родительского div.
3. определение точного квадратного размера родительского div (в моем случае - кнопка) и фиксированные отступы сделали его центрированным правильно
4. добавление любой тени для текста изменит размер внутреннего значка, так что он будет вне центра. Хитрость в том, чтобы изменить стиль наведения на ту же тень с цветом фона в моем случае.

Итак, вот код:

button.close {
    padding: 10px;
    opacity: 0.8;
    text-shadow: 1px 1px 1px #999; 
    width: 40px;
    height: 40px;
}
button.close i{
    font-size: 20px;
    max-width: 20px;
    max-height: 20px;
    display: block;
}
button.close:hover {
    text-shadow: 1px 1px 1px #fff; 
}
/* rotation CSS*/
<strong i="12">@keyframes</strong> anim-rotate {
    0% {
        -moz-transform:rotate(0);
        -webkit-transform:rotate(0);
        transform:rotate(0);
    }
    100% {
        -moz-transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}
<strong i="13">@keyframes</strong> anim-rotate-next {
    0% {
        -moz-transform:rotate(0);
        -webkit-transform:rotate(0);
        transform:rotate(0);
    }
    100% {
        -moz-transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}
.rotate{
    animation: anim-rotate-next 1s normal linear;
}
.rotate.down{
    animation: anim-rotate 1s normal linear;
}

HTML:

<div id="NewsTitle" class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
        <div>
            <button type="button" class="close visible-sm-block hidden-xs"><i class="fa fa-expand"></i></button>
            <button type="button" class="close"><i class="fa fa-chevron-up"></i></button>
            <button type="button" class="close"><i class="fa fa-refresh rotate"></i></button>
            <span>Vesti</span>
        </div>
    </div>

и, наконец, JQuery для переключения класса поворота

$("#NewsTitle").on('click', 'i.fa-refresh', function () {
    // rotiraj ikonu
    $(this).toggleClass("down");
}); 

https://jsfiddle.net/4ya23yjL/8/

@goranbujic спасибо, что поделились этим

Не могли бы вы сделать скрипку, показывающую ваш подход (вы могли бы использовать ее как основу http://jsfiddle.net/tagliala/4ya23yjL/) и правильно отформатировать свой пост ?

Благодаря!

только что сделал это ... извините, первый на gitHub :)

Дата: 1 октября 2015 г., 07:53:45 -0700
От: [email protected]
Кому: [email protected]
CC: [email protected]
Тема: Re: [Font-Awesome] Проблема с отображением: тряска / раскачивание значков, вращение, вращение (chrome firefox) (# 671)

@goranbujic спасибо, что поделились этим

Не могли бы вы сделать скрипку, показывающую ваш подход (вы могли бы использовать ее в качестве основы http://jsfiddle.net/tagliala/4ya23yjL/) и правильно отформатировать свой пост?

Благодаря!

-
Ответьте на это письмо напрямую или просмотрите его на GitHub.

Люблю вас всех, ребята. Спасибо за transform-origin: 49% 48.5%; исправление в .fa-refresh.fa-spin <3

А если серьезно, хотелось бы получить эти вещи симметрично, если они собираются анимировать!

Если кто-то здесь для иониконов, как я, это поможет transform-origin: 52% 50%;

подтверждение вопроса на

Google Chrome:  51.0.2662.0 (Officiell version) canary (64 bitar)
Version:    4d223c72fe4e76c7404bffb662f742b947f97107-refs/heads/master@{#378134}
OS  Mac OS X 

ака последняя хромированная канарейка, это применимо только для fa-pulse tough (протестировано в основном с fa fa-spinner fa-pulse )

Раньше в версии 4.5.0 мне приходилось добавлять следующий стиль CSS, чтобы исправить проблему раскачивания счетчика:

.fa.fa-spinner.fa-pulse {
  transform-origin: 50% 48.5%;
}

Однако в 4.6.1 этот css сделал еще хуже. 4.6.1, похоже, решил проблему раскачивания спиннера.

относительно этого:

http://jsfiddle.net/tagliala/g0ngLhyr/

вопрос в том, является ли эта штука мертвой точкой, особенно в том, что она использует любой шрифт, доступный в системе.
Было бы интересно представить изображение или SVG, у которого есть идеальный круг с мертвым центром, и позволить этому вращаться.

Обновить:
http://jsfiddle.net/xntwxwra/
здесь он не качается ([email protected]), просто из-за отсутствия сглаживания это выглядит немного забавно.

Это может помочь, а может и не помочь. У меня было колебание в Chrome 51.0.2704.103 м, и я понял, что css, поставляемый с моим шаблоном, установил letter-spacing: 0.25em; . Для класса fa-spin я сбросил его на letter-spacing: normal; и вуаля, никаких колебаний!

Я не уверен, что мы говорим об одном и том же, но я заметил, что <i class="fa fa-pulse fa-spinner fa-fw"</i> выглядит нервно при использовании в элементе small . Я не герой css, поэтому я просто "решил" это, заключив его в span (и таким образом удалив small )

Я использую font awesome 4.6.3 с maxcdn.bootstrap.com с загрузкой 3.3.7 с netdna.bootstrapcnd.com.

я могу надежно воспроизвести колебание при изменении размера шрифта родительского элемента. В этой скрипке в браузере Chrome левый счетчик качается, а правый - фиксирован.

Меня беспокоит количество «исправлений», которые используют люди, если есть много разных «исправлений», которые публикуют люди, только то, сколько из них было фактически протестировано для работы во всех браузерах.

Если глиф расположен не симметрично, например, если зазор между верхом и низом различается, произойдет "колебание", как описано.

Уже было высказано предположение, что переделка глифов - это большая работа, так почему бы просто не использовать изображение (например, SVG), которое лучше подходит для вращающейся иконки? Вам не нужно использовать Font Awesome для решения всех ваших проблем, а иногда это не имеет смысла.

Эффект раскачивания появился после обновления Firefox 48 до Firefox 49 в Ubuntu Xenial 16.04.
Было исправлено добавлением "line-height: normal", как предлагалось в этой ветке.

@ Matthew-Bonner Итак, если он не подходит для этой цели, его следует удалить из документации!

@mehrandvd некоторые значки работают отлично, поэтому для этого есть документация, может быть, было бы лучше обновить документацию, чтобы было ясно, что некоторые значки работают не так хорошо, как другие, и есть известные проблемы.

@ Matthew-Bonner, это хорошая идея, и она частично задокументирована.

В некоторых браузерах на некоторых платформах возникают проблемы с анимированными значками, что приводит к эффекту дрожания. См. Проблему № 671, где приведены примеры и возможные обходные пути.

если у вас есть предложение улучшить это предложение, не стесняйтесь отправлять PR против основной ветки

@tagliala Я сделаю это, и я думаю, что с учетом того, что Font Awesome 5 находится в стадии разработки, эту ошибку следует устранить, закрыв ее и добавив метку «wontfix», поскольку на самом деле ничего нельзя сделать.

Я обнаружил, что эффект колебания зависит от размера шрифта.
например, я изменил размер шрифта с 1.5em на 1.4em и с 21px на 20px и вуаля, больше никаких колебаний.

Я решил свою проблему, заменив значок с круглым вырезом на его версию svg (с исправлением неквадратного соотношения сторон).

Вот скрипка для этого: https://jsfiddle.net/vwqzv1mr/5/

У меня такая же проблема (2017) со ВСЕМИ браузерами (IE, FF, Chrome, Safari). Не знал, что удерживать спиннер в центре - такая большая проблема.

Я начинаю кампанию, раздаю самые популярные значки FA бесплатно, с открытым исходным кодом. Вы можете включить их несколькими способами: создать другой шрифт значка, установить svg или (я предпочитаю) скомпилировать все значки FA и сторонних производителей в один файл.

Здесь есть разные значки вращения .

Предыдущими были модератор , раздор , монеты , Google Play , тонкий Клоуз , ходячий человек , футболка , Xbox , Nintendo Wii U , Nintendo , PlayStation , мессенджер Facebook и значки Line .

Пожалуйста, дайте мне знать, если вы хотите, чтобы я продолжал выполнять эти запросы значков или компилировать какой-нибудь файл обновления, или как нам это сделать?

Ничего страшного, если это поможет, но мне удалось сделать счетчик статичным, немного поигравшись с CSS. Я тестировал шрифты Glyphicons и FontAwesome, чтобы убедиться, что один из них выглядит лучше. Я попытался повернуть значок и повернуть контейнер с помощью значка и. Для этого есть 5 ключевых параметров (размер шрифта, высота, ширина, высота строки и отступ текста).

Вы можете найти и пример здесь:
https://jsfiddle.net/Dhanck/syb9qubj/2/

с нетерпением жду 5 версии !!

@ Dhanck7 : Спасибо, что поделились этим! Какая CSS-оргия нужна, чтобы заставить его работать! В промежутках я нашел простую анимацию "вне" Font Awesome, которая работает "из коробки"!

Все еще не могу поверить, что они получили более 1 миллиона за Font Awesome 5 от Kickstarter, но не могут заставить простую анимацию работать должным образом. вздох

ну, как вы уже можете видеть, эти анимации довольно сложны, это не так просто.

проблема в том, что мы имеем дело с символами, иначе говоря, текстом, а не изображениями, что значительно усложняет задачу.

А как насчет этого:
https://jsfiddle.net/Dhanck/9t6y85jx/2/

Просто изменив 3 параметра и используя поведение анимации по умолчанию из FontAwesome ...

Я думаю, вы также можете использовать JavaScript для удаления свойства разрыва строки.

Хорошо всем.

С приближением версии 5, я думаю, мы исправили это с помощью новой структуры SVG. Я только что провел серию тестов, используя новую «шестеренку» SVG, и вращение идеально сосредоточено в десятках браузеров, которые я тестировал.

Если вы поддержали Kickstarter или сделали предварительный заказ и имеете доступ к последней альфа-версии (доступной для загрузки из вашей учетной записи), можете ли вы помочь мне протестировать это?

Я хотел бы решить эту проблему с помощью Font Awesome 5!

Рад слышать! Я не поддерживал Font Awesome 5, но готов купить его после выпуска. Все ли значки в Font Awesome 5 имеют одинаковую высоту и ширину? Иногда мой графический интерфейс портился из-за разной высоты / ширины.

@Taygair значки имеют одинаковую высоту, но ширину различаются.

Я знаю ... При использовании fa-rotate высота превращается в ширину и наоборот. Некоторые значки визуально имеют одинаковую высоту и ширину (симметричные), но не имеют. Было бы неплохо, если бы у них была одинаковая высота / ширина (в FA5).

Я вижу, что это, вероятно, будет исправлено в предстоящем выпуске FA⁵, но на всякий случай, если кому-то понадобится быстрое исправление для .fa-circle-o-notch , вот небольшая грязная замена css

.loader {
  width: 1em;
  height: 1em;
  border: .1em solid black;
  border-right-color: transparent;
  border-radius: 50%;
  animation: fa-spin 2s infinite linear;
}

Пока что это хорошо работает с фреймворком SVG. Закрытие, если кто-то не обнаружит, что это ложь.

хорошо работает с фреймворком SVG

Если веб-шрифты по-прежнему затронуты, и бесплатный FA5 тоже будет затронут, я должен обозначить это как wontfix и посоветовать рассмотреть решение svg для вращающихся значков.

@tagliala согласилась. Я боюсь, что веб-шрифты всегда будут сталкиваться с проблемами, связанными с этим, поэтому SVG - лучшее решение, если это проблема. Мы выпустим FA5 Free, как только сможем.

Ну, фреймворк SVG неплох, но есть одна неприятная вещь: Javascript.

Есть много причин, по которым ppl использует такие вещи, как noscript, чтобы защитить себя от вещей, которые может делать js, а когда что-то не работает с JS, это некрасиво.

Я имею в виду, что у нас есть такие вещи, как @ font-face, CSS-анимация и многое другое, так что JS больше не нужен для таких задач, и это хорошо.

Извини,

помечен как wontfix, но на самом деле это "не могу исправить"

TL; DR
Убедитесь, что вы используете размер шрифта, кратный 16 пикселям (14 пикселей для FA4) для вашего счетчика. Это помогает .
Если вас что-то не устраивает и вам нужен вертушка с идеальным пикселем, рассмотрите возможность использования анимированного счетчика SVG.

@ My1 , вам не нужен JS для анимации SVG, вы можете использовать CSS.

хороший звонок @tagliala ... "не могу исправить" точнее. Я пробовал несколько раз: D

хорошо, но структура SVG будет загружаться только в браузере с поддержкой JS.

Я уже пробовал.

если у вас есть FA Pro, получите демонстрационный сервер, отключите js (легко сделать в Chrome) и получите доступ

http: // локальный : 3344 / документы / svg-framework.html

вы увидите, что ни один значок не загрузится.

вы, вероятно, можете делать svgs в одиночку, но мой ответ был именно в сторону тех, кто сказал SVG Framework.

также у кого есть эта проблема? Я попробовал ссылку @tagliala в Firefox chrome и opera и не заметил большого колебания (и я, конечно же, смогу заметить что-нибудь странное в пикселях, когда подхожу на 5 см близко к моему 42-дюймовому экрану FHD, где вы можете легко видеть пиксели )

Кроме того, для FA5 он станет 16 пикселей, а затем изменится базовый размер?

как это огромная проблема

Использование отрицательного значения text-indent решило проблему для меня

Похоже, filter: blur(0) выполняет свою работу и очень хорошо поддерживается https://caniuse.com/#feat = css-filters

Комбинация решения @andreobriennz и установки line-height для каждого размера дает мне довольно хорошие результаты. По-прежнему очень небольшое колебание субпикселя, но в основном незаметное.

.fa-spin {
  text-indent: -0.000001em;
  line-height: 0.6em;
}
.fa-spin.fa-lg {
  line-height: 0.7em;
}
.fa-spin.fa-2x {
  line-height: 0.8em;
}
.fa-spin.fa-3x,
.fa-spin.fa-4x,
.fa-spin.fa-5x {
  line-height: 1em;
}
Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

petermolnar picture petermolnar  ·  3Комментарии

desspro picture desspro  ·  3Комментарии

sezeresen picture sezeresen  ·  3Комментарии

lickmydesign picture lickmydesign  ·  3Комментарии

omnimint picture omnimint  ·  3Комментарии
bleepcoder.com использует общественно лицензированную информацию GitHub для предоставления решений разработчикам по всему миру. Мы не аффилированы с GitHub, Inc. или любым другим разработчиком, использующим GitHub для своих проектов. Мы не размещаем видео или изображения на наших серверах. Все права принадлежат их соответствующим владельцам.
Источник для этой страницы: Источник

Популярные языки программирования
Популярные проекты GitHub
Больше проектов GitHub

© 2024 bleepcoder.com - Contact
Made with in the Dominican Republic.
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.