Exposant et en CSS?
Comment puis-je obtenir de l'exposant fait, uniquement en CSS?
J'ai une feuille de style où je marque les liens externes avec un caractère en exposant, mais je vais avoir du mal à faire le personnage aligné correctement.
Ce que j'ai actuellement, ressemble à ceci:
a.external:after {
font-size: 50%;
vertical-align: top;
content: "+";
}
mais ça ne fonctionne pas.
Naturellement, j'utiliserais <sup>
-tag, seulement si content
permettrait HTML...
- Vous semblez avoir une différence: vertical-align top mais <sub>? Admettons que vous entendez <sup>?
- Le "vertical-align:text-top" n'a pas de travail pour moi dans IE9. Mais, il l'a fait dans FireFox 4.0. Au moins dans un WordPress contexte.
- Si
content
permis de HTML, la séparation des préoccupations en souffrirait.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire en exposant avec
vertical-align: super
, (en plus d'un accompagnementfont-size
de réduction).Cependant, assurez-vous de de lire les autres réponses ici, en particulier celles de paulmurray et cletus, pour obtenir des informations utiles.
font-size
doit être réduite pour donner l'exposant réel effet.Honnêtement, je ne vois pas l'intérêt de faire de l'exposant/indice en CSS uniquement. Il n'y a pas de pratique attribut CSS pour elle, juste un tas de homegrown implémentations notamment:
ou à l'aide vertical-align ou je suis sûr que d'autres façons. Chose est, il commence à se compliquer:
Le deuxième point est bon de le souligner. Généralement en exposant/indice n'est pas vraiment le style de question, mais elle est révélatrice de sens.
Note de côté: Il vaut la peine de mentionner cette liste des entités pour la commune de mathématiques en exposant et en indice expressions même si cette question ne concerne pas que.
Le sous/sup balises en HTML et XHTML. Je voudrais juste de l'utiliser.
Comme pour le reste de votre CSS, l' :après les pseudo-éléments et des attributs de contenu ne sont pas largement pris en charge. Si vous ne voulez vraiment pas mettre manuellement dans le code HTML je pense que Javascript solution est votre prochain meilleur pari. Avec jQuery, c'est aussi simple que:
<span class="superscript"></span>
au lieu de<sup>
et il serait plus facile à mettre en œuvre que dans le CSS que de réécrire le système. En d'autres mots, ce que j'essaie de dire, c'est que si cela a du sens de faire de l'exposant dans le CSS ou le HTML est en dehors de la portée de la question.Le CSS documentation contient la norme de l'industrie CSS équivalent pour toutes les HTML constructions. Qui est: la plupart des navigateurs web ces jours ne sont pas explicitement poignée
SUB
,SUP
,B
,I
et ainsi de suite - ils (un peu sorta) sont convertis enSPAN
éléments appropriés des propriétés CSS, et le moteur de rendu ne traite que de cela.La page est Annexe D. feuille de style par Défaut pour HTML 4
Les bits que vous souhaitez sont:
line-height
. A mon avis le seul moyen de ne pas bousillerline-height
est d'utiliserposition:relative
comme suggéré par cletus: stackoverflow.com/a/501689/260080Je travaillais sur une page avec l'objectif d'avoir clairement un texte lisible, avec un exposant les éléments qui ne modifie PAS la ligne du haut et du bas des marges - avec les observations suivantes:
Si pour le texte principal, vous avez
line-height: 1.5em
par exemple, vous devez réduire la hauteur de la ligne de vos exposants pour qu'il apparaisse correctement. J'ai utiliséline-height: 0.5em
.Aussi,
vertical-align: super
fonctionne bien dans la plupart des navigateurs, mais dans IE8 quand vous avez un indice supérieur à un élément présent, le reste de la ligne, est poussé vers le bas. Donc à la place j'ai utilisévertical-align: baseline
avec un négatiftop
etposition: relative
pour obtenir le même effet, ce qui semble mieux fonctionner dans les navigateurs.Donc, à ajouter à la "maison des implémentations":
http://htmldog.com/articles/superscript/ Essentiellement:
Fonctionne bien dans la pratique, dans la mesure où je peux dire.
Les éléments suivants sont pris à partir de Mozilla Firefox interne de html.css:
Donc, dans votre cas, il serait quelque chose comme:
C'est une autre solution propre:
De cette façon, vous pouvez toujours utiliser sup/sous de balises, mais vous fixe leur idious comportement de toujours vis paragraphe hauteur de la ligne.
Alors maintenant, vous pouvez le faire:
Et votre paragraphe hauteur de la ligne ne doit pas se faire défoncer jusqu'.
Testé sur IE7, IE8, FF3.6, SAFARI4, CHROME5, OPERA9
J'ai testé à l'aide d'un
p {line-height: 1.3;}
(ce qui est une bonne hauteur de la ligne, sauf si vous voulez que vos lignes de coller de trop près) et il fonctionne toujours, de cause "-0.6 em" est une si petite quantité que également avec la hauteur de la ligne sous/sous-texte est trop long et ne vont pas les uns sur les autres.Oublié un détail qui pourrait être pertinente, je toujours utiliser le DOCTYPE dans le 1ère ligne de ma page (plus précisément je utiliser le HTML 4.01
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
). Donc je ne sais pas si cette solution fonctionne bien lorsque le navigateur est en quirkmode (ou pas mode standard) en raison du manque de DOCTYPE ou à un DOCTYPE qui ne déclenche Standard/Presque en mode Standard.Si vous modifiez la taille de police, vous voudrez peut-être arrêter de rétrécissement des tailles à cette règle:
Je ne sais pas si c'est lié mais j'ai résolu mon problème avec
²
entités HTML que je n'ai pas pu ajouter tous les autres balises html à l'intérieur d'un<label>
tag. L'idée était donc à l'aide de codes ASCII au lieu de css ou de balises HTML.La propriété CSS
font-variant-position
est en cours d'examen et peuvent éventuellement être la réponse à cette question. Dès le début de 2017, seulement Firefox prend en charge, si.Voir MDN.
Découvrez: http://www.cssdesignpatterns.com/Chapter%2012%20-%20ALIGNING%20CONTENT/Vertical-aligned%20Content/example.html
si on dirait que vous voulez "vertical-align:text-top"
Voici la manière exacte sup utilise:
Trouvé via google chrome inspecter l'élément.
Liés ou peut-être pas lié, à l'aide de l'exposant comme un élément HTML ou comme une période+css dans le texte peut causer des problèmes avec la localisation dans les programmes de localisation.
Supposons par exemple "3rd logiciels de tiers":
Comment les traducteurs de traduire "rd"? Ils peuvent le laisser vide pour plusieurs cyrrilic langues, mais qu'en d'autres exotiques ou RTL langues?
Dans ce cas, il est préférable d'éviter d'utiliser des exposants et utiliser une formulation comme "logiciel tiers".
Ou, comme mentionné ici dans d'autres commentaires, l'ajout d'un signe plus en exposant via jQuery.