Estoy buscando en la página de MDC la regla CSS @ font-face , pero no entiendo nada. Tengo archivos separados para negrita , cursiva y negrita + cursiva . ¿Cómo puedo incrustar los tres archivos en una @font-face
regla? Por ejemplo, si tengo:
@font-face {
font-family: "DejaVu Sans";
src: url("./fonts/DejaVuSans.ttf") format("ttf");
}
strong {
font-family: "DejaVu Sans";
font-weight: bold;
}
El navegador no sabrá qué fuente se utilizará para negrita (porque ese archivo es DejaVuSansBold.ttf), por lo que tendrá un valor predeterminado que probablemente no quiera. ¿Cómo puedo decirle al navegador todas las diferentes variantes que tengo para una determinada fuente?
Respuestas:
La solución parece ser agregar varias
@font-face
reglas, por ejemplo:Por cierto, parece que Google Chrome no conoce el
format("ttf")
argumento, por lo que es posible que desee omitirlo.(Esta respuesta fue correcta para la especificación CSS 2. CSS3 solo permite un estilo de fuente en lugar de una lista separada por comas).
fuente
font-style: italic, oblique;
a solofont-style: italic;
parecía arreglarlo todo.A partir de CSS3, la especificación ha cambiado, permitiendo solo uno
font-style
. Una lista separada por comas (por CSS2) se tratará como si fueranormal
y anulará cualquier entrada anterior (predeterminada). Esto hará que las fuentes definidas de esta manera aparezcan en cursiva de forma permanente.En la mayoría de los casos, la cursiva probablemente será suficiente y las reglas oblicuas no serán necesarias si tiene cuidado de definir lo que va a utilizar y cumplirlo.
fuente
I have separate files for bold, italic and bold + italic
- así que hay tres archivos diferentes. Esta respuesta corrige la aceptada en quefont-style: italic, oblique;
ya no es válida, pero también esa respuesta usó el mismo archivo para cursiva y oblicua. Aún así, vale la pena señalar que el archivo se comparte en dos casos.Para que la variación de fuente funcione correctamente, tuve que invertir el orden de @ font-face en CSS.
fuente
hoy en día, 2017-12-17. No encuentro ninguna descripción sobre la necesidad de Font-property-order en la especificación . Y pruebo en Chrome siempre funciona sea cual sea el orden.
fuente
Si está utilizando las fuentes de Google, sugeriría lo siguiente.
Si desea que las fuentes se ejecuten desde su servidor local o servidor, debe descargar los archivos.
En lugar de descargar los paquetes ttf en los enlaces de descarga, use el enlace en vivo que proporcionan, por ejemplo:
Pegue la URL en su navegador y debería obtener una declaración de tipo de letra similar a la primera respuesta.
Abra las URL proporcionadas, descargue y cambie el nombre de los archivos.
Pegue las declaraciones actualizadas de la fuente con rutas relativas a los archivos woff en su CSS, y ya está.
fuente
fuente
No olvide que para la variante en negrita, lo es
font-weight
; para la variante cursiva, esfont-style
fuente
@font-face
, por lo tanto, estoy tratando de rechazar esta respuesta (pero no puedo, no tengo suficiente reputación)