2014-11-23 4 views
2

Мне нужно, чтобы глиф был вертикально выровнен по тексту. Теперь это больше похоже на то, что оно прикреплено к дну.Как вертикально выравнивать глиф?

Здесь в качестве примера

<a href="#">Zoom</a> 

a { 
    font-family: 'Open Sans', sans-serif; 
    font-weight: 600; 
    font-size: 32px; 
    color: #333; 
    text-decoration: none; 
    text-transform: uppercase; 
} 

a:before { content:"\2039"; } 

и jsFiddle

ответ

2

Это проще всего сделать только с вертикальным выравнивать и фиксированным смещением. Например

a:before { content:"\2039"; vertical-align:0.1em; } 

См http://jsfiddle.net/csh0da6o/3/

+1

The смещение должно зависеть от используемых символов и от используемого шрифта, так как это действительно касается выравнивания * глифов *, и вы не можете ссылаться на метрику глифов в CSS. Однако использование блока 'em' позволяет избежать зависимостей добавления, зависимости на размер шрифта. Здесь '0.1em' действительно является подходящим значением для конкретного контекста. –

+0

Отлично, это решение. – Aley

0

Вы можете применить vertical-align: top к тексту с vertical align: middle на глифе для достижения такого поведения. Регулируя значение line-height глифа, вы можете изменить его смещение.

Вот JsFiddle с глифов выравниваются по центру: http://jsfiddle.net/zephod/csh0da6o/2/

+0

Не работает :(глиф остается на дне. Она должна быть выровнены по вертикали к тексту. – Aley

+0

Работает в Chrome. Не работает в FF или IE. – Alohci

Смежные вопросы