Font-awesome: Problème de rendu: icône-spin fa-spin shake / wobble (Chrome Firefox)

Créé le 13 janv. 2013  ·  147Commentaires  ·  Source: FortAwesome/Font-Awesome

✋ Veuillez lire https://github.com/FortAwesome/Font-Awesome/issues/671#issuecomment -338336059 👈

Lors de l'utilisation de data-loading-text, par exemple:

data-loading-text = " Connexion ..."

Et puis, lorsque le bouton est cliqué et que la propriété "chargement" est définie, l'icône vacille et tremble lorsqu'elle tourne.

Cependant, si vous incluez l'icône de rotation sur le bouton comme d'habitude, par exemple:

Il tourne bien.

Je n'ai rencontré ce bug que sur Firefox (actuellement la version 18), fonctionne parfaitement sur Chrome.

modifier par tagliala
Problème lié à Firefox: # 3451

bug cantfix

Commentaire le plus utile

Faire .fa-spin { -webkit-filter: blur(0); } comme ce tweet suggère de le corriger pour moi.

Tous les 147 commentaires

Freaking Firefox. J'ai été aussi pénible dans ce projet que IE. Utilisez-vous la version 3.0.1? Il existe de nouvelles classes de spin spécifiques à Mozilla pour résoudre ce problème. Si cela se produit toujours, faites-le moi savoir et je rouvrirai.

Je peux confirmer que j'utilise la version 3.0.1, j'ai même re-téléchargé et vérifié et le problème persiste.

Dans mon commentaire précédent, il semble que mes exemples aient été supprimés, je serais heureux de vous envoyer le modèle mako où ce problème se produit?

J'ai un tremblement / oscillation lors de l'utilisation de .icon-spin sur Chromium (24.0.1312.56) et Chrome sur Linux, Firefox (18.0.2) semble bien. Testé sur 13d5dd373cbf3f2bddd8ac2ee8df3a1966a62d09

Je reçois un tremblement / oscillation sur Firefox 18.0.2 mais pas dans Chrome ou IE dans certaines circonstances. Je n'ai cependant pas été en mesure d'identifier la cause exacte. (en utilisant font-awesome v3.0.2)

Je suis en train de vaciller sur tous les navigateurs sous Windows 7, mais c'est une chose de beauté sous OSX.

@davegandy ping

J'obtiens un vacillement sur la version 26.0.1410.65 de Chrome (version assez récente). Des travaux à ce sujet?

ping! J'ai aussi le problème. Je ne vois pas pourquoi le problème a été fermé, car il persiste toujours.

pouvez-vous s'il vous plaît fournir un violon expliquant le problème?

Même problème ici, des solutions?

Confirmé pour la dernière version de Chrome (28.0.1500.71). Plus l'icône est petite, plus le mouvement est exagéré. Ce problème affecte la classe icon-spin partout où elle est appelée.

J'ai essayé la rotation 3D sans succès. La rotation du icon-circle lui-même est un problème.

Sous Windows 7, j'ai le problème dans Firefox 22.0, Chrome 28.0.1500.72. IE 8-10 l'oscillation est à peine visible, mais en regardant de près le cas où j'ai observé le problème, je pense qu'il y a encore une légère oscillation. Je ferai de mon mieux pour mettre en place un violon pour le problème, mais il y a suffisamment de contexte pour que cela puisse prendre un certain temps.

Pas mon jsfiddle, mais en voici un avec le problème: http://jsfiddle.net/Rnt9N/2/
A l'air bien sur Mac mais nerveux sur Firefox sous Windows 7.

ce n'est pas si mal pour moi (firefox 22 / w7 x64).

J'ai le même problème avec node-webkit v0.7.5.
J'ai fini par utiliser spin.js

rouvrir celui-ci car c'est aussi la faute de FontAwesome

Faire .fa-spin { -webkit-filter: blur(0); } comme ce tweet suggère de le corriger pour moi.

@paldepind merci d'avoir partagé cette solution

Pouvez-vous s'il vous plaît fournir un violon montrant la rotation actuelle et la rotation proposée côte à côte?

Vous pouvez bifurquer ce violon: http://jsfiddle.net/tagliala/HgYqA/

Je ne vois pas de différences dans l'oscillation avec Chrome sur Windows 7. Je remarque juste que l'icône tourne "plus lentement", comme à la vitesse de demi-ips

@tagliala vous êtes les bienvenus!

Voici un violon montrant deux fileurs, un avec et un sans le correctif: http://jsfiddle.net/paldepind/XLdQX/

J'ai testé avec Chrome 30 et Firefox 24 sous Linux. Dans Firefox, tout est fluide, mais dans Chrome, le spinner sans le correctif est légèrement bancal. Je ne vois cependant aucune différence de vitesse de rotation dans aucun des navigateurs.

Chrome 32 sur Windows 7 n'affiche pas du tout l'icône ...

image

Dans GNU / Linux, avec Chromium 30, le correctif fonctionne. Pas de même pour Firefox 26, car la propriété de filtre n'est pas encore prise en charge. https://developer.mozilla.org/en-US/docs/Web/CSS/filter

Pour Firefox 26 sur Windows 8, les deux sont encore bancaux pour moi. Dans Chrome 31 sur Windows 8, les deux semblent bien.
Le 12 décembre 2013, à 14:20, Felipe Peñailillo [email protected] a écrit:

