2012-04-22 5 views
9

Ich habe Probleme mit meinem Kunden benutzerdefinierte Schriftart Gesicht, das in IE8 zu zeigen. Es zeigt sich in IE 9 & 7, und Chrome obv. Ich bin nicht sicher, warum diese eine Version von IE Ärger verursachen würde. Hier ist meine Aussage in meinem htmlKann bekommen nicht @ font-face mit dem Internet Explorer 8

<!--[if IE 8]> 
    <link rel="stylesheet" type="text/css" href="../styles/ie/cherokee_ie.css" /> 
    <![endif]--> 

Und hier ist die cherokee_ie.css Datei

@font-face { 
font-family: 'cherokee'; 
src: url('../../custom.eot'); 
src: url('../../custom.eot') format('embedded-opentype'), 
src: local('☺'), url('../../font/custom.woff') format('woff'), url('../../font/custom.ttf')    format('truetype'), url('../../font/custom.svg') format('svg'); 
font-weight: normal; 
font-style: normal; 
} 

h1 ul li { 
    font-family:cherokee; 
} 

Ich bin nicht wirklich sicher sind, was das Smiley-Gesicht auf src: local tut, aber ich fand dieser Code in einem anderen SO Frage, die es funktioniert perfekt in IE7 gemacht (oder zumindest so weit, wie ich durch BrowserLab sehen kann.)

Außerdem gibt es einen schnelleren Weg Ansichten als BrowserLab zu generieren?

+2

Wie für den Smiley: es stoppt Internet Explorer den Rest dieses Werts aus dem Lesen und versuchen, die anderen Arten von Schriftart zu verwenden und ihrem 'Format()' s, die er nicht unterstützt. – Ryan

+0

Oh, ordentlich. Ich wusste nicht, dass du das tun kannst. Ist das speziell für dieses Sonderzeichen, oder kannst du das mit einem leeren Zeichen machen? –

+2

Alles wird funktionieren - der Trick ist, dass IE 'local()' überhaupt nicht unterstützt. Der Grund, warum ungewöhnliche Zeichen verwendet werden, besteht darin, den Zugriff auf tatsächliche lokale Zeichensätze zu verhindern, was manchmal zu Sicherheitsproblemen führen kann. [Dieser Artikel] (http://paulirish.com/2009/bulletproof-font-face-implementation-syntax/) enthält weitere Informationen. – Ryan

Antwort

4

Entfernen Sie den IE Bedingte und setzen diese in Ihrem CSS

@font-face { 
    font-family: 'cherokee'; 
    src: url('../../custom.eot'); 
    src: url('../../custom.eot?#iefix') format('embedded-opentype'), 
     url('../../font/custom.woff') format('woff'), 
     url('../../font/custom.ttf') format('truetype'), 
     url('../../font/custom.svg#cherokee') format('svg'); 
    font-weight: normal; 
    font-style: normal; 

} 

auch '...' für individuelle font-face Schriftarten wie so

h1 ul li { 
    font: 18px/27px 'cherokee', Arial, sans-serif; 
} 

Prüfen Sie auch, ob Ihre Pfade gesetzt korrekt.

Verwandte Themen