仅使用 HTML 标记的下标和上标对齐

Subscript and superscript alignment using only HTML markup

使用latex渲染软件可以轻松制作出下图:

特别是上标和下标部分是一个在另一个之上。

是否可以巧妙地使用 <sup><sub> 标记,而仅使用 HTML 4 语法而不使用 CSS 或 MathML 来获得相同的结果?

不,仅使用 HTML.

不可能同时为元素添加下标和上标

不过,使用CSS,还是有解决办法的。如需灵感,请查看 this thread.

编辑: Source.

<sub>

The HTML Subscript Element (<sub>) defines a span of text that should be displayed, for typographic reasons, lower, and often smaller, than the main span of text.

[...]

The <sup> HTML element that produces superscript. Note that you cannot use them both at the same time and you need to use MathML to produce both a superscript and a subscript next to the chemical symbol of an element, representing its atomic number and its nuclear number.

另请注意同一页面中关于 <sub> 的以下评论:

This element should be used for typographical reasons only, i.e. changing the position of the text changing its meaning like in mathematical (like t2, though the use of a MathML formula should be considered) or chemical formulas (like H2O).

您可以尝试这种方式(不是最好的,但可以):

a<sup>2</sup><sub style='position: relative; left: -.5em;'>i</sub>

JSFIDDLE DEMO

补充一下,这并不意味着您可以同时使用下标和上标。它只是一种使用 style 标签创建的幻觉。这会改变并且跨浏览器不可靠。

您只需在 style 属性中添加一个参数即可获得它,尽管 不应再使用内联样式:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Sub and sup inline</title>
</head>

<body>
T<sup>j<sub>1</sub>,...,j<sub>h</sub></sup><sub 
 style="margin-left:-35px">i<sub>1</sub>,...,i<sub>k</sub></sub>
</body>
</html>

(Fiddle)。相反,如果您可以在 head 中使用 style 标记并在 body 中使用 class (推荐),您将通过以下方式获得与上述相同的输出:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Sub and sup class</title>
<style>.fixmargin{margin-left:-35px}</style>
</head>

<body>
T<sup>j<sub>1</sub>,...,j<sub>h</sub></sup><sub 
 class="fixmargin">i<sub>1</sub>,...,i<sub>k</sub></sub>
</body>
</html>

更好:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Sub and sup span</title>
</head>

<body>
T<span style="position:relative">
<span style="position:absolute;left:2px;top:-9px">j<sub>1</sub>,...,j<sub>h</sub></span>
<span style="position:absolute;left:2px;top:8px">i<sub>1</sub>,...,i<sub>k</sub></span>
</span>
</body>
</html>

但是,同样,这可以(并且应该)通过 head 中的 style 标记和 span 中的三个 class 属性来实现。