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

时间:2015-05-30 18:12:36

标签: html latex html4

使用乳胶渲染软件可以轻松生成以下图片:

Tensors, from Wikipedia!

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

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

3 个答案:

答案 0 :(得分:2)

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

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

<强> JSFIDDLE DEMO

只是补充一点,这并不意味着您可以同时使用下标和上标。它只是一种使用样式标签创建的幻觉。这将改变并且在浏览器之间不可靠。

答案 1 :(得分:1)

不,只能使用HTML同时拥有元素的子标题和上标。

然而,使用CSS,有解决方案。如需灵感,请查看this thread

修改: Source.

  

<强> <sub>

     

HTML下标元素<sub>)定义了一个文本范围,由于排版原因,应该显示的文本范围比文本的主要范围更低,通常更小。

     

[...]

     

生成上标的<sup> HTML元素。请注意,你不能   同时使用它们,您需要使用MathML来生成   化学符号旁边的上标和下标   元素,代表其原子序数及其核数。

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

  

此元素仅用于印刷原因,即   改变文本的位置改变其含义,如   数学(如t2,尽管应该使用MathML公式)   考虑到)或化学式(如H2O)。

答案 2 :(得分:0)

尽管{strong>不应再使用内联样式,

style

Fiddle)。相反,如果可以在<!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> 中使用style标签,而在head中使用class(建议),则可以得到与上述相同的输出:

body

更好:

<!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> 中的style标签和head s中的三个class属性来实现。