Quiero usar la fuente Roboto de Google en mi sitio web y estoy siguiendo este tutorial:
http://www.maketecheasier.com/use-google-roboto-font-everywhere/2012/03/15
He descargado el archivo que tiene una estructura de carpetas como esta:
Ahora tengo tres preguntas:
- Tengo CSS en mi
media/css/main.css
url. Entonces, ¿dónde necesito poner esa carpeta? - ¿Necesito extraer todo el eot, svg, etc. de todas las subcarpetas y ponerlas en la
fonts
carpeta? - ¿Necesito crear el archivo css fonts.css e incluirlo en mi archivo de plantilla base?
El ejemplo que usa esto
@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;
}
¿Cómo debería ser mi URL, si quiero tener la estructura dir como:
/media/fonts/roboto
font-family
: en realidad solo usan 3 familias de fuentes (Roboto, Roboto Condensed y Roboto Slab) todas las demás variantes Roboto se realizan a travésfont-style
yfont-weight
cambios de estilo CSS. Entonces, idealmente, después de colocar el Google<link>
verifique si las fuentes están realmente allí. De lo contrario, use el suyo (por cierto, cargar todos los archivos de una familia de fuentes normalmente no supera los 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'>
Esto carga todos los estilos de una sola familia de fuentes: Roboto. Sin embargo, si necesita una familia de fuentes que no está en Google Fonts (como Roboto Black ), necesita los archivos en sus carpetas y copie el código de ejemplo que nos mostró en su pregunta a su main.css (como esto@font-face{font-family: 'Roboto Black';src:url('/media/fonts/roboto/roboto_black_macroman/blablabla.eot; ...etc.
o lo que sugerí en mi respuesta).Using Google's fonts this way guaranties availability
. Nada "garantiza la disponibilidad", mucho menos las fuentes de Google. Resulta que soy una de las más de mil millones de personas para quienes el uso de CDN de Google significa que toneladas de sitios web no se cargan correctamente, o en absoluto. No le digo a nadie qué hacer, pero no creo que el CDN de Google sea una solución perfecta.Existen DOS enfoques que puede utilizar para usar fuentes web con licencia en sus páginas:
Los cargadores de fuentes JS como el utilizado por Google y Typekit (es decir, el cargador WebFont) proporcionan clases CSS y devoluciones de llamada para ayudar a administrar el FOUT que puede ocurrir, o los tiempos de espera de respuesta al descargar la fuente.
@font-face
se usa una implementación de navegador cruzado de la propiedad CSS estándar para habilitar las fuentes.Este enfoque puede proporcionar un mejor rendimiento de carga ya que tiene un control más granular sobre los caracteres a incluir y, por lo tanto, el tamaño del archivo.
Larga historia corta:
El uso de los servicios de alojamiento de fuentes junto con la declaración @ font-face proporciona el mejor resultado con respecto al rendimiento general, la compatibilidad y la disponibilidad.
Fuente: https://www.artzstudio.com/2012/02/web-font-performance-weighing-fontface-options-and-alternatives/
ACTUALIZAR
Roboto: la fuente de firma de Google ahora es de código abierto
Ahora puede generar manualmente las fuentes Roboto utilizando las instrucciones que se pueden encontrar aquí .
fuente
Publicación anterior, lo sé.
Esto también es posible usando CSS
@import url
:fuente
El se
src
refiere directamente a los archivos de fuente, por lo tanto, si los coloca todos en/media/fonts/roboto
, debería referirse a ellos en su main.css de esta manera:src: url('../fonts/roboto/Roboto-ThinItalic-webfont.eot');
El
..
va una carpeta hacia arriba, lo que significa que se está refiriendo a lamedia
carpeta si la main.css se encuentra en la/media/css
carpeta.Debe usar
../fonts/roboto/
todas las referencias de URL en el CSS (y asegúrese de que los archivos estén en esta carpeta y no en subdirectorios, comoroboto_black_macroman
).Básicamente (respondiendo a sus preguntas):
Puede dejarlo allí, pero asegúrese de usar
src: url('../fonts/roboto/
Si desea hacer referencia a esos archivos directamente (sin colocar los subdirectorios en su código CSS), entonces sí.
No necesariamente, solo puede incluir ese código en su main.css. Pero es una buena práctica separar las fuentes de su CSS personalizado.
Aquí hay un ejemplo de un archivo de fuentes MENOS / CSS que uso:
(En este ejemplo, solo estoy usando el ttf) Luego lo uso
@import "fonts";
en mi archivo main.less ( menos es un preprocesador CSS, hace que este tipo de cosas sea un poco más fácil )fuente
Esto es lo que hice para obtener los archivos woff2 que quería para la implementación estática sin tener que usar un CDN
TEMPORALMENTE agregue el cdn para que el css cargue las fuentes roboto en index.html y deje que se cargue la página. desde las herramientas de desarrollo de Google mire las fuentes y expanda el nodo fonts.googleapis.com y vea el contenido del archivo css? family = Roboto: 300,400,500 & display = swap y copie el contenido. Ponga este contenido en un archivo CSS en su directorio de activos.
En el archivo CSS, elimine todas las cosas griegas, crílticas y vietnamitas.
Mire las líneas en este archivo CSS que son similares a:
copie la dirección del enlace y péguela en su navegador, descargará la fuente. Coloque esta fuente en su carpeta de activos y cámbiele el nombre aquí, así como en el archivo css. Haga esto a los otros enlaces, tenía 6 archivos únicos woff2.
Seguí los mismos pasos para los iconos de materiales.
Ahora regrese y comente la línea donde llama al cdn y, en su lugar, use el nuevo archivo css que creó.
fuente
Prueba esto
fuente
Use / fonts / o / font / antes del nombre del tipo de fuente en su hoja de estilo CSS. Me enfrento a este error, pero después de eso funciona bien.
fuente
Para el sitio web, puede usar la fuente 'Roboto' de la siguiente manera:
Si ha creado un archivo css separado, coloque la línea de abajo en la parte superior del archivo css como:
O si no desea crear un archivo separado, agregue la línea anterior en el medio
<style>...</style>
:luego:
fuente
¿Leyó el How_To_Use_Webfonts.html que está en ese archivo zip?
Después de leer eso, parece que cada subcarpeta de fuentes tiene un .css ya creado que puede usar al incluir esto:
fuente
es fácil
cada carpeta de las que descargaste tiene un tipo diferente de fuente roboto, lo que significa que son fuentes diferentes
ejemplo: "roboto_regular_macroman"
para usar cualquiera de ellos:
1- extrae la carpeta de la fuente que deseas usar
2- cárgalo cerca del archivo css
3- ahora inclúyelo en el archivo css
ejemplo para incluir la fuente que llamó "roboto_regular_macroman":
mire la ruta de los archivos, aquí cargué la carpeta llamada "roboto_regular_macroman" en la misma carpeta donde está el CSS
entonces ahora simplemente puede usar la fuente escribiendo
font-family: 'Roboto';
fuente
En realidad es bastante simple. Vaya a la fuente en el sitio web de Google y agregue su enlace al encabezado de cada página que desee incluir la fuente.
fuente
Pasé una hora arreglando los problemas de fuente.
Respuesta relacionada: a continuación se muestra el
React.js
sitio web:Instale el módulo npm:
npm install --save typeface-roboto-mono
importar en el archivo .js que desea utilizar
uno de los siguientes :
import "typeface-roboto-mono";
// si se admite la importaciónrequire('typeface-roboto-mono')
// si no se admite la importaciónPara el elemento, puede usar
uno de los siguientes:
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*/
Espero que ayude.
fuente
Con css:
Con sass:
fuente