28172 sujets

CSS et mise en forme, CSS3

Bonjour,

Je construis actuellement un site sur Joomla (Yootheme).
J'ai installé trois polices personnalisées dont une (PaperFlowers) qui se charge bien sur Safari mais pas sur Chrome. Je travaille sur Chrome. Est-ce que je ne vois pas cette police s'afficher correctement sur mon site en cours de construction pour des raisons de cache ? Les fichiers custom css sont ok... font face aussi.
Je ne comprends pas pourquoi. Si vous pouviez me donner quelques indications, je vous remercie par avance !
Hi,
Commence par regarder dans la console de développement (F12 > network) si il trouve bien ton fichier de font lors du chargement de la page ou si il te retourne une erreur 404.
Après si oui, CTRL+SHIFT +R pour recharger la page en vidant le cache.
Et si ça ne suffit pas F12 > Application > Colonne de gauche > Clear Storage > Colonne de droite Clear Site Data.

@+
Bonjour,
Merci beaucoup pour ton retour.
Lorsque je fais la première étape selon tes recommandations : je n'ai aucune erreur 404...
Modérateur
Salut,

Est-ce qu'il est possible pour toi de mettre en ligne ton site ou du moins un test ?

Il nous faudrait aussi ton code, même si tu dit que les font-face et custom CSS sont ok... si tu savais le nombre de fois ou les personnes font ça, on cherche comme des fous et l'erreur était au final dans la partie "qui était 100% ok"... au moins on serait sur de ne passer à coté de rien avant de passer a autre chose.

Bonne aprem !
Voici mon code dans le Custom CSS :

@font-face {
font-family: "PaperFlowers";
src: url("../fonts/PaperFlowers.eot"); /* IE9 Compat Modes */
src: url("../fonts/PaperFlowers.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */
url("../fonts/PaperFlowers.otf") format("opentype"), /* Open Type Font */
url("../fonts/PaperFlowers.svg") format("svg"), /* Legacy iOS */
url("../fonts/PaperFlowers.ttf") format("truetype"), /* Safari, Android, iOS */
url("../fonts/PaperFlowers.woff") format("woff"), /* Modern Browsers */
url("../fonts/PaperFlowers.woff2") format("woff2"); /* Modern Browsers */
font-weight: normal;
font-style: normal;
}
Modifié par Elo_Ggg (18 Dec 2020 - 17:15)
Modérateur
Bonjour,

Ça m'a toujours impressionné, ces méga-instructions @font-face.

Et t'as mis tous ces fichiers sur ton serveur, sans espace dans les noms, et en faisant gaffe aux majuscules/minuscules ?

Et tu les as récupérés comment, ces fichiers ?

Amicalement,
Modérateur
Hop du coup je remonte mes avancées ici aussi (en plus de la réponse au MP) pour que tout le monde en profite.

Le fichier a l'air corrompu, même la font récupéré sur Dafont bug au passage dans un convertisseur. QUand on l'importe on peu voir les erreurs :
Failed to decode downloaded font: 

et
12OTS parsing error: OS/2: Failed to parse table

dans la console. Donc je pense que la version gratuite a été endommagée (volontairement ?) et ca limite l'utilisation.

Et je rajoutais aussi qu'on pouvait n'utiliser que woff et woff2 dans les font face y'a un bon résumé ici : https://css-tricks.com/snippets/css/using-font-face/
(et que surtout on pouvait arrêter le support IE6-10)

Smiley smile
Un grand merci pour votre aide.
J'ai utilisé le site Font Converter pour générer le custom CSS.
ça a toujours fonctionné sur les polices que je souhaitais charger... sauf celle-ci.
Je viens d'acheter la police pour tenter le coup. Et voir si cela permet de ne pas avoir ce fichier corrompu. Pour le moment, sur mon site : la police ne s'affiche toujours pas.
Je vous tiens informée... Merci !
Modifié par Elo_Ggg (18 Dec 2020 - 21:58)
Modérateur
Bonjour,

J'ai téléchargé la police depuis https://www.dafont.com/paper-flowers.font

Je n'ai conservé que le fichier .ttf (et j'ai retiré l'espace qu'il y avait dans son nom). Je n'ai pas cherché à convertir quoique ce soit.

J'ai ensuite utilisé le code ci-dessous (sur mac os), et ça marche très bien avec Chrome, Firefox et Safari :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
@font-face {
	font-family: "PaperFlowers";
	src: url("PaperFlowers.ttf") format("truetype");
}
body {
	font-family: PaperFlowers;
}
</style>
</head>
<body>
<div>
Maman, je n'ai rien aux dents !
</div>
</body>
</html>

Amicalement,
Bonjour,
Je viens de tester (selon les conseils de Laurent) : convertir le fichier .svg en .woff et ne conserver que les .woff et .woff2 mais toujours pareil...

Peut-être que je fais une erreur dans le fichier custom.css ??

Je ne sais plus vraiment comment solutionner ce problème... Smiley decu

Merci par avance pour vos retours !