Dans GNU / Linux, avec Chromium 30, le correctif fonctionne. Pas de même pour Firefox 26, car la propriété de filtre n'est pas encore prise en charge. https://developer.mozilla.org/en-US/docs/Web/CSS/filter

-
Répondez directement à cet e-mail ou affichez-le sur GitHub.

Malheureusement, il ne s'affiche pas sur Windows et est nul sous OSX :(

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

L'icône en rotation n'est pas anticrénelée et continue de vaciller

screen shot 2013-12-13 at 10 46 39

J'espérais que c'était une solution de contournement viable mais ce n'est pas

@tagliala C'est malheureux. J'avais seulement essayé le correctif sur ma machine avec Linux avec d'excellents résultats.

@paldepind oh je sais que je me souviens que sur ma machine ubuntu, le truc qui tourne est vraiment nul

Pouvez-vous s'il vous plaît essayer les transformations de sous-pixels: http://jsfiddle.net/tagliala/96ULe/3/

Salut! J'ai mis à jour vers Chrome 31 aujourd'hui et maintenant l'oscillation a disparu. Alors peut-être que ce problème disparaîtra tout seul.

@tagliala ne sait pas ce que je suis censé voir. Tout cela ressemble à ce que je devrais penser. Mais encore une fois, c'est dans Chrome 31 où je ne vois plus le problème de l'oscillation.

@tagliala Le violon des transformations de sous-pixels montre toujours de l'oscillation sur Chrome 31 et Firefox 26 dans Kubuntu.

Cependant, je conviens que cela est causé par le rendu des sous-pixels.

Voici un nouveau violon qui montre une lettre de rotation O ("oh") avec une bordure circulaire rouge autour d'elle.

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

Cet exemple exacerbe vraiment l'effet de vacillement, car la bordure rouge pivote doucement, mais le O oscille.

-webkit-filter: blur(0); résout le problème pour moi. Je ne trouve aucune autre directive qui corrige ce problème, y compris --webkit-font-smoothing.

J'ai également essayé de désactiver l'anti-aliasing des polices de KDE (Paramètres système -> Apparence de l'application -> Polices -> Utiliser l'anti-aliasing = Désactivé), et _ cela corrige également le problème_.

malheureusement -webkit-filter: blur(0); n'est pas une solution car il casse les fenêtres

@tagliala ne sait pas dans quelle version de Windows il ne fonctionne pas pour vous. J'ai testé la solution proposée dans les derniers Chrome et IE 11. Elle ne semble pas fonctionner avec Firefox.

@silentworks ça casse Win7 x64 - Chrome 32

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

De plus, quand ça marche, c'est vraiment mauvais anti-crénelé.

Je pense que le principal problème est que les icônes à l'intérieur des polices ne sont pas parfaitement centrées: http://jsfiddle.net/XLdQX/5/

Comme vous pouvez le voir dans la capture d'écran ci-dessous, il y a 3 pixels vides en dessous et 2 au-dessus: cela provoquera l'oscillation.

image

Si vous pouvez définir la largeur de manière à ce que l'icône soit centrée, l'icône ne vacillera pas: http://jsfiddle.net/XLdQX/6/

À mon humble avis, cette fonction de rotation devrait être supprimée, elle cause plus de problèmes que d'avantages

WONTFIX car beaucoup de travail: -1:
mais oui, c'était chouette ... mais pas nécessaire. Refaire toutes les polices pour faire tourner certaines icônes est beaucoup de travail et va à contre-courant.

@conrado il n'y a pas d'étiquette "wontfix" ici

c'est toujours un wontfix. peut-être que certains des griffes appropriés pour le spin pourraient être retravaillés

c'est toujours un wontfix.

Non, ça ne l'est pas. Il est correctement ouvert et étiqueté comme bug

image

Je ne suis pas vraiment sûr de l'état de ce problème, même après avoir lu les commentaires, mais comme il est toujours marqué comme ouvert: Chromium 31 et Firefox Aurora 28 (2014-1-13) sur Xubuntu ont toujours des tremblements.

Ok, je pense que c'est un bug du navigateur dans chaque police.
Il y a trois exemples: http://jsfiddle.net/3T8Kz/

Premièrement: police Font-Awesome centrée, avec le bogue.
Deuxièmement: un autre exemple mais avec une police normale
Troisièmement: sans polices, juste un div, avec la même animation et sans le bogue.

Le même bug pour moi Firefox 31, Linux.
Si cela est dû à la taille des glyphes, il suffit de ne corriger que les glyphes destinés à tourner, pas tous.

: +1: +1 ceci devrait être pris en compte pour la prochaine version majeure, où vraisemblablement tous les glyphes seront revisités.

Voir ce problème même sur le site officiel: http://i.gyazo.com/3ba2d0afad90c2e7fe6d2c0bb34e661d.mp4

(Dernière version de Firefox)

J'adorerais voir cela corrigé: +1:

les demandes d'extraction et les enquêtes approfondies à ce sujet sont les bienvenues

cela semble être un bug de chrome

@davegandy une mise à jour?

Idem sur Chrome 37.0.2062.124 sur Mac OS X, Safari sur iOS 7.0.4

+1

