2011-10-19 1 views
2

J'ai dans mon CSS:Affectation de la police Droid Serif à un élément HTML, mais mon téléphone Android affiche toujours Droid Sans?

.like-counter span, .entry-content h2 { 
    color: #444; 
    font-family: Bitstream Charter, "Droid Serif", Gerogia, serif; 
    font-weight: bold; 
} 

Dans mon ordinateur, je vois une police Serif. Si j'enlève le premier, alors je vois la police Droid Serif. Je pensais que cette police était une police par défaut dans les appareils Android. Mais quand j'ouvre le site sur mon téléphone Android. Je vois toujours Droid Sans.

Ce qui pourrait être à l'origine de cela?

EDIT:

J'ai découvert que le problème ne se produit que lorsque j'afficher la page dans le navigateur par défaut d'Android. Dans Firefox, je peux voir la police Droid Serif (étrange).

+0

Le navigateur Android vous permet-il d'utiliser des polices personnalisées? – Blender

+0

@Blender Comment puis-je vérifier cela? – alexchenco

+0

Ouvrez le dans le navigateur Android: http://www.w3.org/Style/Examples/007/fonts.en.html – Blender

Répondre

3

Au lieu de deviner les polices par défaut, vous pouvez simplement utiliser le serif générique de la police:

font-family: serif; 

serif sera par défaut serif du navigateur.

+1

Ce genre d'aide, mais seulement en ce qui concerne l'obtention d'une police serif sur Android.Cela va à l'encontre de l'idée d'avoir une liste de polices spécifiques, puisque sur * tout * navigateur, le nom générique «serif» a une signification, et vous obtiendrez * toujours * la police serif par défaut de chaque navigateur. Tout comme vous le feriez avec 'font-family: serif'. –

+0

@ JukkaK.Korpela: Merci, corrigé. – Blender

2

Sur les anciens systèmes Android (jusqu'à une version que je ne connais pas) le navigateur au lieu de vérifier la liste complète des polices possibles, il vérifie la toute première entrée de la famille de polices, et si elle est connue du navigateur, avec quoi le substituer, alors il va l'utiliser, sinon il va jeter toute la liste. Ceci est remarquable, si vous utilisez juste Times par exemple, il utilisera Droid Serif, mais si vous ajoutez une police de fantaisie avant, il utilisera Droid Sans, peu importe le reste. De toute évidence, cela fonctionnera, si vous mettez le “ serif ” en premier lieu, mais alors tout le navigateur utilise la police serif par défaut, au lieu de ce que vous voulez. En raison de la simplicité de la sélection de police sur Android plus ancienne, vous pouvez ajouter une famille "serif" à la première place, qui sera interprétée comme Droid Serif sur le vieux Android, mais d'autres navigateurs regarderont (et j'espère échouer) pour une police nommée “ serif ”.

Aussi — aucune des polices Droid ne sont connues de ces navigateurs Android.

+1

Donc, cette solution de contournement signifierait l'utilisation, par ex. 'font-family:" serif ", Bitstream Charter, Géorgie, serif;', où les guillemets dans '" serif "' sont essentiels, ce qui en fait un nom de police spécifique, présumé reconnu seulement par l'ancien navigateur Android, qui de l'autre main ne traite pas correctement la famille de polices (au moins jusqu'à la version 2.3.5). De cette façon, les anciens Androids utiliseront leur police sans serif (qui ne peut apparemment pas être appelée en CSS avec un nom réel), alors que les autres navigateurs ignorent '' serif ''au début. –

+0

Old Android utilisera la police * serif *, mais oui, c'est le cas. Je découvre aussi que sur certaines distributions Linux, il y a une police nommée san-serif, donc ce truc est loin d'être parfait. - C'est pourquoi j'ai ajouté "j'espère échoue". –

Questions connexes