2013-02-16 13 views
7

Sto provando ad usare la versione "più leggera" del mio font, ma in firefox e chrome appare ancora come " normale "peso.Perché "più leggero" @ font-face appare ancora come il peso "normale" @ font-face

Ecco il mio font.css:

@font-face { 
font-family: Avenir; 
font-weight: normal; 
src: url("AvenirLTStd-Medium.otf") format("opentype"); 
} 

@font-face { 
font-family: Avenir; 
font-weight: bold; 
src: url("AvenirLTStd-Black.otf") format("opentype"); 
} 

@font-face { 
font-family: Avenir; 
font-weight: lighter; 
src: url("12-Avenir-Light.ttf") format("opentype"); 
} 

Ecco quello che sto usando per attivare la "leggera" peso sul H2 in #home:

body { 
    background: none repeat scroll 0 0 #DADAD2; 
    font-family: 'Avenir',sans-serif; 
    font-weight: normal; 
} 

#home .six.columns h2 { 
    color: #FAFAFA; 
    display: block; 
    font-size: 1.8em; 
    font-weight: lighter; 
    letter-spacing: 0.3em; 
    margin-top: 25%; 
    text-align: center; 
} 

si può vedere ciò che Parliamo di qui (passa il mouse su una delle immagini del prodotto):

https://fine-grain-2.myshopify.com/

+0

La modifica del valore 'font-peso a una delle' 500', '600',' 700', '800',' 900', e 'grassetto 'cambia decisamente il testo. Tutti gli altri valori appaiono come "normali". Non sto dicendo che è * corretto *; Sto solo aggiungendo qualche dettaglio in più. –

+0

@ JamesA.Rosen Stai parlando sul mio sito web? So che è davvero strano perché il valore "più leggero" dovrebbe cambiare il testo alla variazione più sottile dei caratteri. – novicePrgrmr

+0

Sono d'accordo. Stavo confermando e aggiungendo qualche dettaglio in più nella speranza che potesse essere utile a qualcun altro. –

risposta

5

Ho trovato un piccolo trucco che distingue tra pesi più chiari e normali.

Ho appena cambiato la mia Avenir accendino @font-face da:

@font-face { 
    font-family: Avenir; 
    font-weight: lighter; 
    src: url("12-Avenir-Light.ttf") format("opentype"); 
} 

a:

@font-face { 
    font-family: AvenirLight; 
    font-weight: normal; 
    src: url("12-Avenir-Light.ttf") format("opentype"); 
} 

Per qualche motivo è stato con il più "leggero" spessore del carattere per normal e lighter. Dopo che ho fatto questo cambiamento l'normal Avenir iniziato a utilizzare il vero peso normale, e quando voglio utilizzare il peso lighter mi basta cambiare il font-family per AvenirLight

+2

Questo è un trucco che potrebbe essere necessario utilizzare per ottenere caratteri leggeri, a seconda della famiglia di caratteri e del browser. State dichiarando efficacemente un carattere tipografico come se fosse una famiglia di caratteri (e usate un carattere tipografico "normale" di quella "famiglia"). FontSquirrel lo fa sempre nel suo generatore di font. Prendi in considerazione di segnalarlo al venditore di font; le cause di questo problema sono oscure e potrebbero dipendere dal formato del file dei font. In ogni caso, quando provi ad usare 'font-weight', usa il valore numerico dato dal venditore di font, non la relativa parola chiave' lighter'. –

+0

Ok, è molto bello saperlo. Grazie per l'aiuto! – novicePrgrmr

+1

ha un peso font: 100 non funziona? – Lane

3

font-weight: lighter sta dicendo al browser di utilizzare un tipo di carattere più leggero di un modo di pensare peso. Quindi se un elemento genitore ha font-weight: bold ed è figlio ha font-weight: lighter - il bambino avrà un peso regolare (cioè più leggero che in grassetto). "leggera" è non sinonimo di un font-weight di 100.

@font-face viene utilizzato per definire i font, così termini come 'audace' e 'leggero' non hanno alcun significato. È necessario utilizzare valori numerici per definire i caratteri e le parole chiave più chiare/in grassetto quando si desidera utilizzare i caratteri.

8

Se si desidera mantenere il font-family coerente, in questo caso 'Avenir' e non 'Avenir-luce' è possibile utilizzare la seguente sintassi:

@font-face { 
    font-family: Avenir; 
    font-weight: 100; 
    src: url("12-Avenir-Light.ttf") format("opentype"); 
} 

Questa sintassi permette di mantenere il carattere -family nome coerente e il peso normale verrà visualizzato correttamente. Il CSS per l'elemento di destinazione sarebbe allora:

.targetElement{ 
    font-family: Avenir; 
    font-weight: lighter; 
} 
+0

Grazie, questa soluzione è più coerente. –

+0

Questa dovrebbe essere la soluzione accettata –

Problemi correlati