J'ai pu traiter (je ne dirai pas résoudre) ce problème de fa-refresh dans un projet local en utilisant
-origine-transformée-web: 49% 48,5%;
-moz-transform-origine: 49% 48,5%;
-ms-transform-origin: 49% 48,5%;
-o-origine-transformée: 49% 48,5%;
origine de la transformation: 49% 48,5%;

J'utilise "fa-circle-o-notch" comme symbole de chargement et j'utilise ces valeurs pour transformer l'origine afin qu'elle ne vacille pas

.fa-circle-o-notch.fa-spin {
-origine-transformée-webkit: 50% 48,9%;
-moz-transform-origine: 50% 48,9%;
-ms-transform-origin: 50% 48,9%;
-o-origine-transformée: 50% 48,9%;
origine de la transformation: 50% 48,9%;
}

@magnyld Je viens d'essayer cela, mais continue de vaciller après les changements du DOM.

Vous ne pouvez pas compter sur la transformation des origines. Cela pourrait casser si l'icône est plus grande ou plus petite. Comme je l'ai déjà dit, ce n'est pas un problème de police génial, car si vous essayez de faire tourner un div de style cercle parfait, le résultat est le même. Je parie que c'est un bug du moteur Webkit.

Non, cela est également présent dans Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=930079

Osciller dans Firefox 33, OSX.

Même problème ici ( rotation oscillante ) :(

les demandes d'extraction avec une analyse approfondie de ce problème, une solution de contournement et une explication appropriée des avantages et des inconvénients seront les bienvenues.

Le problème semble provenir de l'icône elle-même. Si vous prenez la version spinner Icomoon, elle ne vacille pas du tout. Cela fonctionne bien sur Chrome 39, Windows et IE11, Windows. Je ne sais pas pour les autres navigateurs.

http://jsfiddle.net/cxxzh0uf/

@skoub

L'approche d'icomoon consistant à conserver des icônes toutes de la même taille semble meilleure à cet effet, mais ce n'est pas suffisant.

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

image

Si j'inspecte le pseudo-élément :before , je remarque que fontawesome est "bizarre"

image

image

J'ai essayé de définir la même largeur et la même hauteur mais les choses ne s'améliorent pas.

Je pense que cela est lié à la police elle-même et que nous ne pouvons rien faire via CSS.

Dave devrait jeter un œil à la police et inspecter les polices générées par Icomoon pour essayer de comprendre quelle est la meilleure façon de résoudre ce problème.

Nous ne pouvons pas accepter les demandes d'extraction avec des modifications du fichier .otf, mais nous apprécierons de l'aide à ce sujet. Si quelqu'un ici est capable de jeter un œil à la police et d'identifier le problème, c'est le bienvenu

Désolé pour mon anglais, il est aussi tard ici :)

@tagliala merci d'avoir
J'ai remarqué que fa-cog a le même problème, mais il n'est pas aussi perceptible dans les mêmes circonstances que fa-clock ou certains des autres mentionnés ci-dessus. Je continuerai à regarder ce fil et je signalerai si je trouve des solutions de contournement, mais je suis assez convaincu que ce sont les petites imperfections des glyphes eux-mêmes qui n'apparaissent qu'une fois en rotation, sinon elles sont trop petites pour être remarquées à l'œil nu

J'ai rencontré le même problème, existe-t-il une solution confirmée pour cela?

@TsuiJie non, il n'y en a pas

J'ai eu un problème similaire avec les icônes de rotation tremblante / oscillante dans IE10 et 11.

Mon problème était que dans IE 10/11 les barres de défilement montraient et se cachaient (palpitant) tant que la flèche était visible.

ce que j'ai trouvé, c'est qu'en définissant la hauteur et la largeur de la balise d'icône à une taille définie (même taille que l'icône elle-même), le battement s'est arrêté.

J'espère que ça aide quelqu'un.
À votre santé

D'accord, j'ai compris que le problème était lié à la conversion de Font Squirrel en formats de polices Web. On dirait que cela bouleverse certaines des métriques. Mon plan:

  • test avec une nouvelle version de Font Squirrel
  • si cela ne fonctionne pas, lancez ma propre solution de conversion

D'accord, après une quantité considérable d'investigations, j'ai mis quelques correctifs:

  • Mise à jour de fa-spinner pour avoir un meilleur effet visuel lors de la rotation.
  • Une conversion de polices Web a été lancée à domicile. Font Squirrel était définitivement en train de gâcher les choses.
  • Ajustement de certaines métriques de police qui n'ont apparemment aucun effet sur mac, mais qui sont fortement utilisées par Windows.
  • Ajout d'exemples animés à la page de test visuel (http://fontawesome.io/test/).

Les resultats

  • Retina Mac: parfait dans Chrome, Safari et Firefox
  • Mac sans rétine: bien meilleur dans Chrome, Safari et Firefox
  • Windows 7: IE11 a l'air impeccable, Chrome 39 a toujours des problèmes, mais je ne pense pas que ce soit pire qu'il ne l'était

Une mise en garde

  • À quelques tailles de police, il y a un peu d'oscillation dans tous les navigateurs (Icomoon a le même problème). Fondamentalement, si vous le maintenez à des multiples et demi-multiples de la résolution optimisée (par exemple 14px, 21px, 28px, 35px), l'oscillation disparaît.

Étant donné que les résultats sont bien meilleurs qu'ils ne l'étaient, je vais appeler cela acceptable pour 4.3 et garder le problème ouvert pour 5.0.

Encore une mise à jour. J'ai compris quelle option sélectionnée ne fonctionnait pas bien pour la conversion Font Squirrel. Alors j'ai remis ces fichiers. Laissant ouverts.

@davegandy , je ne vois aucune amélioration de mon côté avec Firefox et Chrome sur Windows. Je n'ai pas essayé IE11. Vous pouvez clairement voir l'oscillation si vous utilisez des étapes dans l'animation.

Je comprends que vous ne pouvez pas faire grand-chose sur la branche 4.x mais existe-t-il une solution solide pour la branche 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);
}

