使用<sup>和<sub> </sub> </sup>时的HTML样式问题

时间:2010-09-19 20:27:01

标签: html css web subscript superscript

我注意到在尝试以下列方式使用上标或下标时......

<ul>
<li><b>Mean Radius</b>      6,371.0 km</li>
<li><b>Mean Circumference</b>   40,041.47 km</li>
<li><b>Surface Area</b>     510,072,000 km<sup>2</sup></li>
<li><b>Volume</b>       1.0832073 &times; 10<sup>12</sup> km<sup>3</sup></li>
<li><b>Mass</b>         5.9736 &times; 10<sup>24</sup> kg</li>
<li><b>Mean Density</b>     5.5153 g/cm<sup>3</sup></li>
<li><b>Axial Tilt</b>       23.439281&deg;</li>
</ul>

最后发生的事情是整行的高度是针对上标或下标文本调整的,左边的文本是粗体在此行中垂直居中。这使得粗体文本看起来有点奇怪,因为它似乎漂浮在线的底部稍上方并且未与其他文本对齐。我已经尝试在CSS中创建更大的行高,但这只会使效果更加明显。垂直对齐似乎也没有做任何事情。所以我现在有点想法了。

有人知道如何在一行的底部印上一行(不论行高,下标,上标等)吗?

PS - 我在Chrome 6和Firefox 3.6.9上看过这个,但两者都有,所以我认为这是一个普遍问题,而不是浏览器问题。我还注意到,无论行高如何,文本总是在一条线上垂直居中,所以问题显然就是因为带有上标的文本行比没有文本行的文本占用更多“高度”,因此它的居中不会与其他行排成一行。

1 个答案:

答案 0 :(得分:4)

是的,这是一个普遍的问题;与排版如何运作有关。

没有什么可做的;但是有了边距和填充以及各种其他笨重的东西,你可能会打败这种效果。另一个(特别)脏的黑客是在每一行上添加一些不可见的字符子/上标,使这些行交错,使效果变得不那么明显。

也;

  

有人知道如何在一行的底部印上一行(不论行高,下标,上标等)吗?

这一点没有意义:如果你想要它们在行的底部,不要上标它们!

替代方案:不要使用sub / super;使用真实字符:10²⁴;这些可从U + 2070向外获得;至U + 2094,以及U + B2; U + B3,但根据字体,它们看起来很不稳定。

替代扩展:如果你可以为指数侥幸使用计算机符号(E + 24风格);对于诸如㎢,㎨等(分别为体积和平均重力加速度)之类的东西,有单字符的东西,这些复合材料从U + 3380开始;但同样,他们可能看起来有点不稳定(或根本不存在)。