Si j'ai une <sup>
étiquette dans une étiquette multiligne <p>
, la ligne avec l'exposant dessus a un espacement de ligne plus grand au-dessus que les autres lignes, quelle que soit la hauteur de ligne que j'ai mise sur le <p>
.
Modifiez pour clarification : je ne veux pas dire que j'ai beaucoup de <p>
s, chacun sur une seule ligne. J'en ai un <p>
avec suffisamment de contenu pour provoquer un enveloppement sur plusieurs lignes. Quelque part (n'importe où) dans le texte, il peut y avoir un <sup>
ou <sub>
. Cela affecte la hauteur de ligne de cette ligne en ajoutant un espacement supplémentaire au-dessus / en dessous. Si je règle une hauteur de ligne plus grande sur le, <p>
cela ne change rien au problème. La hauteur de ligne est augmentée, mais l'espacement supplémentaire subsiste.
Comment puis-je le rendre cohérent - c'est-à-dire que toutes les lignes ont le même espacement, qu'elles contiennent <sup>
ou non un?
Vos solutions doivent être multi-navigateurs (IE 6+, FF, safari, opéra, chrome)
la source
vertical-align: bottom
(bien que cela ne vous fasse pas autanttop
) et ensuiteposition:relative;
avec un positiftop
.L'astuce consiste à définir la
<sup>
hauteur de ligne de s à 0. @Scott a dit d'utiliser normal, mais cela ne fonctionne pas toujours.Cela signifie que vous n'avez pas à modifier la hauteur de ligne du texte environnant pour l'adapter au texte en exposant. J'ai testé cela dans IE7 + et les autres principaux navigateurs.
la source
line-height
attributs. Cela peut toujours provoquer des intersections avec la ligne précédente si l'ensembleline-height
est défini sur petit, bien sûr.line-height: 100%
dans ce cas.line-height
I se sont avérées être 0, 1, 1em et 100%. Tous ces éléments fonctionnent certainement dans Chrome et Firefox.J'ai eu le même problème et aucune des réponses données n'a fonctionné. Mais j'ai trouvé un commit git avec un correctif qui a fonctionné pour moi:
la source
garder les choses faciles:
[ la taille de la police dépend de votre type de visage]
la source
la source
Je préfère utiliser
length
sur l'alignement vertical. Cela aligne la ligne de base de l'élément à la longueur donnée au-dessus de la ligne de base de son parent.la source
La raison pour laquelle l'
<sup>
étiquette affecte l'espacement entre deux lignes a à voir avec un certain nombre de facteurs. Les facteurs sont: la hauteur de la ligne, la taille de l'exposant par rapport à la police normale, la hauteur de la ligne de l'exposant et enfin et surtout quel est le bas de l'exposant aligné avec ... Si vous définissez ... la hauteur de ligne du texte normal pour être dans une "bande tunnel" (c'est comme ça que je l'appelle) de 135% alors le texte normal (le 100%) devient blanc rembourré de 35% de plus de blanc. Pour un paragraphe, cela ressemble à ceci:Si vous ne remplissez pas ensuite en blanc l'exposant ... (c'est-à-dire gardez sa hauteur de ligne à 0), l'exposant n'a que la largeur de son propre texte ... si vous demandez alors à l'exposant d'être un pourcentage de la police régulière (pour exemple 70%) et que vous l'alignez avec le milieu du texte normal (texte-milieu), vous pouvez éliminer le problème et obtenir un exposant qui ressemble à un exposant. C'est ici:
la source
Je préfère la solution suggérée ici , comme illustré par ce jsfiddle :
CSS:
HTML:
La beauté de cette solution est que vous pouvez personnaliser le positionnement vertical de l'exposant et de l'indice, pour éviter tout conflit avec la ligne au-dessus ou en dessous ... dans ce qui précède, augmentez ou diminuez simplement le
0.2em
pour répondre à vos besoins.la source
Pour rendre toutes les lignes plus hautes , pour avoir la même apparence que la ligne avec l'exposant, définissez une plus grande
line-height
pour tout le paragrapheou quelle que soit la valeur qui donne l'effet que vous désirez.
Cela peut paraître étrange, mais c'est ainsi que vous avez décrit vos besoins.
EDIT: Pour que toutes les lignes se ressemblent quand une seule a besoin de plus d'espace vertical que les autres , TOUTES les lignes du paragraphe devront être plus hautes.
Ceci, comme je l’ai dit, n’est peut-être pas une solution intéressante. Peut-être que quelque chose peut être fait avec un span rendant juste le texte avec le sous / exposant plus petit , à part cela je ne crois pas que ce que vous voulez puisse être réalisé. Mais j'aimerais voir la solution de quelqu'un d'autre.
EDIT2: Incidemment, j'ai essayé un petit fichier html contenant
Et les lignes ont toutes la même hauteur dans FF3.0.14 et Konqueror (je ne peux pas parler pour les autres navigateurs)
la source
J'ai utilisé la hauteur de ligne: normal pour l'exposant, ce qui fonctionne très bien pour moi dans Safari, Chrome et Firefox, mais je ne suis pas sûr d'IE.
la source
Utilisez spécialement ceci sur la newsletter -
la source
J'aime la solution de Milingu Kilu mais dans le même esprit je préfère
la source
& sup1, & sup2 etc. pourraient faire l'affaire. c'est une astuce HTML pour exposer
la source
Réponse d' ici , fonctionne à la fois dans phantomjs et en HTML intégré aux e-mails:
la source