Pour tous ceux qui sont arrivés jusque-là et qui recherchent un dépannage:

N'utilisez pas fa-spin et fa-fw ensemble.

Cela s'est avéré être mon problème (et ma solution).

@skoub

IE11 est presque parfait, à mon humble avis le meilleur de Windows.

L'icône du spinner est nouvelle et devrait être meilleure qu'avant.

Jetez un œil au bas de cette page lourde avec tous les navigateurs: http://fontawesome.io/test/

Chrome et Firefox sont vraiment mauvais dans les petites tailles: déçu:

avec IE11, avec fa-pulse, il y a un petit problème. C'est comme si le spinner se déplaçait de 1px vers le haut et descendait à l'étape d'animation suivante.

Cela fonctionne pour moi sur IE 11 et Chrome 40.0.2214.115 m mais il vacille dans Firefox 35.0.1.

Toujours perceptible dans Firefox 36 pour Linux.

La vidéo est enregistrée à 50 FPS.

Font-awesome issue #671 firefox linux

L'ajout d'un scaleZ(1.001) résout le problème de Firefox 36 sous Linux.

Je ne sais pas si mon problème était le même que celui de tout le monde, il semblait être plus comme le problème # 4017, mais cela a été fermé et redirigé ici, alors je vais simplement poster ma solution ici.

Semble si vous ajoutez simplement ce qui suit à la classe .fa-spin.

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

Semblait réparer le vacillement pour moi.

Ni éviter @qJake fa-fixed ni align: center @JakeCooper le corrige pour moi:
filter

(Sans fa-spin, il n'y a pas de gigue).

@isaksky pourriez-vous s'il vous plaît fournir un violon montrant ce problème? j'ai une idée

@tagliala Ici vous allez:

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

Chrome 40.0.2214.115, Windows 7. Impossible de reproduire ce problème sur le codepen fourni.

Quel navigateur vous donne cette sortie?

Je ne suis pas sur mon ordinateur de travail pour le moment, mais je pense que c'est le dernier Chrome normal sur Windows 8. Je ne peux normalement pas le reproduire ici sur ce mac dans Chrome, mais si je zoome à 110% ou 125% pour exemple, il apparaît. (Il y a aussi un problème où mes boutons s'empilent verticalement, mais ce n'est pas le problème que je veux dire (je pense que je peux résoudre ça en utilisant ems).). La gigue se produit-elle pour vous si vous dérangez le zoom?

Je viens de le faire arriver au zoom normal (100%) sur ce mac aussi. Cela semble lié au problème de zoom et / ou au changement d'onglet du navigateur. Btw, le problème se produit également avec $('#spin-pls').toggleClass("fa-spin") , (au lieu de basculer 'cacher' dessus quand déjà en rotation), ce qui pourrait clarifier un peu plus le problème.

Je vérifierai demain avec mon mac

J'ai une solution de contournement ici pour faire tourner le rouage. Agréable et fluide lorsque vous survolez.

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

J'ai fait une animation d'image clé qui ne tourne que 30 degrés ( rotateFa ci-dessous). Alors j'appelle ça comme ça animation: rotateFa .1s infinite;

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

Et le contraire pour l'inverser

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

Le problème existe toujours.

Il existe toujours dans le cas du mode de désactivation de l'accélération matérielle. Firefox 36.0.4.

Veuillez ne pas attribuer +1 ou confirmer que ce problème existe toujours, car le problème est ouvert et nous ne savons pas comment le résoudre.

Jetez un œil ici: https://github.com/FortAwesome/Font-Awesome/issues/671#issuecomment -65381998

Ce serait peut-être une bonne idée de mettre un avertissement sur la page des exemples ? Le problème est suffisamment important pour que je me méfie beaucoup des icônes animées, mais selon https://github.com/FortAwesome/Font-Awesome/issues/671#issuecomment -71056820, vous ne le remarqueriez pas sur un Mac Retina - même si vous avez testé sur tous les principaux navigateurs.

@Vusys Je suis d'accord. Vous pouvez envoyer un PR contre la branche principale ou me dire quoi écrire et je le ferai

@tagliala fait avec la requête d'extraction # 6686 qui ajoute l'avertissement suivant sous les exemples:

Certains navigateurs sur certaines plates-formes ont des problèmes avec les icônes animées entraînant un effet de vacillement instable. Consultez le numéro 671 pour des exemples et des solutions de contournement possibles.

@Vusys merci!

Je vois une oscillation bien pire que juste +/- 1 pixel. Il y a une interaction étrange entre la transformation de rotation et d'autres transformations CSS, de sorte que parfois le centre de rotation est en dehors de l'icône de rotation.

Je n'ai pas encore déterminé quelle règle CSS est à l'origine de ce problème sur mon site, mais cela ressemble à un cas d'ordre de transformation erroné. L'ordre doit être: translater le centre de l'icône en (0,0), puis faire pivoter selon l'angle actuel, puis traduire (0,0) à la position de l'écran à laquelle l'icône centrale doit être affichée (ou inversement). Quelque part, CSS jette une autre traduction dans le mix.

_Mise à jour: _ J'ai compris quel était le problème dans mon cas, donc je posterai la réponse ici au cas où quelqu'un d'autre pourrait en profiter: j'avais une règle CSS qui changeait la largeur de l'élément 'i' que le spinner a été stocké dans (l'élément Bootstrap utilisé pour les icônes FA). Cela donne des résultats imprévisibles en fonction du contexte de l'icône (par exemple selon que le texte a été centré ou non).

