нижний индекс и верхний индекс для одного и того же элемента - PullRequest
12 голосов
/ 18 сентября 2010

Есть ли способ добавить подстрочный индекс и надстрочный индекс к одному и тому же элементу? Если я сделаю

Sample Text<sub>Sub</sub><sup>Sup</sup>

верхний индекс появляется после нижнего индекса. Одна идея, которая у меня была, это сделать что-то вроде:

<table>
    <tr>
        <td rowspan='2' valign='center'>Sample Text</td>
        <td>Sup</td>
    </tr>
    <tr>
        <td>Sub</td>
    </tr>
</table>

Кажется, что делает работу, но довольно уродливо. Есть идеи получше?

Спасибо!

Ответы [ 4 ]

7 голосов
/ 18 сентября 2010

Я не гуру CSS, но вы можете попробовать что-то вроде http://jsfiddle.net/TKxv8/1/

Есть много жестко закодированных значений, и влияние на другие элементы можно найти только потом, но это хорошоместо для начала.

Sample Text 
<span class='supsub'>
    <sup class='superscript'>Sup</sup>
    <sub class='subscript'>Sub</sub>
</span>

.supsub {position: absolute}
.subscript {color: green; display:block; position:relative; left:2px; top: -5px}
.superscript {color: red; display:block; position:relative; left:2px; top: -5px}
5 голосов
/ 23 июля 2014

Этот метод аналогичен подходу CyberDudes, кроме того, он добавляет отступ для следующего текста в зависимости от ширины sub и sup:

http://jsfiddle.net/jwFec/1/

Some text <span class="supsub"><sup>sup</sup><sub>sub</sub></span> followed by other text.<br />

<style>
.supsub {
    display: inline-block;
}

.supsub sup,
.supsub sub {
    position: relative;
    display: block;
    font-size: .5em;
    line-height: 1.2;
}

.supsub sub {
    top: .3em;
}
</style>
4 голосов
/ 18 сентября 2010

Ну, вы можете указать положение sup относительно правой границы Sample Text.

http://jsfiddle.net/a754h/

2 голосов
/ 10 июня 2013

Вот чистое решение.Создайте два класса CSS:

.nobr {
   white-space: nowrap;
}
.supsub {
   display: inline-block;
   margin: -9em 0;
   vertical-align: -0.55em;
   line-height: 1.35em;
   font-size: 70%;
   text-align: left;
}

Возможно, у вас уже есть класс nobr в качестве замены .Теперь, чтобы выразить молекулярную формулу для сульфата, используйте класс «supsub» следующим образом:

<span class="nobr">SO<span class="supsub">2-<br />4</span></span>

То есть заключите верхний индекс / индекс в класс «supsub» и поместитемежду ними.Если вам нравятся ваши верхние и нижние индексы немного больше или меньше, то отрегулируйте размер шрифта, а затем повозитесь с выравниванием по вертикали и высотой строки.Параметр -9em в полях должен предотвращать добавление верхних индексов / индексов к высоте строки, содержащей их;подойдет любое большое значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...