Chcę używać czcionki Google Roboto na mojej stronie i postępuję zgodnie z tym samouczkiem:
http://www.maketecheasier.com/use-google-roboto-font-everywhere/2012/03/15
Pobrałem plik, który ma taką strukturę folderów:
Teraz mam trzy pytania:
- Mam css w swoim
media/css/main.css
url. Więc gdzie mam umieścić ten folder? - Czy muszę wyodrębnić wszystkie pliki eot, svg itp. Ze wszystkich podfolderów i umieścić w
fonts
folderze? - Czy muszę utworzyć plik css fonts.css i dołączyć go do podstawowego pliku szablonu?
Przykład, którego używa
@font-face {
font-family: 'Roboto';
src: url('Roboto-ThinItalic-webfont.eot');
src: url('Roboto-ThinItalic-webfont.eot?#iefix') format('embedded-opentype'),
url('Roboto-ThinItalic-webfont.woff') format('woff'),
url('Roboto-ThinItalic-webfont.ttf') format('truetype'),
url('Roboto-ThinItalic-webfont.svg#RobotoThinItalic') format('svg'); (under the Apache Software License).
font-weight: 200;
font-style: italic;
}
Jak powinien wyglądać mój adres, jeśli chcę mieć strukturę dir:
/media/fonts/roboto
font-family
: w rzeczywistości używają tylko 3 rodzin czcionek (Roboto, Roboto Condensed i Roboto Slab) wszystkie inne warianty Roboto są wprowadzane za pośrednictwemfont-style
ifont-weight
zmian CSS. Idealnie więc po umieszczeniu Google<link>
sprawdź, czy czcionki naprawdę tam są. Jeśli nie, użyj własnego (przy czym ładowanie wszystkich plików z jednej rodziny czcionek zwykle nie przekracza 0,5 MB).<link href='http://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700,700italic,900italic,900' rel='stylesheet' type='text/css'>
Spowoduje to wczytanie wszystkich stylów tylko z jednej rodziny czcionek: Roboto. Jeśli jednak potrzebujesz rodziny czcionek spoza Google Fonts (na przykład Roboto Black ), potrzebujesz plików w swoich folderach i skopiuj przykładowy kod, który pokazałeś nam w swoim pytaniu, do swojego main.css (w ten sposób@font-face{font-family: 'Roboto Black';src:url('/media/fonts/roboto/roboto_black_macroman/blablabla.eot; ...etc.
lub jak zasugerowałem w moja odpowiedź).Using Google's fonts this way guaranties availability
. Nic „nie gwarantuje dostępności”, a tym bardziej czcionki Google. Tak się składa, że jestem jednym z miliardów + ludzi, dla których korzystanie z CDN Google oznacza, że mnóstwo stron internetowych nie ładuje się poprawnie lub wcale. Nie mówię nikomu, co ma robić, ale nie sądzę, że CDN Google jest idealnym rozwiązaniem.Istnieją DWIE podejścia , które możesz zastosować, aby używać licencjonowanych czcionek internetowych na swoich stronach:
Usługi hostingu czcionek, takie jak Typekit, Fonts.com, Fontdeck itp., Zapewniają projektantom łatwy interfejs do zarządzania zakupionymi czcionkami i generowania łącza do dynamicznego pliku CSS lub JavaScript, który obsługuje czcionkę. Google nawet udostępnia tę usługę za darmo ( tutaj jest przykład żądanej czcionki Roboto). Typekit to jedyna usługa zapewniająca dodatkowe podpowiedzi do czcionek, aby zapewnić, że czcionki zajmują te same piksele w przeglądarkach.
Moduły ładujące czcionki JS, takie jak ten używany przez Google i Typekit (tj. Moduł ładujący WebFont), zapewniają klasy CSS i wywołania zwrotne, które pomagają zarządzać FOUT, która może wystąpić, lub przekroczeniem limitu czasu odpowiedzi podczas pobierania czcionki.
Podejście zrób to sam polega na uzyskaniu licencji na czcionkę do użytku w Internecie i (opcjonalnie) użyciu narzędzia takiego jak generator FontSquirrel (lub jakieś oprogramowanie) w celu optymalizacji rozmiaru pliku. Następnie
@font-face
do włączenia czcionek używana jest implementacja standardowej właściwości CSS w różnych przeglądarkach .Takie podejście może zapewnić lepszą wydajność ładowania, ponieważ masz bardziej szczegółową kontrolę nad znakami do uwzględnienia, a tym samym nad rozmiarem pliku.
Krótko mówiąc:
Korzystanie z usług hostingu czcionek wraz z deklaracją @ font-face daje najlepsze wyniki pod względem ogólnej wydajności, zgodności i dostępności.
Źródło: https://www.artzstudio.com/2012/02/web-font-performance- Weighting-fontface-options- and- alternatives/
AKTUALIZACJA
Roboto: czcionka podpisu Google jest teraz open source
Możesz teraz ręcznie generować czcionki Roboto, korzystając z instrukcji, które można znaleźć tutaj .
źródło
Wiem, stary post.
Jest to również możliwe za pomocą CSS
@import url
:źródło
src
Odnosi się bezpośrednio do plików czcionek, więc jeśli umieścić je wszystkie/media/fonts/roboto
należy odnieść się do nich w swoim main.css tak:src: url('../fonts/roboto/Roboto-ThinItalic-webfont.eot');
..
Idzie jeden folder w górę, co oznacza, że jesteś odnosząc się domedia
folderu, jeśli main.css znajduje się w/media/css
folderze.Musisz użyć
../fonts/roboto/
we wszystkich odwołaniach do adresów URL w CSS (i upewnij się, że pliki znajdują się w tym folderze, a nie w podkatalogach, takich jakroboto_black_macroman
).Zasadniczo (odpowiadając na twoje pytania):
Możesz go tam zostawić, ale pamiętaj, aby użyć
src: url('../fonts/roboto/
Jeśli chcesz bezpośrednio odnosić się do tych plików (bez umieszczania podkatalogów w swoim kodzie CSS), to tak.
Niekoniecznie, możesz po prostu umieścić ten kod w swoim pliku main.css. Ale dobrą praktyką jest oddzielenie czcionek od dostosowanego kodu CSS.
Oto przykład pliku czcionek LESS / CSS, którego używam:
(W tym przykładzie używam tylko ttf) Następnie używam
@import "fonts";
w moim pliku main.less ( less jest preprocesorem CSS, to sprawia, że takie rzeczy są trochę łatwiejsze )źródło
Oto, co zrobiłem, aby uzyskać pliki woff2, które chciałem do wdrożenia statycznego, bez konieczności korzystania z CDN
TYMCZASOWO dodaj cdn dla css, aby załadować czcionki roboto do pliku index.html i pozwolić załadować się stronie. z narzędzi Google dla deweloperów przejrzyj źródła i rozwiń węzeł fonts.googleapis.com oraz wyświetl zawartość css? family = Roboto: 300,400,500 & display = swap file i skopiuj zawartość. Umieść tę zawartość w pliku css w katalogu zasobów.
W pliku css usuń wszystkie elementy greckie, crylliczne i wietnamskie.
Spójrz na wiersze w tym pliku css, które są podobne do:
skopiuj adres linku i wklej go w przeglądarce, pobierze czcionkę. Umieść tę czcionkę w folderze zasobów i zmień jej nazwę tutaj, a także w pliku css. Zrób to do innych linków, miałem 6 unikalnych plików woff2.
Wykonałem te same kroki dla ikon materialnych.
Teraz wróć i skomentuj wiersz, w którym wywołujesz cdn, i zamiast tego użyj nowego utworzonego pliku css.
źródło
Spróbuj tego
źródło
Użyj / fonts / lub / font / przed nazwą typu czcionki w arkuszu stylów CSS. Napotykam ten błąd, ale po tym działa dobrze.
źródło
W przypadku witryny internetowej możesz użyć czcionki `` Roboto '', jak poniżej:
Jeśli utworzyłeś osobny plik css, umieść poniższy wiersz na górze pliku css jako:
Lub jeśli nie chcesz tworzyć oddzielnego pliku, dodaj powyższą linię pomiędzy
<style>...</style>
:następnie:
źródło
Czy przeczytałeś How_To_Use_Webfonts.html znajdujący się w tym pliku zip?
Po przeczytaniu wydaje się, że każdy podfolder czcionek ma już utworzony plik .css, którego możesz użyć, dołączając to:
źródło
To jest łatwe
każdy pobrany folder ma inny rodzaj czcionki roboto, co oznacza, że są to różne czcionki
przykład: „roboto_regular_macroman”
aby użyć któregokolwiek z nich:
1- wyodrębnij folder czcionki, której chcesz użyć
2- Prześlij go obok pliku css
3- Teraz dołącz go do pliku css
przykład włączenia czcionki o nazwie „roboto_regular_macroman”:
uważaj na ścieżkę plików, tutaj wgrałem folder o nazwie "roboto_regular_macroman" w tym samym folderze, w którym znajduje się css
możesz teraz po prostu użyć czcionki, wpisując
font-family: 'Roboto';
źródło
To całkiem proste. Przejdź do czcionki w witrynie Google i dodaj jej łącze do nagłówka każdej strony, na której chcesz umieścić czcionkę.
źródło
Spędziłem godzinę, naprawiając problemy z czcionkami.
Powiązana odpowiedź - poniżej dotyczy
React.js
witryny internetowej:Zainstaluj moduł npm:
npm install --save typeface-roboto-mono
zaimportuj do pliku .js, którego chcesz użyć
jednego z poniższych :
import "typeface-roboto-mono";
// jeśli import jest obsługiwanyrequire('typeface-roboto-mono')
// jeśli import nie jest obsługiwanyDla elementu możesz użyć
jednego z poniższych:
fontFamily: "Roboto Mono, Menlo, Monaco, Courier, monospace", // material-ui
font-family: Roboto Mono, Menlo, Monaco, Courier, monospace; /* css */
style="font-family:Roboto Mono, Menlo, Monaco, Courier, monospace;font-weight:300;" /*inline css*/
Mam nadzieję, że to pomoże.
źródło