Je n'ai pas défini quelle règle CSS

Je suis assez convaincu que ce n'est pas une règle css et que le problème n'est pas lié à FA lui-même

Jetez un œil ici: http://jsfiddle.net/tagliala/g0ngLhyr/

@tagliala , si ce n'est pas lié à une règle css ou FA, comment expliquez-vous qu'Icomoon n'a pas l'effet d'oscillation?

démo: http://jsfiddle.net/cxxzh0uf/

un autre exemple est celui fait par google: http://www.getmdl.io/components/index.html#loading -section / spinner

@skoub votre violon mis à jour vers 4.3.0: http://jsfiddle.net/tagliala/cxxzh0uf/9/

Jetez un œil ici: http://jsfiddle.net/tagliala/g0ngLhyr/

Notez que ce violon n'a pas du tout de polices Web et montre toujours l'oscillation

La mise en œuvre de @skoub google n'est pas basée sur les polices Web et à mon humble avis, c'est la bonne façon de gérer cette fonctionnalité.

J'aimerais partager mon expérience ici.

Icônes uniques:
Je n'ai qu'un problème avec l'oscillation avec des icônes empilées. Les icônes simples tournent ou pulsent très bien

Icônes empilées:
Apparemment, sur mon site, le code ci-dessous ne vacille pas dans un titre où la police est un peu plus grande, mais vacille lorsque la police est plus petite. L'impulsion fa oscille dans les deux cas

avertissement: Je suis très nouveau dans toutes ces choses, mais comme mon site produit des résultats à la fois bancaux et bons, j'ai pensé que vous voudriez tous savoir.

@isaksky Ce wobble / blur with spinner a à voir avec l'accélération matérielle

Les éléments affichés / masqués avec la classe .hide peuvent voir le navigateur indiquer que ce contenu sera masqué

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

Cependant, les navigateurs basés sur Gecko, comme Firefox, ont encore, du moins pour moi, des problèmes de saut de texte dans la boîte de dialogue.

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

fonctionne, mais affecte négativement Chrome en surcompensant et en rendant le texte flou tout le temps. J'ai proposé deux solutions possibles, la première cible uniquement Firefox, la seconde est une accélération différente, filter: blur(0); noté dans ce bogue mais est un peu hacky à mon avis - similaire à transform: translateZ(0); - -et pourrait conduire à des résultats négatifs à l'avenir.

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

Cela résout le problème, merci @toastal ! Cela pourrait-il être transformé en une solution générale @tagliala ?

@toastal cela vous dérange-

J'essaie tous les exemples que vous avez publiés, et je ne peux pas les reproduire dans Firefox Aurora:

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

Je suis sur debian Jessie, et à cause de quelques problèmes de pilote nvidia, je pense que je n'ai pas d'accélération matérielle.

