2023-12-13 05:00:04

只在CSS上标?

我怎么能得到上标做,只有在CSS?

我有一个样式表,我用上标字符标记外部链接,但我很难让字符正确对齐。

我目前拥有的是这样的:

a.external:after {
  font-size: 50%;
  vertical-align: top;
  content: "+";
}

但这并不奏效。

当然,我会使用<sup>-标签,只有当内容允许HTML…


当前回答

如果你正在改变字体大小,你可能想用下面的规则停止缩小大小:

sup sub, sub sup, sup sup, sub sub{font-size:1em !important;}

其他回答

你可以用vertical-align: super来做上标(加上相应的字体大小减小)。

但是,一定要阅读这里的其他答案,特别是保罗默里和cletus的答案,以获得有用的信息。

查看:http://www.cssdesignpatterns.com/Chapter%2012%20-%20ALIGNING%20CONTENT/Vertical-aligned%20Content/example.html

如果你想要"vertical-align:text-top"

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上标?你懂的

sup的用法如下:

.superscript{
    vertical-align:super;
    font-size:smaller;
}

发现这通过谷歌铬检查元素。

我在一个页面上工作,目的是有清晰易读的文本,上标元素不改变行顶部和底部的空白-以下是观察结果:

如果你的主文本有行高:例如1.5em,你应该降低上标文本的行高以使其正确显示。我使用线高:0.5em。

此外,vertical-align: super在大多数浏览器中都运行良好,但在IE8中,当你有一个上标元素时,该行其余部分会被下推。因此,我使用vertical-align: baseline加上负的顶部和position: relative来达到同样的效果,这似乎在各种浏览器中都能更好地工作。

因此,要添加到“本地实现”:

.superscript {
    font-size: .83em;
    line-height: 0.5em;
    vertical-align: baseline;
    position: relative;
    top: -0.4em;
}