usar tamaño style negrita letra font family cursiva css css3 fonts font-face

css - tamaño - ¿Cómo usar font-weight con font-face?



tamaño de letra css (3)

Usar el font-weight font-style propiedades de font-style en las fuentes incrustadas ( @font-face ) no es tan simple. Hay algunos elementos que necesita cuidar.

1 - Sintaxis de @font-face :

La sintaxis es muy importante para usar la fuente en todos los navegadores. Paul Irish, con muchos recursos, escribió la ''Sintaxis a prueba de balas'' , como se muestra arriba, que se mejoró varias veces:

@font-face { font-family: ''FONT-NAME''; src: url(''FONT-NAME.eot?'') format(''eot''), url(''FONT-NAME.woff'') format(''woff''), url(''FONT-NAME.ttf'') format(''truetype''); }

Esta versión ( http://www.paulirish.com/2009/bulletproof-font-face-implementation-syntax/ , busque ''La sintaxis de Fontspring @ font-face'' ), es la más reciente y funciona de IE6 , en iOS , Android . Es importante echar un vistazo en el enlace para aprender bien por qué debería escribirse de esa manera.

2 - Propiedades de font-weight como font-weight y font-style

Si lo desea, es posible aplicar el font-weight font-style y font-style de @font-face declaración @font-face para utilizar variaciones de la misma fuente, pero debe ser específico y preciso acerca de estas características. Hay algunas maneras de hacerlo.

2.1 - Usando una familia de fuentes para cada variación

Usando la ''Sintaxis a prueba de balas'' , suponiendo que desea cargar las variaciones ''Normal'' , ''Negrita'' e ''Cursiva'' , tenemos:

@font-face { font-family: ''FONT-NAME-normal''; src: url(''FONT-NAME-normal.eot?'') format(''eot''), url(''FONT-NAME-normal.woff'') format(''woff''), url(''FONT-NAME-normal.ttf'') format(''truetype''); font-weight: normal; font-style: normal; } @font-face { font-family: ''FONT-NAME-bold''; src: url(''FONT-NAME-bold.eot?'') format(''eot''), url(''FONT-NAME-bold.woff'') format(''woff''), url(''FONT-NAME-bold.ttf'') format(''truetype''); font-weight: normal; font-style: normal; } @font-face { font-family: ''FONT-NAME-italic''; src: url(''FONT-NAME-italic.eot?'') format(''eot''), url(''FONT-NAME-italic.woff'') format(''woff''), url(''FONT-NAME-italic.ttf'') format(''truetype''); font-weight: normal; font-style: normal; }

Por lo tanto, para usar la variación que desee, debe llamar a la font-family que le corresponde Y declarar en la regla el font-weight: normal y font-style: normal . Si no lo hace, el navegador puede aplicar el ''faux bold / italic'' al elemento que tiene estas reglas de forma predeterminada. El estilo "falso" funciona obligando al elemento a mostrarse, incluso si ya está utilizando una fuente en cursiva o negrita. El problema con es que la fuente siempre se ve fea porque no es la forma en que se hizo.

Lo mismo ocurre cuando define una fuente ''Normal'' , por ejemplo, en un elemento <p> y, dentro de ella, coloca un <strong> o <em> . <strong> y <em> forzarán el proceso en negrita / cursiva sobre la fuente. Para evitar eso, debe aplicar la font-family correcta, con el destino de ser negrita / cursiva, a una regla para <strong> y <em> , con sus respectivas propiedades ( font-weight y font-style ) establecidas en normal :

strong { font-family: ''FONT-NAME-bold''; font-weight: normal; font-style: normal; } em { font-family: ''FONT-NAME-italic''; font-weight: normal; font-style: normal; }

Pero hay un problema con eso. Si sus fuentes no se cargan, las alternativas elegidas perderán sus pesos / estilos. Esto nos lleva al siguiente camino.

2.2 - Usando el mismo nombre de familia de fuente, pero diferentes pesos y estilos

Esta forma es más simple de manejar a través de varios pesos y estilos Y las reservas de manera correcta si las fuentes no se cargan. Usando el mismo ejemplo:

@font-face { font-family: ''FONT-NAME''; src: url(''FONT-NAME-normal.eot?'') format(''eot''), url(''FONT-NAME-normal.woff'') format(''woff''), url(''FONT-NAME-normal.ttf'') format(''truetype''); font-weight: normal; font-style: normal; } @font-face { font-family: ''FONT-NAME''; src: url(''FONT-NAME-bold.eot?'') format(''eot''), url(''FONT-NAME-bold.woff'') format(''woff''), url(''FONT-NAME-bold.ttf'') format(''truetype''); font-weight: 700; font-style: normal; } @font-face { font-family: ''FONT-NAME''; src: url(''FONT-NAME-italic.eot?'') format(''eot''), url(''FONT-NAME-italic.woff'') format(''woff''), url(''FONT-NAME-italic.ttf'') format(''truetype''); font-weight: normal; font-style: italic; }

En este método, los pesos y estilos en las declaraciones de @font-face actúan como "marcadores". Cuando un navegador se encuentra con esos pesos y estilos en otras partes del CSS, sabe a qué @font-face declaración acceder y qué variación de la fuente debe usar.

Asegúrese de que sus pesos y estilos coinciden. Si es así, cuando use un <strong> o <em> dentro de un padre que esté usando @font-face que creó, cargará la declaración correcta.

En la fuente de estos métodos de estilización incorporados ( http://coding.smashingmagazine.com/2013/02/14/setting-weights-and-styles-at-font-face-declaration/ ), tienen otro método que combina el Dos que he mencionado (el 2.1 y el 2.2 ). Pero conlleva muchos problemas, incluido el ''faux bold / italic'' , que lo obliga a declarar a la <strong> font-family correcta y, para el <em> , las classes estilos sobre las variaciones de la font que difiere en weight Supongo que los dos que he elegido son lo suficientemente buenos para hacer el trabajo.

Fuentes: http://www.paulirish.com/2009/bulletproof-font-face-implementation-syntax/ http://coding.smashingmagazine.com/2013/02/14/setting-weights-and-styles-at-font-face-declaration/

Edición 1:

No hay necesidad de usar muchas extensiones de fuente. El tipo .woff es .woff casi todos los navegadores, excepto para IE, si necesita dar soporte para IE8 (que solo acepta el formato .eot ). ( http://caniuse.com/#feat=fontface )

Otro consejo que quizás sea útil es incrustar la fuente en el CSS utilizando la codificación base64 . Esto ayudará a evitar una gran cantidad de solicitudes, pero debe recordar que superará el tamaño del archivo CSS. Esto se puede manejar organizando el contenido CSS y las fuentes para dar las primeras reglas CSS rápidamente en un archivo pequeño, entregando las demás en otro archivo CSS, en la etiqueta de cierre de <body> .

Tengo dos archivos de fuentes como: FONT-light y FONT-bold. Ambos vienen de @ font-face kit, por lo que cada versión tiene como 5 archivos de fuente incluidos (OGV, TTF, WOFF, EOT)

Para pasar de la versión light a la versión en negrita, tengo que usar font-family: FONT-light; y luego font-family: FONT-bold; . Quiero usar font-weight: light; y font-weight: bold; en su lugar porque lo necesito para las transiciones de CSS3. ¿Cómo logro eso?


puede agregar un número a la propiedad font-weight, por ejemplo, a la versión light.

font-weight: normal; // light version as it is. font-weight: 700; // makes light version bolder.


@font-face { font-family: ''DroidSerif''; src: url(''DroidSerif-Regular-webfont.ttf'') format(''truetype''); font-weight: normal; font-style: normal; } @font-face { font-family: ''DroidSerif''; src: url(''DroidSerif-Italic-webfont.ttf'') format(''truetype''); font-weight: normal; font-style: italic; } @font-face { font-family: ''DroidSerif''; src: url(''DroidSerif-Bold-webfont.ttf'') format(''truetype''); font-weight: bold; font-style: normal; } @font-face { font-family: ''DroidSerif''; src: url(''DroidSerif-BoldItalic-webfont.ttf'') format(''truetype''); font-weight: bold; font-style: italic; }

Del tutorial: http://www.456bereastreet.com/archive/201012/font-face_tip_define_font-weight_and_font-style_to_keep_your_css_simple/