2015-02-25 4 views
1

Я пытаюсь вертикально выравнивать значки шрифтов. Я попробовал «vertical-align: middle», но я всегда получаю небольшую разницу в выравнивании. В следующем примере есть два разных способа использования значков, и они не выровнены правильно.Как вертикально выравнивать значок шрифта

Пример на Jsfiddle: https://jsfiddle.net/crphowLg/7/

<link rel="stylesheet" type="text/css" href="https://fontastic.s3.amazonaws.com/PxvnwqrSXE7pXNDNDqGp4i/icons.css"> 
<style> 
div { 
    font-size: 50px; 
    font-family: helvetica,arial,sans-serif; 
    text-transform: uppercase; 
    background: yellow; 
} 
.cart { 
    margin-top: 20px; 
} 
.cart:before { 
    font-family: "fanatic-icons" !important; 
    font-weight: normal; 
    content: "b"; 
    margin-right: 5px; 
    vertical-align: middle; 
    text-transform: none; 
} 
</style> 

<div> 
<span class="icon icon-shopping-cart"></span> 
    Shopping Cart 
</div> 

<div class="cart"> 
    Shopping Cart 
</div> 

example

+0

Можете ли вы предоставить JSFiddle? – WonkierSteam9

+0

'vertical-align: middle; display: inline-block'? – Morpheus

+0

Какой знаковый шрифт вы используете? Пожалуйста, поделитесь ссылками –

ответ

2

Вы можете попробовать vertical-align: text-bottom или vertical-align: text-top, в зависимости от который, по вашему мнению, более вертикально центрирован.

Для вашей корзины значок, кажется text-top является наиболее вертикально центрированным.

Пример по адресу: https://jsfiddle.net/p3g189bg/

+0

Я пытался использовать дно вместо text-botton. Большое спасибо. – retroriff

0

Вы можете попробовать vertical-align:middle;

или line-height:1;

или используя padding свойство можно задать положение значка

пример использования vertical:middle; имущества расслоения плотной скрипки: http://jsfiddle.net/vrcarwrj/

+0

Я уже пытался вертикальной Align: https://jsfiddle.net/crphowLg/7/ – retroriff

0

Попробуйте использовать line-height атрибут

Вы можете установить его в 0.5,1,1.5 и т.д.

0

В качестве альтернативы выше, с использованием методы пяди элемента вы описываете, вы могли бы относительно поместите тег span относительно его родительского элемента div.

Как:

div{ 
position: relative; 
}  
span.icon-shopping-cart{ 
position: relative; 
top: 5px; 
} 
0

Вы можете попробовать использовать valign: middle

и/или затем установив line-height в 1px, 1,5 пикселя и т.д.

+0

Я уже пробовал: https: // jsfiddle.net/crphowLg/7/ – retroriff