Jak dołączyć czcionkę .ttf za pomocą CSS?


120

Mam problem z kodem. Ponieważ chcę dołączyć globalną czcionkę do mojej strony i pobrałem plik .ttf. Umieszczam to w moim głównym CSS, ale moja czcionka się nie zmieni.

Oto mój prosty kod:

@font-face {
    font-family: 'oswald';
    src: url('/font/oswald.regular.ttf');
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    font-size:100%;
    font:inherit;
    font-family: oswald;
    vertical-align:baseline
} 

Nie wiem, gdzie popełniłem błąd. czy możesz mi z tym pomóc? Dzięki.


1
Czy możesz sprawdzić kartę Sieć w konsoli przeglądarki, aby upewnić się, że czcionka została poprawnie załadowana?
rink.attendant 6


1
Czy na pewno poprawnie wpisałeś nazwę pliku czcionki? Nie powinno być oswald.regular.ttf?

1
Tak, dwukrotnie sprawdziłem nazwę mojej czcionki
Jerielle,

5
@Jerielle Masz więc czcionkę TTF z rozszerzeniem tff? Czy naprawdę jesteś tego pewien?

Odpowiedzi:


174

Samo dostarczenie pliku .ttf dla czcionek internetowych nie wystarczy do obsługi różnych przeglądarek. Obecnie najlepszą możliwą kombinacją jest użycie kombinacji jako:

@font-face {
  font-family: 'MyWebFont';
  src: url('webfont.eot'); /* IE9 Compat Modes */
  src: url('webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('webfont.woff') format('woff'), /* Modern Browsers */
       url('webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
       url('webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
}

Ten kod zakłada, że ​​masz czcionki internetowe w formacie .eot, .woff, .ttf i svg. Aby zautomatyzować cały ten proces, możesz skorzystać z: Transfonter.org .

Ponadto nowoczesne przeglądarki kierują się w stronę czcionki .woff, więc prawdopodobnie możesz to zrobić:

@font-face {
  font-family: 'MyWebFont';
  src: url('myfont.woff') format('woff'), /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
   url('myfont.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5, Opera 10+, Safari 3—5 */
}  

Przeczytaj więcej tutaj: http://css-tricks.com/snippets/css/using-font-face/


Poszukaj obsługi przeglądarki: Czy mogę użyć czcionki


a jeśli używasz GFonts, sprawdź stackoverflow.com/a/30585464/1727470
Samy Bencherif,

1
Dla takich jak ja, którzy łatwo się mylą - ścieżki są z ukośnikamiurl('path/to/font.woff')
wunth

Wystąpił problem z komentarzami w regule kroju czcionki. Przeniesienie komentarzy na koniec reguły rozwiązało problem.
Eric D'Souza

Okazało się, że czcionka, dla której chciałem wygenerować czcionkę internetową, znajduje się na czarnej liście Font Squirrel. Jednak transfonter.org działał dla mnie.
HotN

Miałem też kłopoty z Font Squirrel. sukces z font-converter.net
Peter Hayman


14

Możesz użyć kroju czcionki w następujący sposób:

@font-face {
  font-family:"Name-Of-Font";
  src: url("yourfont.ttf") format("truetype");
}

3

Wiem, że to stary post, ale to rozwiązało mój problem.

@font-face{
  font-family: "Font Name";
  src: url("../fonts/font-name.ttf") format("truetype");
}

zauważ, src:url("../fonts/font-name.ttf");że używamy dwóch kropek, aby wrócić do katalogu głównego, a następnie do folderu czcionek lub do dowolnego miejsca, w którym znajduje się plik.

mam nadzieję, że to pomoże komuś zepsuć :) miłego kodowania

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.