2015-06-13 21 views
5

Voglio impilare i due caratteri impressionanti icone fa-stella e fa-stelle-metà, ma sto avendo problemi di allineamento. Vedi immagine qui sotto:Stacking Font-impressionanti Star Icons (FA stelle e fa-star-metà)

Attempt to stack fa-star and fa-star-half fails due to alignment of icons

Ecco il mio HTML:

<span class="fa-stack"> 
    <i class="fa fa-fw fa-lg fa-star-half fa-stack-1x"></i> 
    <i class="fa fa-fw fa-lg fa-star fa-stack-1x"></i> 
</span> 

... e il mio CSS:

a-stack i.fa-star { 
    color:transparent; 
    -webkit-text-stroke-width: 1px; 
    -webkit-text-stroke-color: orange; 
} 

.fa-stack i.fa-star-half { 
    color:yellow; 
    -webkit-text-stroke-width: 1px; 
    -webkit-text-stroke-color: orange; 
} 

Nota che faccio non desidera utilizzare fa-star-half-o che ha un design sgradevole quando viene utilizzato con un contorno.

Ho provato a utilizzare "float", ma senza successo. Se utilizzo "margin-left", la spaziatura è disattivata. Vedi immagine qui sotto:

enter image description here

Ogni aiuto è apprezzato. Grazie!

Jesse

+1

Funzionante bene per me https://jsfiddle.net/f63h157x/ – lmgonzalves

+0

Non vuole che assomigli all'immagine – TheOnlyError

risposta

3

Utilizza il seguente margin-left per allineare l'immagine. Check it out qui: https://jsfiddle.net/f63h157x/1/

enter image description here

.fa-stack i.fa-star-half { 
    color:yellow; 
    -webkit-text-stroke-width: 1px; 
    -webkit-text-stroke-color: orange; 
    margin-left: -5px; 
} 
+0

Grazie a @TheOnlyError! Il problema che ho incontrato con "margin-left" è che la spaziatura relativa al testo circostante (o, nel mio caso, ad altre stelle) è disattivata. Ho aggiornato la mia descrizione del problema per includere un'immagine. Hai qualche idea su come risolvere il problema? Grazie ancora! – Jesse

+0

Appena realizzato che l'errore di spaziatura è dovuto alla formattazione di ".fa-stack" piuttosto che "margin-left". Grazie per aver risolto questo problema - sembra che ne abbia un altro con cui occuparmi ora! – Jesse

+0

Haha, no problemo :) – TheOnlyError

0

Penso che tutto quello che dovete fare è applicare un text-align: left; ad entrambe le <i /> elementi e dovrebbe allineare correttamente senza bisogno di usare margin-left: 5px;

0

One soluzione valida è quella di utilizzare fa-star-half-o anziché fa-star-half.

<span class="fa-stack"> 
    <i class="fa fa-fw fa-lg fa-star-half-o fa-stack-1x"></i> 
    <i class="fa fa-fw fa-lg fa-star fa-stack-1x"></i> 
</span> 

In questo modo la larghezza della mezza stella è la stessa come la larghezza di stelle pieno, e le icone si stack up. Non sono richiesti margini personalizzati.