La tipografía es la aplicación más básica de CSS, disponible desde la versión 4 de Netscape e Internet Explorer (año 1997).
Aun así, es fácil encontrar sitios que todavía no aprovechan esta posibilidad
(y continúan dependiendo de FONT
), o bien manejan la tipografía con CSS
pero de una manera poco eficiente y bastante alejada del espíritu de CSS —mantener
separadas la estructura y la presentación en los documentos.
El control tipográfico ofrecido por CSS 2.1 abarca dos aspectos:
Hay cuatro propiedades que intervienen en la selección de una fuente:
font-family
font-style
font-variant
font-weight
Toma como valor una lista priorizada de nombres de familias y/o nombres genéricos de fuentes:
p { font-family: georgia, "times new roman", serif; }
Las familias genéricas son cinco:
ATENCIÓN: es importante ofrecer siempre una familia genérica como última alternativa.
Permite seleccionar entre la forma normal (romana), la itálica y la oblicua dentro de una misma familia.
Valores posibles: normal | italic | oblique
h1, h2, h3 { font-style: italic; }
Lorem ipsum dolor sit amet, consec tetuer adipiscing elit. Sed consec tetuer dolor in dolor. Mauris sodales dignissim dolor. Integer interdum lacus et sem. Donec euismod, sapien eu consectetuer ornare.
Permite seleccionar entre la forma normal y las versalitas (small-caps) dentro de una misma familia.
Valores posibles: normal | small-caps
p { font-variant: small-caps; }
Lorem ipsum dolor sit amet, consec tetuer adipiscing elit. Sed consec tetuer dolor in dolor. Mauris sodales dignissim dolor. Integer interdum lacus et sem. Donec euismod, sapien eu consectetuer ornare.
Valores posibles:
El valor normal corresponde a 400, y bold a 700.
Para detalles, véase la sección 15.6 de CSS 2.1.
El tamaño de la fuente corresponde al “cuadrado eme” (em square), un concepto usado en tipografía.
Valores posibles:
<tamaño-absoluto> | <tamaño-relativo> | <longitud> | <porcentaje>
CSS absolute-size values | xx-small | x-small | small | medium | large | x-large | xx-large | |
---|---|---|---|---|---|---|---|---|
scaling factor | 3/5 | 3/4 | 8/9 | 1 | 6/5 | 3/2 | 2/1 | 3/1 |
HTML headings | h6 | h5 | h4 | h3 | h2 | h1 | ||
HTML font sizes | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
(Tomada de CSS 2.1.)
Un tamaño absoluto es una de estas palabras clave:
xx-small | x-small | small | medium | large | x-large | xx-large
Un tamaño relativo puede tener uno de estos dos valores: larger | smaller, que son interpretados en relación a la tabla de tamaños y al tamaño de fuente del elemento padre.
Los porcentajes se refieren al tamaño de fuente del elemento padre.
Las longitudes expresadas en unidades em
se refieren,
en todas las demás propiedades, al tamaño de fuente calculado para el elemento actual.
En cambio, en la propiedad font-size
la unidad em
se refiere al tamaño de fuente calculado para el elemento padre.
Valores posibles:
normal | <número> | <longitud> | <porcentaje>
div { line-height: 1.2; font-size: 10pt } /* número */
div { line-height: 1.2em; font-size: 10pt } /* longitud */
div { line-height: 120%; font-size: 10pt } /* porcentaje */
Para detalles, véase la sección 10.8 de CSS 2.1
Permite hacer una de estas dos cosas:
font-style
,
font-variant
, font-weight
, font-size
,
line-height
, font-family
ATENCION: las propiedades no especificadas de manera explícita, se establecen en sus valores por defecto.
CSS 2.1 ofrece estas propiedades
text-indent
: sangría para la primera líneatext-align
: alineación horizontal dentro de un bloquetext-decoration
: subrayados y otras decoracionesletter-spacing
: espacio entre caracteresword-spacing
: espacio entre palabrastext-transform
: conversión a mayúsculas/minúsculaswhite-space
: tratamiento del espacio en blanco internoSe aplica a elementos de nivel bloque y a celdas de tablas. Los valores posibles son:
<longitud> | <porcentaje>
Es posible usar un valor negativo (posiblemente compensado con
un padding-left
).
Lorem ipsum dolor sit amet, consec tetuer adipiscing elit. Sed consec tetuer dolor in dolor. Mauris sodales dignissim dolor. Integer interdum lacus et sem. Donec euismod, sapien eu consectetuer ornare.
Lorem ipsum dolor sit amet, consec tetuer adipiscing elit. Sed consec tetuer dolor in dolor. Mauris sodales dignissim dolor. Integer interdum lacus et sem. Donec euismod, sapien eu consectetuer ornare.
Se aplica a elementos de nivel bloque y a celdas de tablas. Los valores posibles son:
left | right | center | justify
Lorem ipsum dolor sit amet, consec tetuer adipiscing elit. Sed consec tetuer dolor in dolor. Mauris sodales dignissim dolor. Integer interdum lacus et sem. Donec euismod, sapien eu consectetuer ornare.
Lorem ipsum dolor sit amet, consec tetuer adipiscing elit. Sed consec tetuer dolor in dolor. Mauris sodales dignissim dolor. Integer interdum lacus et sem. Donec euismod, sapien eu consectetuer ornare.
Lorem ipsum dolor sit amet, consec tetuer adipiscing elit. Sed consec tetuer dolor in dolor. Mauris sodales dignissim dolor. Integer interdum lacus et sem. Donec euismod, sapien eu consectetuer ornare.
Lorem ipsum dolor sit amet, consec tetuer adipiscing elit. Sed consec tetuer dolor in dolor. Mauris sodales dignissim dolor. Integer interdum lacus et sem. Donec euismod, sapien eu consectetuer ornare.
Los valores posibles son:
none | [ underline || overline || line-through || blink ]
Ejemplos:
none underline overline line-through blink underline overline
El color de la decoración es el mismo de la propiedad color
para el texto.
El uso del valor blink está desaconsejado en general. El uso de underline está desaconsejado para textos que no sean enlaces.
Valores posibles: normal | <longitud>
La longitud indica el espacio que se añade al espacio por defecto entre caracteres.
Valores posibles: normal | <longitud>
La longitud indica el espacio que se añade al espacio por defecto entre palabras.
Valores posibles: capitalize | uppercase | lowercase | none
Compárese con font-variant: small-caps
:
Valores posibles: normal | pre | nowrap | pre-wrap | pre-line
Lorem ipsum dolor sit amet, consec tetuer adipiscing elit. Sed consec tetuer dolor in dolor. Mauris sodales dignissim dolor. Integer interdum lacus et sem. Donec euismod, sapien eu consectetuer ornare.
Lorem ipsum dolor sit amet, consec tetuer adipiscing elit. Sed consec tetuer dolor in dolor. Mauris sodales dignissim dolor. Integer interdum lacus et sem. Donec euismod, sapien eu consectetuer ornare.
Lorem ipsum dolor sit amet, consec tetuer adipiscing elit. Sed consec tetuer dolor in dolor. Mauris sodales dignissim dolor. Integer interdum lacus et sem. Donec euismod, sapien eu consectetuer ornare.
Lorem ipsum dolor sit amet, consec tetuer adipiscing elit. Sed consec tetuer dolor in dolor. Mauris sodales dignissim dolor. Integer interdum lacus et sem. Donec euismod, sapien eu consectetuer ornare.