Échec du processus GLXtest (terminé avec l'état 1): extension GLX manquante
Procesador WebGL Bloqueado pour la tarjeta gráfica debido a problemas no resueltos del controlador.

Aussi, ne peut pas reproduire ici:
http://shb.github.io/bootstrap-loading-screen/#icon : spinner

est-ce résolu ou parce que je n'ai pas activé l'accélération matérielle?

J'ai trouvé un autre correctif potentiel pour ce problème (exécutant Firefox 39) grâce à cet article: http://www.useragentman.com/blog/2014/05/04/fixing-typography-inside-of-2-d-css -se transforme/

J'ai édité le JSFiddle ci-dessus avec le correctif: http://jsfiddle.net/5z9om45L/

il suffit de mettre "perspective (1px)" dans la propriété transform. Cela "jette le rendu de l'objet sur le GPU", selon le post lié ci-dessus. Je n'ai pas personnellement testé cela de manière approfondie, donc je ne sais pas ce que cela fait spécifiquement ou si cela provoque d'autres problèmes, mais jusqu'à présent, cela semble bien. Cela a été l'un de mes plus gros problèmes avec Firefox, alors j'ai pensé le mentionner ici.

J'ai édité le JSFiddle ci-dessus avec le correctif: http://jsfiddle.net/5z9om45L/

Cela résout le problème très bien pour moi.

Voici un violon mis à jour qui montre l'oscillation sur la boussole. Le deuxième bouton de localisation montre un simple fa-spin avec une oscillation prononcée.

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

@spiderr apparemment, fa-lg augmente l'effet d'oscillation car il traite de la hauteur de la ligne et de la taille de la police. Essayez d'utiliser une taille de police de 14 px ou des multiples

@tagliala merci, bon conseil! fa-2x définitivement mieux. Il y a aussi des artefacts étranges (pixels sales) autour du cercle. Voici un violon au fa-5X qui les montre plus clairement sur le gros bouton bleu. C'est un détail minutieux, mais si quelqu'un nettoie jamais la boussole, ce serait génial. J'espère que lorsque la boussole tourne, vous ne pouviez pas dire que le cercle bougeait, seulement l'aiguille de la boussole intérieure. Si je m'assois à 2 mètres de l'écran avec fa-5x, ça a l'air génial :-)

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

Je ne sais pas si c'est le bon fil, mais ..
Dans Firefox, mon "fa fa-cog fa-spin" s'arrête de tourner. Je l'utilise dans un appel ajax avec un modal. Cela fonctionne bien dans Safari et Chrome, mais Firefox s'arrête pour une raison quelconque. Des pensées??

app / javascripts / mon_fichier.js
$ (document) .ready (fonction () {
$ ('# search_btn'). on ('click', function () {
$ ('# résultats'). empty ();
var myForm = $ ('# recherche_utilisateur');
$ ("# spinner_modal"). modal ("afficher");
$ .ajax ({
url: myForm.attr ('action'),
tapez: "POST",
données: myForm.serialize (),
dataType: 'texte',
succès: function (html) {
$ ("# spinner_modal"). modal ("cacher");
$ ('# résultats'). append (html);
},
erreur: fonction (xhr, satus, err) {
$ ("# spinner_modal"). modal ("cacher");
},
délai d'expiration: 60000
});
retourner faux;
});

_my_partial.html.erb

@jonathanparrish, veuillez lancer un nouveau numéro. Ne vous inquiétez pas de me mentionner, je vais jeter un œil :)

Comment j'ai résolu mon problème de rotation décentrée de la police des icônes:
Il y avait plusieurs problèmes que je devais résoudre:
1. taille de l'icône: il doit s'agir d'une taille de px entière (par exemple, taille de la police: petite; rend mon icône 17,5 pixels donc le centre n'est pas le centre absolu de la transformation)
2. définition de l'affichage: le bloc au niveau de l'icône le centre correctement au milieu du div parent
3. définir la taille exacte du carré du div parent (dans mon cas, le bouton) et le remplissage fixe le centrer correctement
4. l'ajout de n'importe quelle ombre de texte changera la taille de l'icône intérieure afin qu'elle soit hors du centre. L'astuce consiste à changer le style de survol pour qu'il soit la même ombre avec la même couleur que l'arrière-plan dans mon cas

Voici donc le code:

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>

et enfin JQuery pour changer de classe de rotation

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

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

@goranbujic merci d'avoir partagé ceci

Pourriez-vous s'il vous plaît faire un violon montrant votre approche (vous pouvez utiliser celui-ci comme base http://jsfiddle.net/tagliala/4ya23yjL/) et formater correctement votre message ?

Merci!

vient de le faire ... désolé le premier sur gitHub :)

