Как уже ранее сказал, вертикальное выравнивание не поддерживается действительно на что-либо, что не является ячейка таблицы.
Но если вы просто пытаетесь центрировать одну строку текста, вы можете использовать line-height
. Если вы установите line-height
так же, как и height
элемента, и удалите все отступы, тогда текст будет отображаться в середине элемента, точно так же, как если бы он был выровнен по вертикали.
Так что на вашем примере следующий будет работать (если вы удалите стили по умолчанию первый):
line-height:28px;
height:28px;
padding:0px;
Но если текст обтекает более чем одной линии это решение не будет работать, то текст будет внезапно становятся очень разнесенными.
Для более общего решения лучше всего использовать javascript для динамической разработки отступов, требуемых для конкретного элемента.
http://jsfiddle.net/PZ5AZ/1/. Очистить свой код никогда не бывает плохо. – 2010-11-25 08:40:41