Info sur le custom.css suite à mes tests du jour :
@font-face {
  font-family: "LouisGeorgeCafe";
  src: url("../fonts/LouisGeorgeCafe.eot"); /* IE9 Compat Modes */
  src: url("../fonts/LouisGeorgeCafe.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */
    url("../fonts/LouisGeorgeCafe.otf") format("opentype"), /* Open Type Font */
    url("../fonts/LouisGeorgeCafe.svg") format("svg"), /* Legacy iOS */
    url("../fonts/LouisGeorgeCafe.ttf") format("truetype"), /* Safari, Android, iOS */
    url("../fonts/LouisGeorgeCafe.woff") format("woff"), /* Modern Browsers */
    url("../fonts/LouisGeorgeCafe.woff2") format("woff2"); /* Modern Browsers */
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "LettersforLearners";
  src: url("../fonts/LettersforLearners.eot"); /* IE9 Compat Modes */
  src: url("../fonts/LettersforLearners.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */
    url("../fonts/LettersforLearners.otf") format("opentype"), /* Open Type Font */
    url("../fonts/LettersforLearners.svg") format("svg"), /* Legacy iOS */
    url("../fonts/LettersforLearners.ttf") format("truetype"), /* Safari, Android, iOS */
    url("../fonts/LettersforLearners.woff") format("woff"), /* Modern Browsers */
    url("../fonts/LettersforLearners.woff2") format("woff2"); /* Modern Browsers */
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "PaperFlowers";
    url("../fonts/PaperFlowers.woff") format("woff"), /* Modern Browsers */
    url("../fonts/PaperFlowers.woff2") format("woff2"); /* Modern Browsers */
  font-weight: normal;
  font-style: normal;
}
Modérateur
Bonjour,

Pourquoi convertir ?

As-tu testé le code d'exemple que j'ai donné ?

Amicalement,
Modifié par parsimonhi (19 Dec 2020 - 11:52)
Pardon mais je ne vois pas où renseigner le code fourni ?
En effet, j'utilise le fichier custom css pour renseigner ma nouvelle police d'où le fait que dans le process appris, j'ai pour habitude de convertir mes fichiers.


De plus, pour info, j'ai testé de charger le fichier.ttf d'origine. Uniquement dans le dossier enfant du thème Polices. Puis j'ai renseigné correctement dans le fichier custom CSS la font PaperFlowers en ttf. Mais cela ne fonctionne ni sur Safari ni sur Chrome.

J'espère pouvoir débloquer ce souci demain !

Par avance, merci de votre retour !
Modifié par Elo_Ggg (20 Dec 2020 - 22:39)
Quelques nouvelles : après différents tests et installation de la police sur mon ordi, j'ai pensé que cela était ok mais... non ! Je constate qu'en ayant installé la police sur mon ordi, la police PaperFlowers s'affiche bien sur mon site sous Chrome (sur Safari, c'est toujours ok). Mais en regardant sur d'autres PC (et toujours sur Chrome) : toujours KO...
Des solutions ?
Merci par avance pour votre aide !
Modérateur
Bonjour,

Il faudrait l'adresse de ton site pour faire le diagnostic (en MP éventuellement si tu ne veux pas le poster ici).

Amicalement,
Suite et fin de cet interminable épisode : la police est enfin chargée sur Safari ET Chrome. Un des fichiers devaient être corrompus (hypothèse). J'ai repris les fichiers font du site du créateur de la police. Ajuster un peu le code @fontface mais clairement, cela reste un petit mystère. Après avoir effectué un énième test et patientant : la police s'est affichée sur Chrome. Désolée de ne pouvoir être plus précise si une autre personne rencontre le même souci que moi...

En tout cas un grand merci pour votre aide à tous que ce soit ici ou par messages privés !!
Meilleure solution
Modérateur
Bonjour,

Il y a quand même quelques petits détails à peaufiner. Parfois, dans la propriété font-family, tu mets "Paper Flowers" (avec des guillemets et un espace), parfois tu mets "PaperFlowers" (avec des guillemets sans espace), et parfois tu mets Paper Flowers sans guillemets.

1) quand il y a un espace dans le nom de la font utilisé dans la propriété font-family, il faut mettre les guillemets (par exemple "Paper Flowers"). Sinon, ça peut ne marcher que par chance.

2) le nom de la police dans la propriété font-family que tu utilises dans tes feuilles de style (par exemple pour ton <h2> de la page d'accueil) doit être identique à la valeur de la propriété font-family que tu définies dans l'instruction @font-face. Donc si dans le @font-face, tu mets :
font-family: "Paper Flowers";

... quand tu styles tes <h2>, tu dois aussi mettre :
font-family: "Paper Flowers";
(donc avec un espace et des guillemets)

3) je ne sais pas quels fichiers de la police tu as mis sur ton site. Selon moi, au risque de me répéter, tu pourrais te contenter de PaperFlowers.ttf. Et dans ton custom.css, tu pourrais te contenter de :
@font-face {
	font-family: "Paper Flowers";
	src: url("PaperFlowers.ttf") format("truetype");
}

à la place de
@font-face {
    font-family: 'Paper Flowers';
    src: url('../fonts/Paper Flowers.eot');
    src: url('../fonts/Paper Flowers.eot?#iefix') format('embedded-opentype'),
         url('../fonts/Paper Flowers.woff2') format('woff2'),
         url('../fonts/Paper Flowers.woff') format('woff'),
         url('../fonts/Paper Flowers.ttf')  format('truetype'),
         url('../fonts/Paper Flowers.svg#Paper Flowers') format('svg');
  font-weight: normal;
  font-style: normal;
}

Il n'est pas utile dans le @font-face de laisser les lignes pour eot, woff, etc. si tu n'as pas les fichiers "PaperFlowers.eot", "PaperFlowers.woff", etc. dans ton dossier "fonts".

Retire l'espace dans le nom du fichier de la font (si tu le laisses, ça ne peut t'attirer que des ennuis) :
PaperFlowers.ttf


Par contre, tu peux laisser l'espace dans le nom de la police utilisé comme valeur de la propriété font-family.

Et évidemment, partout ailleurs, il faudra utiliser :
font-family: "Paper Flowers";
(avec des guillements simples ou doubles, et un espace dans le nom, si tu en a mis un dans le @font-face.

4) Il est possible que sur certaines machines avec lesquelles tu as testée, la police "Paper Flowers" était déjà "installée". Du coup, pour ces machines, la police pouvait s'afficher correctement même si ton @font-face était erroné.

Amicalement,