Date: jeu.1 oct.2015 07:53:45 -0700
De: [email protected]
À: [email protected]
CC: [email protected]
Sujet: Re: [Font-Awesome] Problème de rendu: icône-spin fa-spin secousse / oscillation (Chrome Firefox) (# 671)

@goranbujic merci d'avoir partagé ceci

Pourriez-vous s'il vous plaît faire un violon montrant votre approche (vous pouvez utiliser celui-ci comme base http://jsfiddle.net/tagliala/4ya23yjL/) et formater correctement votre message?

Merci!

-
Répondez directement à cet e-mail ou affichez-le sur GitHub.

Je vous aime tous les gars. Merci pour le correctif transform-origin: 49% 48.5%; sur .fa-refresh.fa-spin <3

Mais sérieusement, j'adorerais obtenir ces choses de manière symétrique si elles doivent être animées!

Si quelqu'un ici pour les ionicons comme moi, cela fera l'affaire transform-origin: 52% 50%;

confirmation du problème le

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

aka le dernier chrome canary, cela ne s'applique que pour fa-pulse dur (testé principalement avec fa fa-spinner fa-pulse )

Auparavant, dans la v4.5.0, je devais ajouter le style CSS suivant pour résoudre le problème d'oscillation sur spinner:

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

Cependant, sur 4.6.1, ce css a en fait aggravé les choses. 4.6.1 semble avoir résolu le problème d'oscillation de spinner.

concernant celui-ci:

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

la question est de savoir si cette chose est ou non au point mort, en particulier en ce qui concerne le fait que cette chose utilise n'importe quelle police disponible sur le système.
il peut être intéressant d'avoir une image ou un SVG qui a un cercle parfaitement centré et de le laisser tourner.

mettre à jour:
http://jsfiddle.net/xntwxwra/
il ne semble pas vaciller ici ([email protected]) juste aucun anti-aliasing le rend probablement un peu drôle.

Cela peut aider ou non. J'ai eu une oscillation dans Chrome 51.0.2704.103 m, et j'ai réalisé que le css fourni avec mon modèle avait défini letter-spacing: 0.25em; . Pour la classe fa-spin, je l'ai réinitialisé à letter-spacing: normal; et voila, pas d'oscillation!

Je ne sais pas si nous parlons de la même chose, mais j'ai remarqué que <i class="fa fa-pulse fa-spinner fa-fw"</i> semble nerveux lorsqu'il est utilisé dans l'élément small . Je ne suis pas un héros css, donc je l'ai simplement "résolu" en l'enveloppant dans un span (et en supprimant ainsi le small )

J'utilise la police impressionnante 4.6.3 de maxcdn.bootstrap.com avec bootstrap 3.3.7 de netdna.bootstrapcnd.com.

Je peux reproduire de manière fiable l'oscillation lors de la modification de la taille de ce violon dans un navigateur Chrome, le spinner gauche vacille tandis que le spinner droit est fixe.

La quantité de «correctifs» que les gens utilisent m'inquiète, s'il y a beaucoup de «correctifs» que les gens publient, combien ont été testés pour fonctionner sur tous les navigateurs.

Si le glyphe n'est pas positionné symétriquement de manière à ce que l'écart entre le haut et le bas diffère, il y aura un "vacillement" comme décrit.

Il a déjà été suggéré que refaire les glyphes demande beaucoup de travail, alors pourquoi ne pas simplement utiliser une image (comme un SVG) qui conviendrait mieux à une icône en rotation? Vous n'avez pas besoin d'utiliser Font Awesome pour résoudre tous vos problèmes et parfois cela n'a pas de sens de le faire.

L'effet d'oscillation est apparu après la mise à niveau de Firefox 48 vers Firefox 49 sous Ubuntu Xenial 16.04.
A été corrigé par l'ajout de "line-height: normal" comme suggéré dans ce fil.

@ Matthew-Bonner Donc, s'il ne convient pas à cet effet, il faut le supprimer de la documentation!

@mehrandvd certaines des icônes fonctionnent parfaitement bien, c'est pourquoi il existe de la documentation pour couvrir cela, il serait peut-être préférable de mettre à jour la documentation pour indiquer clairement que certaines icônes ne fonctionnent pas aussi bien que d'autres et qu'il existe des problèmes connus.

@ Matthew-Bonner c'est une bonne idée et elle est partiellement documentée.

Certains navigateurs sur certaines plates-formes ont des problèmes avec les icônes animées entraînant un effet de vacillement instable. Consultez le numéro 671 pour des exemples et des solutions de contournement possibles.

si vous avez une suggestion pour améliorer cette phrase, n'hésitez pas à soumettre un PR contre la branche principale

@tagliala Je vais le faire, et je pense qu'étant donné que Font Awesome 5 est en cours de développement, ce bogue devrait être mis au lit en le fermant et en ajoutant l'étiquette "wontfix" car il n'y a vraiment rien à faire.

J'ai découvert que l'effet d'oscillation dépend de la taille de la police.
par exemple, j'ai changé la taille de police de 1,5em à 1,4em et 21px à 20px et voila, plus d'oscillation.

J'ai résolu mon problème en remplaçant l'icône circle-o-notch par une version svg de celle-ci (avec correction du rapport hauteur / largeur non carré).

Voici un violon pour cela: https://jsfiddle.net/vwqzv1mr/5/

J'ai le même problème (2017) avec TOUS les navigateurs (IE, FF, Chrome, Safari). Je ne savais pas que c'était un si gros problème de garder un spinner centré.

Je commence une campagne, donnant les principales demandes d'icônes FA gratuitement et en open source. Vous pouvez les incorporer de plusieurs manières: en générant une autre police d'icônes, un jeu de svg ou (ma préférence) en compilant toutes les icônes FA et tierces dans un seul fichier.

Différentes icônes de rotation sont ici .

Les précédents étaient modérateur , discorde , pièces de monnaie , Google Play , mince Close , homme qui marche , t-shirt , Xbox , Nintendo Wii U , Nintendo , PlayStation , Facebook Messenger et les icônes Line .

S'il vous plaît laissez-moi savoir si vous voulez que je continue ces demandes d'icônes, ou compile un fichier de mise à niveau, ou comment devrions-nous le faire?

Pas de rivage si cela peut aider mais j'ai réussi à rendre le spinner statique en jouant un peu avec le CSS. J'ai testé à la fois les polices Glyphicons et FontAwesome, juste pour voir que celle-ci était meilleure. J'ai essayé de faire pivoter l'icône et de faire pivoter un conteneur avec l'icône et. Il existe 5 paramètres clés pour faire ce travail (taille de la police, hauteur, largeur, hauteur de ligne et retrait du texte).

Vous pouvez trouver un exemple ici:
https://jsfiddle.net/Dhanck/syb9qubj/2/

dans l'attente de la version 5 !!

@ Dhanck7 : Merci de partager ça! Quelle orgie CSS est nécessaire pour que ça marche! Entre les deux, j'ai trouvé une simple animation "en dehors" de Font Awesome qui fonctionne hors de la boîte!

Je n'arrive toujours pas à croire qu'ils ont obtenu plus d'un million pour Font Awesome 5 de Kickstarter mais sont incapables de faire une animation simple fonctionnant correctement. soupir

bien que vous pouvez déjà voir que ces animations sont assez compliquées, cela ne fonctionne pas si facilement.

le problème est que nous avons affaire à des personnages, c'est-à-dire du texte, pas des images, ce qui complique beaucoup les choses.

Et que diriez-vous de cette façon:
https://jsfiddle.net/Dhanck/9t6y85jx/2/

Il suffit d'ajuster 3 paramètres et d'utiliser le comportement d'animation par défaut de FontAwesome ...

Vous pouvez également utiliser JavaScript pour supprimer la propriété d'intervalle de ligne, je suppose.

Très bien, tout le monde.

Avec la version 5 à l'horizon, je pense que nous avons résolu ce problème avec le nouveau framework SVG. Je viens de faire une batterie de tests en utilisant le nouveau "rouage" SVG et le spin est parfaitement centré dans les dizaines de navigateurs que j'ai testés.

Si vous avez soutenu Kickstarter ou précommandé et avez accès à la dernière version alpha (disponible en téléchargement à partir de votre compte), pouvez-vous m'aider à tester cela?

Je serais ravi de résoudre ce problème avec Font Awesome 5!

Ravi de l'entendre! Je n'ai pas soutenu Font Awesome 5 mais je suis prêt à l'acheter après sa sortie. Toutes les icônes de Font Awesome 5 ont-elles la même hauteur et la même largeur? Il a parfois vissé mon interface graphique juste par une hauteur / largeur différente.

@Taygair les icônes ont la même hauteur mais la largeur varie.

Je sais ... En utilisant le fa-rotate, la hauteur devient largeur et vice versa. Certaines icônes ont - visuellement - la même hauteur et la même largeur (symétriques), mais ce n'est pas le cas. Ce serait bien s'ils avaient la même hauteur / largeur (en FA5).

Je vois que cela va probablement être corrigé dans la prochaine version de FA⁵, mais juste au cas où smb aurait besoin d'une solution rapide pour le .fa-circle-o-notch , voici un petit remplacement css sale

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

Jusqu'à présent, cela semble bien fonctionner avec le framework SVG. Fermeture à moins que quelqu'un ne trouve cela faux.

fonctionne bien avec le framework SVG

Si les polices Web sont toujours affectées et que FA5 free sera également affecté, je devrais étiqueter cela comme wontfix et conseiller d'envisager une solution svg pour faire tourner les icônes

@tagliala était d'accord. J'ai peur que les polices Web soient toujours en proie à des problèmes à ce sujet, donc SVG est la meilleure solution en cas de problème. Nous aurons FA5 Free dès que possible.

Eh bien, le cadre SVG n'est pas mauvais mais a une chose ennuyeuse: Javascript.

il y a de nombreuses raisons pour lesquelles ppl utilise des choses comme noscript pour se protéger des choses que js pourrait faire et quand les choses ne fonctionnent pas avec JS, c'est moche imo.

Je veux dire que nous avons des choses comme @ font-face et des animations CSS et ainsi de suite pour que JS ne soit plus nécessaire pour des tâches comme celles-ci et c'est une bonne chose.

Désolé, 😢

étiqueté comme wontfix, mais c'est en fait un "impossible de réparer"

TL; DR
Veuillez vous assurer que vous utilisez un multiple de taille de police de 16px (14px pour FA4) pour votre spinner. Cela aide .
Si vous n'êtes pas satisfait et que vous avez besoin d'un spinner pixel parfait, pensez à utiliser un spinner SVG animé.

@ My1 , vous n'avez pas besoin de JS pour animer SVG, vous pouvez utiliser CSS.

bon appel @tagliala ... "ne peut pas réparer" est plus précis. J'ai _ essayé_ plusieurs fois: D

bien mais le framework SVG ne se chargera que dans un navigateur compatible JS.

J'ai déjà essayé.

si vous avez FA Pro, obtenez le serveur de démonstration, désactivez js (facile à faire dans chrome) et accédez

http: // localhost : 3344 / docs / svg-framework.html

vous verrez qu'aucune icône ne se chargera.

vous pouvez probablement faire les svgs seuls, mais ma réponse s'adressait précisément à ceux qui ont dit SVG Framework.

aussi qui a ce problème? J'ai essayé le lien de @tagliala dans Firefox Chrome et Opera et je n'ai pas remarqué beaucoup d'oscillation (et je devrais certainement être capable de remarquer quelque chose de bizarre dans les pixels quand je m'approche de 5 cm de mon écran FHD de 42 pouces où vous pouvez facilement voir les pixels )

aussi foa FA5 deviendrait-il 16px alors que la taille de base change?

comment est-ce un énorme problème

L'utilisation d'une valeur de retrait de texte négative a résolu le problème pour moi

On dirait que filter: blur(0) fait le travail et il est très bien pris en charge https://caniuse.com/#feat = css-filters

Une combinaison de la solution de line-height pour chaque taille donne de très bons résultats pour moi. Encore une très légère oscillation sous-pixel mais fondamentalement imperceptible.

.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;
}
Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

ojvribeiro picture ojvribeiro  ·  3Commentaires

rufengch picture rufengch  ·  3Commentaires

tdolph picture tdolph  ·  3Commentaires

jakuuub picture jakuuub  ·  3Commentaires

faithdong picture faithdong  ·  3Commentaires
bleepcoder.com utilise des informations sous licence publique GitHub pour fournir aux développeurs du monde entier des solutions à leurs problèmes. Nous ne sommes pas affiliés à GitHub, Inc. ni à aucun développeur qui utilise GitHub pour ses projets. Nous n'hébergeons aucune des vidéos ou images sur nos serveurs. Tous les droits appartiennent à leurs propriétaires respectifs.
Source pour cette page: Source

Langages de programmation populaires
Projets GitHub populaires
Plus de projets 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.