На следующей странице HTML у меня есть div, который содержит два диапазона (span1
и span2
), второй из которых содержит подпанель, span2a
.span1
содержит текст, как и span2a
.При такой настройке вертикальное выравнивание текста отличается, и я не могу понять, почему.
Чтобы усложнить ситуацию, существуют атрибуты стиля в span2
и span2a
.Я не контролирую их, поскольку они внедряются во время выполнения плагином цикла jQuery.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test</title>
<style type="text/css">
body {margin: 0; padding: 0; font-family: arial; color: black;}
.container { height: 30px; text-align: left; padding: 8px 15px 0 15px; background-color: #fee; border: 1px solid red;}
.ticker { font-size: 12px; font-weight: bold; padding-top: 4px; float: left;}
.ticker > span:first-child { background-color: #bfb; }
.tickerscroll { display: inline-block; background-color: #bbf; }
</style>
</head>
<body>
<div class="container">
<div class="ticker">
<span class="span1">LABEL: </span>
<span class="span2 tickerscroll" style="position: relative; width: 480px; height: 15px; overflow-x: hidden; overflow-y: hidden; ">
<span class="span2a" style="position: absolute; top: 0px; opacity: 1; z-index: 3; left: 0px; ">The value (in a sub-span; note that Label is lower then this text)</span>
</span>
</div>
</div>
<div class="container">
<div class="ticker">
<span class="span1">LABEL: </span>
<span class="span2 tickerscroll" style="position: relative; width: 480px; height: 15px; ">
<span class="span2a" style="position: absolute; top: 0px; left: 0px; ">The value (this time, I've added a &nbsp; outside this inner span)</span>
</span>
</div>
</div>
<div class="container">
<div class="ticker">
<span class="span1">LABEL: </span>
<span class="span2 tickerscroll" style="position: relative; width: 480px; height: 15px; ">
The value (this time, the inner span span2a is not present at all)
</span>
</div>
</div>
</body>
</html>
Как вы можете видеть из моего кода, я добавил два варианта, которые "исправляют" проблему:
- Добавьте некоторый текст (любой текст, в моем случае я добавил неразрывный пробел) внутри
span2
вне span2a
. - Удалите подпунктspan в целом, и иметь текст только внутри второго диапазона верхнего уровня.Тем не менее, это не вариант для меня, так как наличие span2a требуется, чтобы заставить jQuery работать на велосипеде.
Есть ли способ сделать два фрагмента текста выровненными одинаково, не имеяискусственно бросить в span2
?Решение не может изменить атрибуты стиля любого из элементов span, но при необходимости может добавить классы CSS.