индекс и Надстрочный индекс для одного и того же элемента
есть ли способ добавить как subscript, так и superscript к одному и тому же элементу? Если я это сделаю
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 ответов
Я не гуру 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}
Это похоже на подход CyberDudes, кроме того, он отступает следующий текст в зависимости от ширины sub и sup:
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>
вот чистое решение. Создайте два класса 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" в качестве замены
<span class="nobr">SO<span class="supsub">2-<br />4</span></span>
то есть заключите свой Надстрочный/подстрочный индекс в класс "supsub" и поместите между ними
. Если вам нравятся ваши надписи / индексы немного больше или меньше, настройте размер шрифта, а затем поработайте с вертикальным выравниванием и высота строки. Параметр-9em в поле должен удерживать надписи / индексы от добавления к высоте строки, содержащей их; Любое большое значение будет делать.