我怎么能得到上标做,只有在CSS?
我有一个样式表,我用上标字符标记外部链接,但我很难让字符正确对齐。
我目前拥有的是这样的:
a.external:after {
font-size: 50%;
vertical-align: top;
content: "+";
}
但这并不奏效。
当然,我会使用<sup>-标签,只有当内容允许HTML…
我怎么能得到上标做,只有在CSS?
我有一个样式表,我用上标字符标记外部链接,但我很难让字符正确对齐。
我目前拥有的是这样的:
a.external:after {
font-size: 50%;
vertical-align: top;
content: "+";
}
但这并不奏效。
当然,我会使用<sup>-标签,只有当内容允许HTML…
当前回答
你可以用vertical-align: super来做上标(加上相应的字体大小减小)。
但是,一定要阅读这里的其他答案,特别是保罗默里和cletus的答案,以获得有用的信息。
其他回答
查看:http://www.cssdesignpatterns.com/Chapter%2012%20-%20ALIGNING%20CONTENT/Vertical-aligned%20Content/example.html
如果你想要"vertical-align:text-top"
sup的用法如下:
.superscript{
vertical-align:super;
font-size:smaller;
}
发现这通过谷歌铬检查元素。
相关或不相关,使用上标作为HTML元素或在文本中作为span+css可能会导致本地化程序中的本地化问题。
例如,我们说“第三方软件”:
3<sup>rd</sup> party software
3<span class="superscript">rd</span> party software
译者如何翻译“rd”?他们可以为一些西里尔语言留空,但其他外来语言或RTL语言呢?
在这种情况下,最好避免使用上标,并使用完整的措辞,如“第三方软件”。 或者,正如这里在其他评论中提到的,通过jQuery在上标中添加加号。
老实说,我不认为在CSS中只做上标/下标有什么意义。它没有方便的CSS属性,只有一堆本地实现,包括:
.superscript { position: relative; top: -0.5em; font-size: 80%; }
或者使用垂直对齐或者其他方式。问题是,事情开始变得复杂了:
CSS上标行高间距; 注意CSS的上标/下标为什么你可以说不应该样式上标/下标的CSS;
第二点值得强调。通常,上标/下标实际上不是样式问题,而是表示意义。
旁注:尽管这个问题与数学上标和下标表达式无关,但值得一提的是这个常见数学上标和下标表达式的实体列表。
sub/sup标记在HTML和XHTML中。我会用这些。
至于CSS的其他部分,伪元素和内容属性的:after并没有得到广泛支持。如果你真的不想把这个手动放在HTML中,我认为基于javascript的解决方案是你的下一个最佳选择。使用jQuery,这是简单的:
$(function() {
$("a.external").append("<sup>+</sup>");
};
try
.aftersup {
font-size: 1em;
margin: left;
vertical-align: .7em;
}
或者简单的“after”
.after {
font-size: 1em;
margin: left;
vertical-align: .7em;
}
”。。外部:after”可以简化
or
.after {
font-size: 50%;
margin: left;
vertical-align: .7em;
}
使用“字体大小50%”-什么大小的50% ?这可能不会很好地工作,如果不使用在一些标签定义文本大小之前的上标…
如果你使用"font-size: 1em;",那么字体大小是确定的,没有引用定义链接文本大小的标签,除非链接文本设置为100%,上标是100%的50%。
使用“font-size: 1em;”实际上设置字体大小基线。
如果你想要上标字体小于链接文本,请将“垂直对齐”设置为较小的大小
设置“vertical-align”大小与字体大小相同,如果你想让上标字体与链接文本大小相同
要与链接文本对齐,您需要设置与链接文本相同的“margin”(左,中,右,对齐)。
.text {
font-size: 1em;
margin: left;
}
.aftersup {
font-size: 1em;
margin: left;
vertical-align: .7em;
}
它应该是类似下面的例子链接与上标
<p class="text"><a href="url">https://stackoverflow.com/questions/501671/superscript-in-css-only</a><aftersup>+</aftersup></p>
or
<p class="text"><a href="url">https://stackoverflow.com/questions/501671/superscript-in-css-only</a><aftersup>You got this</aftersup></p>
or
<a href="url">https://stackoverflow.com/questions/501671/superscript-in-css-only</a><aftersup>+</aftersup>
or
<a href="url">https://stackoverflow.com/questions/501671/superscript-in-css-only<aftersup>You got this</aftersup>
就像在……
只在CSS上标?+
or
只在CSS上标?你懂的