Intégré padding/margin dans les polices
Il semble que toutes les polices de caractères ont une sorte de intégré de remplissage ou de marge. En définissant:
margin: 0px;
padding: 0px;
Vous ne jamais obtenir ce que vous voulez. Quelqu'un sait pourquoi il en est?
Vous voulez dire, comme l'espace entre les lettres?
Si vous parlez de la <font> tag, dans ce cas, il n'est pas conseillé de l'utiliser car il est obsolète en HTML. Je voudrais vous demander d'élaborer votre code
Non, je n'ai jamais utiliser <font> c'est assez obsolète hehe. Ce dont je parle est-il toujours semblent être construit dans le rembourrage sur le haut et le bas de polices.
En dehors de la ligne des hauteurs et de la lettre de l'espacement des trucs. Veuillez noter que la taille de police (même si vous le définir en CSS) diffère entre les navigateurs.
Exemple à quoi vous faites allusion serait capable de l'aider à mieux afin que nous puissions voir ce que vous êtes parle d'un voir comment il est codé.
Si vous parlez de la <font> tag, dans ce cas, il n'est pas conseillé de l'utiliser car il est obsolète en HTML. Je voudrais vous demander d'élaborer votre code
Non, je n'ai jamais utiliser <font> c'est assez obsolète hehe. Ce dont je parle est-il toujours semblent être construit dans le rembourrage sur le haut et le bas de polices.
En dehors de la ligne des hauteurs et de la lettre de l'espacement des trucs. Veuillez noter que la taille de police (même si vous le définir en CSS) diffère entre les navigateurs.
Exemple à quoi vous faites allusion serait capable de l'aider à mieux afin que nous puissions voir ce que vous êtes parle d'un voir comment il est codé.
OriginalL'auteur Robin Cox | 2013-05-10
Vous devez vous connecter pour publier un commentaire.
Il semble que le problème que vous rencontrez n'est pas avec le CSS mais la police elle-même. La plupart des polices de définir une base de référence, x-hauteur et la hauteur de la ligne out-of-the-box. Votre problème est probablement avec la police leader, l'espace entre les lignes. Parfois, ces valeurs peuvent être très incohérent. Si vous êtes vraiment essayer d'obtenir une police spécifique pour aligner correctement, je vous recommande de prendre un coup d'oeil à FontLab et de l'édition de glyphes/base/hauteur de la ligne pour la police que vous travaillez avec.
Vous pouvez également regarder une web-safe version de la police. Ces types de polices généralement ont été spécifiquement espacés de manière à rendre le meilleur sur le web. Ce n'est pas toujours le cas, mais il pourrait vous obtenir les résultats que vous recherchez. Découvrez Google bibliothèque de polices web ici.
Mise à jour
Cette réponse a reçu suffisamment d'attention que j'ai décidé d'ajouter le premier commentaire ci-dessous pour la réponse et à disserter sur elle.
Navigateur Reset: Chaque navigateur par défaut pour de nombreux états de l'réservés balises HTML comme
a
etstrong
. Il y a d'autres choses définies par défaut, y compris les polices, la ligne de hauteurs, de poids et de tailles. Cela pourrait avoir une incidence sur le rendu d'une police. Généralement, c'est localisée à certains navigateurs. Ainsi, en utilisant un reset CSS, vous pouvez éliminer le rendu par défaut des problèmes dans les navigateurs. Eric Meyers Réinitialiser est un bon reset, mais il y a certainement d'autres. Essayez d'utiliser différentes pour voir ce qui fonctionne le mieux pour vous.Cependant, réinitialise CSS travailler en ciblant tous les navigateurs et les mettre à toutes les mêmes. Certaines personnes préfèrent utiliser quelque chose qui, au lieu de cela, les cibles uniquement les questions avec chaque navigateur. Qui ont été Normaliser sera mieux.
Il y a aussi des questions qu'un CSS reset ne va pas s'arranger. Comme la police de l'aliasing (la prise de polices semblent lisses plutôt que irréguliers). Depuis quelques navigateurs et systèmes d'exploitation ne pas ajouter de l'anti-aliasing pour les polices, vous verrez également le glyphe de la largeur des différences. Cela, malheureusement, est inévitable dans la plupart des cas. Certaines personnes font le trajet de l'utilisation d'un flash de police de remplacement de l'outil comme Cufon ou Sifr. Cela aussi a sa propre liste de questions (telles que la FOUC).
Une Autre Mise À Jour
Une autre question qui est toujours là est le problème avec le crénage, ou l'espace entre les glyphes. Il existe une propriété CSS
letter-spacing
qui vous permettra de faire global kern sur un bloc de texte, mais il manque la possibilité de cibler des glyphes comme Photoshop ou InDesign. Le crénage est également basée sur l'ensemble des pixels, de sorte que vous êtes limité par ce que vous pouvez réaliser. Il a aussi des problèmes avec IE et n'est pas aussi fiable qu'on pourrait l'espérer. Il y a un javascript appelé kerningjs qui est assez décent, mais il est aussi tout-à base de pixels et donc pas aussi précis que texte pixellisé.Dans l'ensemble, les polices sur le web se sont améliorés au cours des dernières années. Malheureusement, nous sommes toujours aux prises avec les problèmes du passé, lorsque les polices étaient destinés à être imprimés ou pixellisé. Il y a de l'espoir à l'horizon pour nous les amateurs de police. @Allcaps dit, le Spécification CSS3 pour linebox est là, il est seulement une question de temps jusqu'à ce qu'il est largement accepté!
vous devriez avoir quitté votre réponse, c'était: le crénage est complètement hors-sujet basé sur ce que l'utilisateur l'a demandé.
Le crénage est absolument sur le sujet. La question d'origine était vague, donc la réponse est à l'adresse d'autres personnes ont ce problème et les aider à résoudre leurs problèmes. Accepté de répondre à cette question n'était plus utile pour l'OP. Si la mise à jour est de traiter les autres de trouver cette réponse utile. Nous ne devrions pas nous décourager overcommunication dans les réponses depuis le site est également utilisé comme une ressource pour les personnes.
OriginalL'auteur Matthew R.
Les raisons de cette pecularity de l'ordinateur polices sont surtout historiques. Dans le passé, les polices ont été les ensembles de petits blocs en métal avec un personnage sur chaque, et la hauteur de ces blocs ont dû être suffisante pour contenir tous les éléments de n'importe quel caractère, y compris des descendants, des ascendants et des signes diacritiques. La typographie de la tradition a défini la taille de la police que la hauteur de ces blocs en métal. C'est pourquoi presque tous les caractères réels sont généralement beaucoup plus petits visuellement que la taille de police définie pour le texte et il y a de l'espace blanc au-dessus et au-dessous d'eux.
Voici un bon article expliquant les racines historiques de la principale typographiques mesures: http://www.dev-archive.net/articles/typograph1-en.html#Ch22
OriginalL'auteur Ilya Streltsyn
vous pouvez utiliser la hauteur de la ligne et de la lettre de l'espacement de remplissage/de la marge dans les polices...
sinon utiliser css personnalisé pour chaque rubrique........
ou utiliser les css......
à l'aide de ces css avant de l'utiliser reset css .......
OriginalL'auteur webslatesoftware
x ov gjqpy bdfhklt CASQUETTES ÂÊÁËÈ
Un glyphe est conçu sur deux dimensions de la toile. Pour le latin, le système d'écriture de la hauteur de cette toile est conforme et la largeur peut varier. Les glyphes sont placés sur une ligne de base. x est sur la ligne de base et le haut de x définit x-hauteur. Rond et pointu, des formes apparaissent plus petits sont donc optique corrigée. Des prolongements s'étendent au-dessous de la ligne de base. Les jambages, les capitales aller au-dessus de x-hauteur. Les navigateurs aligner le texte avec différentes polices de caractères (dans le même paragraphe) par référence.
, Alors pourquoi est le construire dans la marge? Les glyphes besoin d'espace autour pour être alignés les uns avec les autres.
Que pouvons-nous faire pour influencer ces marges?
p { line-height:0.5EM;}
..shift { top:-.5em; position:relative; }
Conseils généraux: ne pas ajuster une police vous-même, sauf si vous êtes absolument sûr de ce que vous faites. Une des nombreuses choses que vous allez rencontrer est l'affinage. Windows a besoin de faire allusion polices et l'affinage est dur pour obtenir le droit. Aussi la façon dont les polices sont chargés (@font-face) pour charger une copie locale si elle existe. Vous pouvez désactiver les polices par un hack. Votre kilométrage peut varier.
OriginalL'auteur allcaps
Le "padding" en haut et en bas de polices est essentiellement un espace réservé pour les signes diacritiques (https://en.wikipedia.org/wiki/Diacritic). Certains scripts d'empiler plusieurs signes diacritiques sur certaines lettres, y compris les capitales (par exemple, les Vietnamiens https://en.wikipedia.org/wiki/Vietnamese_alphabet) ainsi, un concepteur de la police qui oublie de réserver de la place pour eux de ne pas être en mesure d'étendre sa police plus tard. Aussi, horizontal scripts nécessitent certains de séparation (leading) entre les lignes pour être lisible.
Très spécifiques glyphes comme une boîte les éléments de dessin étendre aux limites d'une zone du glyphe
http://www.unicode.org/charts/PDF/U2500.pdf
C'est aussi pourquoi le "padding" est intégré dans chaque glyphe. Si c'était un externe de la propriété, il ne serait pas possible de différencier les glyphes destiné à être jointive et des glyphes qui ont besoin de certains de séparation (en d'autres termes, la quantité de remplissage est un glyphe propriété n'est un ensemble de polices de propriété).
L'exemple suivant nécessite une bonne police décent avec Unicode couverture (http://dejavu-fonts.org/ œuvres)
Jointive à cocher des éléments de dessin
↓
┃ÇŖŞ
┃ẤỄǛȰ┃U ← - Vous vraiment besoin d'inclure le "padding" pour s'aligner avec la boîte de dessins
↑
en Latin capitales avec de multiples signes diacritiques (très serré)
Enfin polices souches à partir d'anciennes technologies (movable type), et les conventions utilisées pour les décrire, se réfèrent encore au xve siècle, les habitudes, qui les rend peu évident pour les profanes.
(Voir aussi http://www.webfonts.info/node/330 pour plus d'informations sur les complications ajoutés par ordinateur formats de police)
polices opentype texte-rendu
OriginalL'auteur nim
Ce n'est pas un problème avec la police en tant que telle. Oui, comme @matthieu a dit, la police elle-même a un certain caractère construite en. Par exemple, découvrez différence entre dire "Segoe de famille" et "Verdana" de la famille. Vous garder sur la réinitialisation de votre css si vous avez besoin d'utiliser les deux. Un style juste ne fonctionnera pas.
La plus grande partie du problème réside dans la façon dont les différents navigateurs rendre, même sur le même OS. Heck, même les différentes versions de IE rendre différemment. ClearType, Anti-aliasing, le lissage des polices, le rendu logiciel au lieu du rendu GPU, le moteur de rendu de lui-même, etc. etc. tous un rôle à jouer pour assurer que vous ne finissent pas avec pixel design parfait sur tous les navigateurs à travers tous les systèmes d'exploitation.
ClearType tente de s'aligner avec des pixels de la grille de l'origine d'un autre ensemble de problèmes, avec de subtiles différences dans la hauteur.
Ce lien est très vieux, mais toujours très pertinentes: http://www.joelonsoftware.com/items/2007/06/12.html
Voir Aussi: http://www.codinghorror.com/blog/2007/06/whats-wrong-with-apples-font-rendering.html
Voir Aussi: https://webmasters.stackexchange.com/questions/9972/how-can-i-make-fonts-render-the-same-way-across-different-web-browsers
Voir Aussi: CSS font des différences entre les navigateurs
Votre meilleur pari serait de garder à bricoler avec des css jusqu'à ce que vous obtenez assez proche.
OriginalL'auteur Abhitalks
Voici mon Opinion
Mais dans votre cas, vous n'avez pas vraiment besoin de ces deux vous , que vous êtes intéressé à espacement , il existe une propriété css appelé letter-spacing
Essayer
La lettre de l'espacement de la propriété est prise en charge dans tous les principaux navigateurs.
Remarque: La valeur "hériter" n'est pas pris en charge dans internet explorer 7 et versions antérieures. IE8 nécessite un !DOCTYPE. IE9 prend en charge "hériter".
OriginalL'auteur Microtechie
Si vous voulez utiliser l'espace entre les lignes dans un paragraphe, vous pouvez utiliser:
Ou, si vous utilisez l'espace entre les lettres, vous pouvez utiliser:
Câlins,
Niv.
OriginalL'auteur Vinicius Lima
Le natif de marges pour les éléments de texte sont comme suit (au moins dans Firefox et Chrome):
Exemple De Travail
Pour les supprimer, vous devrez à nouveau régler la marge de la sorte:
OriginalL'auteur apaul
Après avoir regardé le code source html d'un document html trouvé que, après la normale margin/padding ajouté par tous les navigateurs, google chrome par défaut ajoute ses propres webkit marge/propriétés padding.
Solution est plutôt normal
Ajouter le style avec
Comme
-webkit-margin-start
et-webkit-margin-end
sont déjà0px
, ce n'est pas de mise ici.Me dire si cela fonctionne! 🙂
OriginalL'auteur Dangling Cruze
Je pense, est le crénage ce que vous avez l'intention de décrire
prendre un coup d'oeil à cette bibliothèque
http://kerningjs.com/
c'est gratuit
OriginalL'auteur San Bluecat
Les polices de caractères elle-même a des problèmes il me semble. CSS peut être utilisé comme indiqué ci-dessus pour résoudre le problème, mais encore il faut dire qu'il est le meilleur à votre scénario afin de corriger les fichiers de police lui-même.
Consultez cette page car il vous donnera un meilleur aperçu sur la façon de modifier une police de caractères:
http://mashable.com/2011/11/17/free-font-creation-tools/
OriginalL'auteur Debarko
J'ai souvent le même problème, surtout si vous essayez d'obtenir un texte pour haut-align avec quelque chose à côté de ce qui n'est pas du texte, comme une image.
Voici une technique que j'ai eu un certain succès avec. Sélectionnez une partie du texte de sorte que la couleur d'arrière-plan apparaît derrière elle. Le top de la sélection en surbrillance révéler ce que la police considère que le "haut" et "bas" de la lettre. Prendre des captures d'écran de la police dans différentes tailles et avec différents navigateurs. Zoom sur la capture d'écran dans Photoshop et de compter le nombre de pixels à partir de ce que vous croyez "devrait" être le haut et le véritable sommet. Calculer le pourcentage que le nombre de pixels qui la représente au sein de l'ensemble de la sélection de la hauteur.
Puis définissez un négatif de la marge supérieure sur le texte dans l'ems, qui est égal au pourcentage de "dépassement". Donc, si le texte doit être 10px haut et c'est en fait 12px haut, puis donnez-lui un négatif de la marge supérieure de -0.2 em.
Alors, où que vous attribuez à la police-famille qui est à l'origine du problème, également inclure ce négatif de la marge supérieure. Vous pouvez utiliser la même technique pour le fond et les côtés de débordement, mais en général, je trouve que c'est la dessus que les causes les plus grands maux de tête.
OriginalL'auteur cantera
Ce qui est sur la réinitialisation de la marge et le remplissage de la valeur à zéro dans tous les
OriginalL'auteur Bhojendra Rauniyar
J'ai couru dans cette douleur, une couple de fois, lors de l'utilisation de certaines polices web pour les icônes et les permis de mieux contrôler, en les plaçant dans un absolu conteneur positionné.
HTML
CSS
C'était comme une meilleure façon de contrôler les choses de la croix-navigateur, plutôt que de dire, à l'aide de positif/négatif les marges externes et internes.
Donnant le bloc de texte d'un conteneur et de la classe, nous avons beaucoup plus propre capacité à ajuster la position de la croix-navigateur. ( OMI ).
Peut-être quelque chose là-bas.
Acclamations,
Rob
OriginalL'auteur Rob Sedgwick
Vous pouvez le faire avec
line-height
Je sais que c'est pas trop commun en HTML5, et est plus HTML4.1, mais...
et si c'est vraiment important:
OriginalL'auteur internetgho5t