Seit den Problemen, die durch die Verwendung von Cufon verursacht wurden, habe ich mich von der Verwendung externer Schriftartressourcen abgewandt. In letzter Zeit habe ich nach alternativen Methoden zum Laden von Schriftarten gesucht, um festzustellen , ob es einen besseren Weg gibt. Bessere Methoden können einfach aus heiterem Himmel erscheinen.
Es gibt viele neue Methoden und Variationen für jede Methode, wie es scheint; Soll ich typekit verwenden ? oder Google Webfonts (mit JS oder CSS)? sollte ich weiterhin lokal geladene Schriftarten verwenden (z. B. die von fontsquirrel.com generierte Methode)?
Ich werde im Folgenden mit einigen Tests die Methoden auflisten, die am besten ankommen, aber lohnt es sich wirklich, zu einem Webfont zu wechseln? Es scheint, als würde es eine höhere Ressourcenlast (http-Anforderungen) und weniger Dateiformattypen (weniger Kompatibilität) usw. aufweisen. Es sieht jedoch so aus, als würden Dateien in den meisten Fällen asynchron und effizient geladen.
- Ist es nur eine Frage der Situation und der Notwendigkeit? Wenn ja, was sind sie?
- Gibt es drastische Unterschiede zwischen diesen Methoden?
- Gibt es eine bessere Methode, die ich nicht aufgelistet habe?
- Was sind die Vor- und Nachteile für die Leistung? Aussehen? Abhängigkeiten? Kompatibilitäten?
Ich bin hier wirklich auf der Suche nach Best Practices. Leistung ist eine große Sache, aber auch Skalierbarkeit und Benutzerfreundlichkeit. Ganz zu schweigen von Aussehen und Gefühl.
Google CSS
- verwendet nur externes Stylesheet
- verwendet nur den kleinsten kompatiblen Dateityp
- Sie können den Inhalt von styleshee ( ) verwenden
@import
oder verwenden und ihn direkt in Ihr eigenes Stylesheet einfügen.<link>
@font-face
Testergebnisse
78ms load of html 36ms load of css
Google JS-Methode
- wird
webfont.js
zum Laden von Styleshet verwendet - verwendet nur den kleinsten kompatiblen Dateityp
- Hängt das
:root
Element an die Klasse an - fügt dem Kopf ein Skript hinzu.
Testergebnisse
171ms load of html 176ms load of js 32ms load of css
Typekit-Methode
- Hängt das
:root
Element an die Klasse an. - kann
*.js
Snippet oder extern geladene Datei*.js
verwenden - verwendet
data:font/opentype
anstelle von Schriftdatei. - fügt dem Kopf ein Skript hinzu
- Fügt dem Kopf eingebettetes CSS hinzu
Fügt dem Kopf ein externes Stylesheet hinzu
Sie können auf typekit.com ganz einfach Schriftarten und gezielte Selektoren hinzufügen / entfernen / anpassen
Testergebnisse
169ms load of html 213ms load of js 31ms load of css 3ms load of data:font/
… & Die Font Squirrel Methode
@font-face{
font-weight:400;
font-style:normal;
font-family:open_sanslight;
src:url(../font/opensans-light-webfont.eot);
src:url(../font/opensans-light-webfont.eot?#iefix) format(embedded-opentype),
url(../font/opensans-light-webfont.woff) format(woff),
url(../font/opensans-light-webfont.ttf) format(truetype),
url(../font/opensans-light-webfont.svg#open_sanslight) format(svg)
}
… Oder mit Daten: Schriftartmethode…
@font-face {
font-family: 'open_sanslight';
src: url('opensans-light-webfont-f.eot');
}
@font-face {
font-family: 'open_sanslight';
src: url(data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAF4sABMAAAAArXQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABqAAAABwAAAAcZLn0KkqwK44Jq866WBSpzpsNY2IyGAhoJFBbYjuxmyns5sNa4NwldcJ7eh3Uy5gQkURIlqWzONe3HcLsDX1x/+jifDXvbzgTBjopZElndil3hJkERJkmRJkVRJk3TJkEzJkmzOc4HLXOEOF7nEX/*thisisnotafullencodingjustanexample*/bZwUnK4yS3JlTx2Sr4USKEUSbHVX9fcGNBs4fqgw+GoNHU7lKr36Eqn0lCWt6pHFpWaUlc6lS6loSxRlirLlP/uuU01dVfT7L6gPxyqraluCpgj3WtqeC1V4VBDW2N4K1r1esw/IupKp9L1FwlqnuIAAAB42j3NvQ7BUBjG8R5tTz/0u2UjNTTESYQbMGmXLiISbeI6zBYjbuWtye7CeMJxtuf3LP8ne1+IXbWa7G3TMXZru4qLZkJRW1O2wzi3I+Li2Gik5yXpYkNGXj70YU98YQLGHxwwXxIWwO8SNmAdJBzAXku4gFNI9AF38QMjTwZ9vN6yJzq9OoEB6I8VQzDYK0ZguFKMwWiumIDxTDEFk6liBqaF4gDMFFvKxAfOxFUGAAABUxSL9gAA) format('woff'),
url('opensans-light-webfont-f.ttf') format('truetype'),
url('opensans-light-webfont-f.svg#open_sanslight') format('svg');
font-weight: normal;
font-style: normal;
}
<link href='http://fonts.googleapis.com/css?family=Open+Sans:300' rel='stylesheet'>
Georgian
Webfonts. Ich verwende die Font-Squirrel-Methode und würde auch gerne eine gute Antwort auf diese Frage sehen.
@font-face
Erklärungen deklariert . Vielleicht finden Sie nützliche Informationen. paulirish.com/2009/bulletproof-font-face-implementation-syntax