You are on page 1of 26

SolucionJava.

com
Ing. Cedric Simon – Tel: 2268 0974 – Cel: 8888 2387 – Email: c e d r i c @ s o l u c i o n j a v a . c o m – Web: www.solucionjava.com
Cascade Style Sheet

Manual del alumno

<CSS>
Curso de

Versión 1.0
Curso de Cascade Style Sheet – CSS Pagina 2 / 26

Índice de contenido
1. Introducción al curso..............................................................................................................................3
1.1. Objetivo de este curso...................................................................................................................3
1.2. Manual del alumno.........................................................................................................................3
1.3. Ejercicios prácticos........................................................................................................................3
1.4. Requisitos para atender a este curso.............................................................................................3
1.5. Soporte después del curso.............................................................................................................3
2. Introducción...........................................................................................................................................4
3. El tag LINK............................................................................................................................................6
4. Hojas de estilos alternativas..................................................................................................................7
5. La directiva @import..............................................................................................................................8
6. Reglas básicas......................................................................................................................................9
7. Agrupación de selectores y declaraciones...........................................................................................10
8. Atributos CLASS y ID...........................................................................................................................12
8.1. CLASS.........................................................................................................................................12
8.2. ID.................................................................................................................................................12
9. Pseudo-Clases y Pseudo-Elementos...................................................................................................13
10. Estructura..........................................................................................................................................14
11. Especificidad......................................................................................................................................15
12. Estilos en cascada.............................................................................................................................16
13. Colores y unidades............................................................................................................................17
13.1. Colores.......................................................................................................................................17
13.2. Unidades....................................................................................................................................17
Medidas absolutas de longitud:......................................................................................................17
Medidas relativas de longitud:........................................................................................................17
14. Indentación........................................................................................................................................18
15. Margenes...........................................................................................................................................19
15.1. Introducción...............................................................................................................................19
15.2. Margin........................................................................................................................................19
15.3. Padding......................................................................................................................................20
16. Alineación..........................................................................................................................................21
17. Espacios en blanco............................................................................................................................22
18. Anchura de líneas..............................................................................................................................23
19. Espacio entre palabras......................................................................................................................24
20. Transformaciones del texto................................................................................................................25
21. Decoración del texto..........................................................................................................................26

Versión 1.0
Curso de Cascade Style Sheet (CSS) Pagina 3 / 26

1. Introducción al curso
1.1. Objetivo de este curso
En este curso vamos a aprender el uso de hojas de estilo, que nos permitirá crear páginas web mas
atractivas.

1.2. Manual del alumno


Este manual del alumno es una ayuda para el alumno, para tenga un recuerdo del curso. Este manual
contiene un resumen de las materias que se van a estudiar durante el curso, pero el alumno debería de
tomar notas personales para completas este manual.

Este manual es una versión adaptada del manual 'CSS Practico' escrito por Ricardo Borillo y publicado
en www.mailxmail.com

1.3. Ejercicios prácticos


Para captar mejor la teoría, se harán muchos ejercicios con los alumnos, para probar la teoría y verificar
la integración de la materia.

También, el alumno podrá copiar sus códigos en una memoria flash al fin del curso para llevarse, con fin
de seguir la práctica en su hogar.

1.4. Requisitos para atender a este curso


El conocimiento del lenguaje HTML es requerido para poder atender a este curso.

Si el alumno tiene dificultades en un u otro capitulo, el debe sentirse libre de pedir explicaciones
adicionales al profesor.

Pero si aparece que el alumno no posee los requisitos mínimos para este curso, por respeto a los otros
alumnos que ya poseen esta materia, el alumno podría ser traslado para otro curso en el futuro, cuando
el cumplirá con los requisitos.

1.5. Soporte después del curso


Si tienes preguntas sobre la materia del curso en tus ejercicios prácticos, puedes escribir tus
preguntas a cedric@solucionjava.com .

Para informaciones sobre otros cursos, visita el sitio web www.solucionjava.com.

Versión 1.0
Curso de Cascade Style Sheet – CSS Pagina 4 / 26

2. Introducción
CSS son las siglas de "Cascade Style Sheet". Se trata de una especificación sobre los estilos físicos
aplicables a un documento HTML, y trata de dar la separación definitiva de la lógica (estructura) y el
físico (presentación) del documento.

En este curso veremos algunos conceptos básicos de cómo aplicar este lenguaje para definir estilos.

En los orígenes de la Web y en sus primeras versiones, HTML era un lenguaje fácil de aprender y muy
reducido en cuanto a sus tags y estructura. Estamos hablando de los años 1990 al 1993. Todo cambió
cuando empezaron a surgir los primeros navegadores que eran capaces de representar recursos
gráficos como añadido a la información textual.

Así, el número de sitios web comenzó a crecer y con él, el número de tags que la especificación HTML
contemplaba. El objetivo era construir sitios web cada vez más atractivos visualmente hablando, con lo
que HTML debía incluir nuevos tags destinados a conseguir diversos efectos visuales.

Con todos estos cambios que la web había sufrido, nos encontramos con que un lenguaje que en sus
inicios había sido "orientado a la estructura", ahora estaba totalmente "orientado a la visualización"
(HTML 4 es la más viva representación de esta realida). Encontramos tags com <B>, <U> o <I> que
definen estilos de visualización sin aportar nada a la estructura del documento representados.

Otro aspecto importante y que condiciona totalmente la estructura del documento es el uso del tag
FONT. Con el uso de este tag podemos hacer que una zona que corresponde a la cabecera o título de
una página, y que debería expresarse con un H1, pase ahora a estar definida mediante el tag FONT.
Con este cambio se pierder totalmente la estructura del documento.

La realidad ahora es que el mayor número de los sites realizados con HTML 4 consiguen que el
volumen de información de visualización sea muy superior al de la información verdaderamente
relevante. Esto parece, cuanto menos precoupante.

Motivos por los que no podemos permitir que nuestros documentos publicados en la web pierdan su
estructura:

1. La indexación por los buscadores es mucho más complicada (Google asigna un


peso mucho mayor a una página que utliza H1 para definir sus secciones, que a los campos
META del documento).

2.Se reduce la acesibilidad. Actualmente existen aplicaciones que permiten la lectura de páginas
web como ayuda a los discapacitados (persona ciegas o con otras discapacidades). Si una
persona discapacitada intenta acceder a una página sin una mínima estructuración, el resultado
puede ser lamentable.

3.La estructura de la página y la información contenida en la misma es mucho más sencilla de


mantener. Actualmente, ciertos aspectos del código HTML pueden hacer que una misma página
tenga visualizaciones distintas en distintos navegadores. Estos herrores de diseño son
dificilmente depurables cuando la página contiene una estructura de tags complicada y sin
ninguna estructuración.

Por otra parte, un cambio en un tipo de fuente supone el rediseño de todas las páginas de un site al
tener que sustituir todos los valores para el tag FONT. Todos estos problemas han sido seguidos muy de
cerca por el W3C, el cual comenzó a trabajar en 1995 en CSS.

Versión 1.0
Curso de Cascade Style Sheet (CSS) Pagina 5 / 26

Principales características aportadas por CSS en contraposición a los elementos de visualización


presentes en la especificación de HTML 4:

1.Estilo enriquecido. CSS permite la creación de documentos visualmente mucho más ricos que
lo que HTML nunca permitirá. No en vano CSS está pensado única y exclusivamente para asistir
al diseñador a la hora de dar estilo a un documento estrucuturado.

2.Fácil de utilizar. La utilización de hojas de estilo CSS hace que el diseñador pueda reducir
sustancialmente su carga de trabajo al diseñar todo un site. Esto se debe a que CSS es capaz
de centralizar ciertos efectos visuales que plasmemos en diversas secciones del site, en lugar de
tenerlos diseminados por páginas y páginas del sitio.

3.Reutilización en múltiples páginas. Una hoja de estilo que recoja aspectos visuales comunes a
varias páginas puede ser reutilizada en cualquier sección del site aprovechando dichos efectos
ya definidos. De esta manera es sencillo generar un estilo general del web y mantenerlo así
consistente para todas las páginas. Así, si deseamos modificar un estilo que es común a todo el
site, sólo necesitaríamos modificar una línea de nuestro fichero CSS (con la aproximación clásica
que ofrece HTML, deberíamos modificar todas y cada una de las páginas).

4.Reduce el tamaño del código HTML enviado. Al centralizar los estilos ya no es necesario la
utilización de tags como FONT en todos los documentos del site. De esta manera se reduce
considerablemente el tiempo en que tarda en cargarse el código de una página.

5.Nos prepara par el futuro. Debemos ser conscientes que muchos tags como FONT,
BASEFONT, U, STRIKE, S, CENTER, han sido marcados por el W3C como "deprecated", es
decir, que se desaconseja su uso ya que serán eliminados en un futuro de la especificación. De
igual menera HTML retornará progresivamente a sus orígenes, volviendo a ser un lenguaje para
la estrucuturación de información. Esta es la via de XML, cuya primera aproximaciés es el
lenguaje de marcas XHTML.

Versión 1.0
Curso de Cascade Style Sheet – CSS Pagina 6 / 26

3. El tag LINK
Veamos un ejemplo de tag link

<link rel="stylesheet" type="text/css" href="estilos.css" title="default">

Para conseguir la adecuada carga de la hoja de estilos, debemos posicionar este elemento en el HEAD
de la página.

Atributos del tag LINK.-

REL: define el tipo del documento o "con qué tiene relación". En general, su valor será "stylesheet".
TYPE: será siempre "text/css".
HREF: es el valor de la URL que nos permite el acceso al fichero de estilos.
TITLE: actualmente casi no se utiliza, pero será muy importante en el futuro. Su
importancia radica en que puede haber en el mismo documento más de un tag
LINK. En el caso de que haya más de un tag LINK, sólo aquellos cuyo valor de
REL sea "stylesheet" se aplicarán inicialmente al documento:

<link rel="stylesheet" type="text/css" href="basic.css">


<link rel="stylesheet" type="text/css" href="splash.css">

El navegador cargará ambas hojas de estilo, combinando las reglas que definen y aplicando el resultado
al documento.

Versión 1.0
Curso de Cascade Style Sheet (CSS) Pagina 7 / 26

4. Hojas de estilos alternativas


Es de especial utilidad hacer uso del tag TITLE, cuando definimos hojas de estilo alternativas. En el
siguiente ejemplo se definen tres hojas de estilo dentro del mismo documento de forma que:

La primera definición se aplicará siempre.

El navegador nos permitirá seleccionar alguna de las dos siguientes como fuente alternativa de estilos.
Además, cuando nos presente el menú para seleccionar la hoja de estilos alternativa, utilizará el atributo
TITLE para su identificación.

<link rel="stylesheet" type="text/css" href="fija.css" title="default">


<link rel="alternate stylesheet" type="text/css" href="alternativa1.css" title="Vista
de impresión">
<link rel="alternate stylesheet" type="text/css" href="alternativa2.css" title="Vista
decorada">

El tag STYLE.- permite dos tipos de tratamiento:

1.Definir estilos que se aplicarán al tag en que se ubique, sin necesidad de definirlos en el HEAD
del documento.

2.Definir una hoja de estilo completa en el HEAD sin que esta se almacene en un fichero externo.
Siempre debe hacer uso del atributo TYPE. Contiene estilos que se aplicarán al documento, pero
también puede contener múltiples enlaces a hojas de estilo externas definidas con la directiva
@import.

Versión 1.0
Curso de Cascade Style Sheet – CSS Pagina 8 / 26

5. La directiva @import
La única diferencia con el tag LINK es su sintaxis y el lugar donde puede utlizarse. La directiva @import
sólo puede utilizarse dentro de una región STYLE en el HEAD de la página. Además, estas directivas
deben definirse antes de cualquier regla CSS que contenga esta región STYLE.

<style type="text/css">
@import url(externo.css);
h1 {color: gray;}
</style>

Con la directiva @import no podemos definir hojas de estilos alternativas, y en algunos navegadores no
se cachea estos contenidos.

Comentarios en CSS.- Podemos definir comentarios dentro de un fichero CSS haciendo uso de una
sintaxis muy similar a la C/C++, es decir, se considerará un comentario cualquier sección del documento
que comience con /* y termine con */.

Versión 1.0
Curso de Cascade Style Sheet (CSS) Pagina 9 / 26

6. Reglas básicas
Con CSS podemos aplicar reglas de estilo a un tipo determinado de elementos dentró del documento
HTML, así podemos podemos conseguir el mismo efecto que utilizando el marcado tradicional:

<h2><font color="red">Texto de prueba</font></h2>

Pero con el mínimo esfuerzo:

H2 {color: red;}

A esta expresión se la denomina "regla", y esta en concreto, permite poner en rojo los elementos de tipo
h2.

Estructura de las reglas.- Cada regla tiene dos partes:

1.El "selector": el selector es la parte de la regla que selecciona a qué partes del documento se les debe
de aplicar el estilo. En cuanto a la declaración se compone de una combinación de propiedades CSS.
Normalmente, el selector es un elemento HTML, aunque puede tomar otros valores. Si estamos
formatenado un documento XML, puede tomar el valor de cualquiera de los elementos o nodos del
documento XML:
QUOTE {color: gray;}
BIB {color: red;}
BOOKTITLE {color: purple;}

2.La "declaración": además, la declaración se compone de una lista de parejas "propiedad : valor"
separadas por punto y coma, que se corresponden con propiedades válidas dentro de la especificación
CSS. Motivos por los que se puede anular una declaración:

-Si utilizamos un propiedad que no existe, la declaración entera es ignorada.

-Si utilizamos un valor incorrecto para una propiedad, sólo debería ignorarse el valor, aunque este
aspecto depende de la implementación del navegador (aunque la mayoría son bastante tolerantes con
los errores en el código CSS).

Si la definición del valor de una propiedad permite el uso de más de una palabra, estas estarán
separadas por espacios en blanco. Además existen unos poco ejemplos en los que se pueden utilizar
otros tipo de elementos dentro de la declaración. Es el caso de la propiedad FONT:

H2 {font: large/150% sans-serif;}

Esta declaración permite definir además del tamaño de la fuente, el grosor de la línea en la que está el
texto.

Versión 1.0
Curso de Cascade Style Sheet – CSS Pagina 10 / 26

7. Agrupación de selectores y
declaraciones
Normalmente, se da el caso en que dos elementos del documento HTML comparten la definición de la
misma propiedad CSS. Estos elementos podemos declararlos de una forma extendida:

H1 {color: purple;}
H2 {color: purple;}
H3 {color: purple;}
H4 {color: purple;}
H5 {color: purple;}
H6 {color: purple;}

O utilizar la agrupación para conseguir una declaración más compacta (el resultado es el mismo en
ambos casos):
H1, H2, H3, H4, H5, H6 {color: purple;}

Otros ejemplos de estructuras de agrupación que son equivalentes:

H1 {color: purple; background: white;}


H2 {color: purple; background: green;}
H3 {color: white; background: green;}
H4 {color: purple; background: white;}
B {color: red; background: white;}
H1, H2, H4 {color: purple;}
H2, H3 {background: green;}
H1, H4, B {background: white;}
H3 {color: white;}
B {color: red;}
H1, H4 {color: purple; background: white;}
H2 {color: purple;}
H3 {color: white;}
H2, H3 {background: green;}
B {color: red; background: white;}

Agrupación de declaraciones.- Podemos agrupar declaraciones cuando tenemos diferentes reglas que
definen propiedades de un mismo elemento. Por ejemplo:

H1 {font: 18pt Helvetica;}


H1 {color: purple;}
H1 {background: aqua;}

Podemos redefirnirlo como:

H1 {font: 18pt Helvetica; color: purple; background: aqua;}

Los espacios en blanco serán ignorados, así que el navegador se fiará de la correcta estructura
sintáctica de las reglas. Es por eso, que para una más sencilla visualización, podemos escribir las reglas
CSS de esta forma:

H1 {
font: 18pt Helvetica;
color: purple;
background: aqua;

Versión 1.0
Curso de Cascade Style Sheet (CSS) Pagina 11 / 26

Es una buena práctica terminar las declaraciones siempre con punto y coma (aunque no es obligatorio).
Motivos:

-Te permite habituarte a terminar las declaraciones correctamente, que es uno


de los errores más comunes.

-Si decides añadir una nueva declaración a la regla, no tiens porque preocuparte
de cómo termina la anterior.

-Algumos navegadores antiguos pueden confundirse cuando las reglas no se


terminan adecuadamente.

Combinaciones de agrupación de selectores y declaraciones.-

BODY {background: white; color: gray;}


H1, H2, H3, H4, H5, H6 {font-family: Helvetica, sans-serif;
color: white; background: black;}
H1, H2, H3 {border: 2px solid gray; font-weight: bold;}
H4, H5, H6 {border: 1px solid gray;}
P, TABLE {color: gray; font-family: Times, serif;}
PRE {margin: 1em; color: maroon;}

Versión 1.0
Curso de Cascade Style Sheet – CSS Pagina 12 / 26

8. Atributos CLASS y ID
8.1. CLASS
El atributo CLASS nos permite asignar estilos al documento sin preocuparnos de los elementos
concretos a los que se aplicarán. Como desventaja, está el hecho de que debemos modificar el código
HTML del documento, incluyendo atributos CLASS en los lugares donde queramos aplicar estilos.

<p class="cita">En en lugar de la mancha ...</p>

Sólo nos queda definir este nuevo estilo como una regla más de nuestro documento CSS:
.cita {font-weight: bold; color: red;}

El punto inicial es necesario para mantener la definición de este estilo desvinculada de cualquier
elemento del documento. Si queremos restringir el uso de este estilo a un tipo de elemento, podemos
definirlo como:

p.cita {font-weight: bold; color: red;}

8.2. ID
El atributo ID en cierta forma, es igual que CLASS. Diferencias:

La definición de los estilos de tipo ID, están precedidas por el carácter #, en lugar del punto.

#first-para {font-weight: bold;}<P ID="first-para">This is the first paragraph, and


will be boldfaced.</P>

El mismo atributo ID sólo puede usarse en un elemento. Debe ser único. En la realidad, los
navegadores no hacen comprobaciones de este tipo y podemos utilizar el mismo valor de ID para dar
estilo a múltiples elementos.

Los estilos de tipo ID también pueden definirse al margen de cualquier elemento, pero estas
definiciones no tienen ningún sentido al ser sus valores únicos y no aplicables a otros elementos.

Versión 1.0
Curso de Cascade Style Sheet (CSS) Pagina 13 / 26

9. Pseudo-Clases y Pseudo-Elementos
Permite la asignación de estilos a estructuras, estados de los elementos o estados del propio
documento, las cuales no deben estan definidas en la estructura del propio documento.

Pseudo-Clases.- En el caso de los enlaces, algunos de ellos hacen referencia a páginas que ya han
sido o no visitadas. No hay ninguna forma posible de poder formatear de forma diferente estos tipos de
enlaces en HTML, para ello utilizamos unas estrucuturas virtuales que no se corresponden con ningún
objeto del documento HTML, conocidas como pseudo-clases.

En CSS1, hay sólo tres pseudo-clases:

:link: hace referencia a cualquier enlace no visitado de la página.


:visited: hace referencia a cualquier enlace ya visitado de la página.
:active: hace referencia al enlace en el que estamos haciendo click en este momento o estamos
activando. En CSS1 sólo se puede definir esta propidedad sobre los enlaces, mientras que en CSS2
esta propiedad se aplica a cualquier elemento.

Pseudo-Elementos.- En CSS1, hay dos pseudo-elementos que son :first-letter y :first-line.


Se utilizan para dar estilo a la primera letra de un elemento de bloque (un párrafo por ejemplo) y a su
primera línea respectivamente.

Ejemplo:

P:first-letter {color: red;}


P:first-line {color: gray;}

Restricciones en las Pseudo-Clases y los Pseudo-Elementos.- Cuando aplicamos un pseudo-elemento


sólo podemos emplear en su definición, los siguientes estilos:

1.first-letter 2.first-line
-propiedades de las fuentes -propiedades de las fuentes
-fondos y colores -fondos y colores
-text-decoration -word-spacing
-vertical-align (si float es none) -letter-spacing
-text-transform -text-decoration
-line-height -vertical-align
-márgenes -text-transform
-padding -line-height
-bordes -clear
-float
-clear

En CSS1, no podemos combinar una pseudo-clase y un pseudo-elemento para la misma definición de


estilo. Esto cambia en CSS2, aunque la sintaxis de definición es bastante rígida.

Versión 1.0
Curso de Cascade Style Sheet – CSS Pagina 14 / 26

10. Estructura
La estructura del documento es determinante para la forma en que CSS aplica los estilos al documento,
sobre todo en torno a las relaciones entre padres e hijos.

El primer gran beneficio de este tipo de relaciones es el hecho de que podemos definir relaciones de
contexto entre los elementos. Por ejemplo, si queremos definir que los EM que estén dentro de un H1
serán grises, podemos añadir un atributo CLASS a cada EM que esté dentro de un H1, o definir una
regla como la siguiente:

H1 EM {color: gray;}

Herencia.- Es la propiedad por al cual un estilo no sólo se aplica a un elemento en concreto, sino que es
heredado por sus descendientes y aplicado por estos:

H1 {color: gray;}
<H1>Meerkat <EM>Central</EM></H1>

Debemos tener en cuenta que no todas las propiedades se heredan. Existen una serie de razones
(normalmente de sentido común) por las cuales algunas propiedades no se pueden heredar, por
ejemplo la definición de bordes.

Versión 1.0
Curso de Cascade Style Sheet (CSS) Pagina 15 / 26

11. Especificidad
Hay ocasiones en las que podemos encontrarnos en la situación de que un mismo elemento
tenmúltiples definiciones para ser formateado de formas distintas:

.grape {color: purple;}


H1 {color: red;}
<H1 CLASS="grape">Meerkat <EM>Central</EM></H1>

En estos casos CSS define que se debe aplicar el estilo que sea más específico, ejemplo de gradación
que aplicará un navegador a la hora de aplicar los estilos:

H1 {color: red;} /* specificity = 1 */


P EM {color: purple;} /* specificity = 2 */
.grape {color: purple;} /* specificity = 10 */
P.bright {color: yellow;} /* specificity = 11 */
P.bright EM.dark {color: brown;} /* specificity = 22 */
#id216 {color: blue;} /* specificity = 100 */

Por definición, los estilos heredados tendrán un valor de especificidad 0 y los aplicados a través de la
propiedad STYLE, un valor superior a 100.

Importancia.- Podemos marcar que ciertos estilos son más importantes que otros, pudiendo así
modificar las reglas de especificidad aplicadas por el navegador. Un estilo importante se define
añadiendo la coletilla !important al final del mismo:

P.dark {color: #333 !important; background: white;}

Esto estilos recibirán siempre el valor de especificidad más alto considerado por el navegador.

Versión 1.0
Curso de Cascade Style Sheet – CSS Pagina 16 / 26

12. Estilos en cascada


Cuando hay dos reglas que tienen la misma especificidad sobre el mismo elemento:

H1 {color: red;}
H1 {color: blue;}

Debemos seguir el siguiente proceso para decidir qué estilos aplicar:

1.Buscar todas las declaraciones que contengan un selector que encaje con un elemento dado.

2.Ordenar por especificidad todas las declaraciones que se aplican a este elemento. También debemos
ordenarlas por su origen como: Diseñador, navegante o navegador (la priorización sigue este orden).

3.Ordenar por orden las declaraciones. Las últimas declaraciones tendrán un peso más elevado. Las
declaraciones obtenidas como consecuencia de un IMPORT se considerarán como las primeras
teniendo así un peso menor, al contrario de las resultantes de aplicar un STYLE que se pondrán al final
de la lista con un peso más elevado.

Así el color obtenido para el elemento H1 será azul.

Clasificación de los elementos.- En CSS1, los elementos formateados pueden agruparse en tres
categorías:

-Elementos de bloque. Como los párrafos, los encabezdos, las tablas, las listas, los DIV o el BODY. Son
lso que fuerzan un salto de línea al final de los mismo.

-Elementos inline. Como los enlaces, el énfasis o el SPAN. Pueden ser hijos de cualquier otro elemento.

-Elementos de lista. Son aquellos que en HTML sólo pueden contener elementos de tipo LI. Pueden ser
automáticamente numerados o susceptibles de tomar algún tipo de estilo que se aplique a cada uno de
los ítems que los definen.

Podemos cambiar la visualización de ciertos elementos mediante la propiedad display, la cual tiene las
siguientes características:

-Puede tomar los valores: block, inline, list-item, none (oculta el elemento).
-No se hereda.
-Es aplicable a todos los elementos.

Con display podemos cambiar aspectos típicos de visualización que están definidos en HTML, como el
hecho de que los párrafos sean de tipo bloque: P {display: inline;}

Pero cuando realmente se le saca partido a la propiedad display, es cuando formateamos un documento
XML. Esto se debe a que XML no tiene un comportamiento predefinido para los elementos que
contiene.

CSS2 completa los tipos de formateos añadiendo un tratamiento específico para tablas, filas y celdas.

Versión 1.0
Curso de Cascade Style Sheet (CSS) Pagina 17 / 26

13. Colores y unidades


13.1. Colores
Lista de colores disponibles por nombre: aqua, gray, navy, silver, black, green, olive,
teal, blue, lime, purple, white, fuchsia, maroon, red, yellow. Están tomados de los
dieciseis colores básicos que se generan como VGA.

Colores definidos mediante valores RGB. Pueden definirse como valores porcentuales entre 0 y 100 %
(color: rgb(100%,80%,60%)) , o mediante valores numéricos entre 0 y 255 (color: rgb(255,0,0)).

Colores definidos mediante valores hexadecimales con la estructura #RRGGBB (color: #FF0000). La
notación hexadecimal puede abreviarse cuando sus valores se repiten para cada par, como en la
expresión color: #000.

Colores web-safe. Son aquellos cuya visualización se mantendrá entre navegadores. Existen 216 de
estos colores, los cuales se obtienen mediante incrementos del 20%, 51 unidades o 33 en hexadecimal
(rgb(40%,100%,80%), rgb(0,204,153) o #669933).

13.2. Unidades

Medidas absolutas de longitud:

-Pulgadas (in).
-Centímetros (cm).
-Milímetros (mm).
-Puntos (pt). Medida tipográfica utilizada en la definición de las fuentes. En una pulgada hay 72 puntos
(font-size: 18pt equivale a font-size: 0.25in).

-Picas (pc). Mediada también tipográfica que hace corresponder una pica a 12 puntos.

Medidas relativas de longitud:


em: se corresponde al tamaño de la fuente para el parrafo en concreto al que se aplique. Si definimos
que el texto tendrá un tamaño de 14 puntos, el valor de 1em será equivalente a 14 puntos.

ex: similar a em, pero hace corresponder el tamaño actual de la fuente, al que tendría una X minúscula.

En CSS2 se añaden unidades de medida adicionales como:

Valores de ángulo: utilizado para definir la posición desde la cual se ha originado un sonido
determinado. Tenemos tres tipos de ángulos: degrees, grados (grad) y radianes (rad).

Valores de tiempo: utilizados para introducir retardos entre los elementos hablados de una página.
Pueden ser milisegundos (ms) o segundos (s).

Valores de frecuencia: define la frecuencia que los navegadores que generan voz pueden emitir.

Versión 1.0
Curso de Cascade Style Sheet – CSS Pagina 18 / 26

14. Indentación
Indentación de la primera línea de un párrafo. Es una propiedad que se aplica a elementos de tipo
bloque, y acepta tanto un valor de longitud, como un porcentaje:

P {text-indent: 0.25in;}

Podemos conseguir una sangría francesa, utilizando valores negativos para la indentación:

P {text-indent: -30px;}

Ejemplo :

<html>
<head>
<title>Propiedades del texto</title>
<style>
p.indentacion { text-indent: 0.25in; }
p.indentacion_francesa { margin-left: 0.25in; text-indent: -0.25in; }
p.indentacion:first-letter, p.indentacion_francesa:first-letter {
font-size: 24pt;
background-color: magenta;
color: white;
padding: 5px;
border: 1px solid navy;
}
</style>
</head>
<body>
<p class="indentacion">
Texto de ejemplo sobre los valores de la indentaci&oacute;n.
Texto de ejemplo sobre los valores de la indentaci&oacute;n.
</p>
<p class="indentacion_francesa">
Texto de ejemplo sobre los valores de la indentaci&oacute;n.
Texto de ejemplo sobre los valores de la indentaci&oacute;n.
</p>
</body>
</html>

Versión 1.0
Curso de Cascade Style Sheet (CSS) Pagina 19 / 26

15. Margenes
15.1. Introducción
Hay dos propiedades que establecen la separación de los elementos: margin y padding.

Si bien parecen lo mismo porque a veces no notamos ninguna diferencia entre usar una u otra, no lo
son.

Podríamos decir que margin es la separación de un elemento de otro y padding es el relleno, la


separación entre un elemento y aquel que lo contiene ¿Confuso? Ciertamente, lo es.

Veamos la sintaxis de las propiedades ya que son sencillas.

15.2. Margin
margin es una forma reducida de establecer la separación de los cuatro bordes al mismo tiempo.

sintaxis en HTML
elemento {margin: valores;}

por ejemplo:
div {margin: 2px 0 10px 5px;}

Donde el orden de los valores es: arriba, izquierda, derecha, abajo y, cada una de ellos puede ser
especificad por separado.

La propiedad margin-bottom establece el margen inferior; margin-right el margen derecho; margin-


bottom el margen inferior y margin-left el margen izquierdo.

sintaxis en HTML
elemento {margin-top: valor;}
elemento {margin-roght: valor;}
elemento {margin-bottom: valor;}
elemento {margin-left: valor;}

por ejemplo:
div {margin-left: 5px;}

Versión 1.0
Curso de Cascade Style Sheet – CSS Pagina 20 / 26

Nota:
* Si sólo de especifica un valor, este se aplica a los cuatro lados.
* Si se especifican dos valores, el primero se aplica a los márgenes superior e inferior y el segundo a
los márgenes derecho e izquierdo.
* Si se especifican tres valores, el primero se aplica al margen superior, el segundo a los márgenes
derecho e izquierdo y el tercero al margen inferior.
* Si establecemos cuatro valores, definirán los márgenes superior, derecho, inferior e izquierdo
respectivamente.

Los valores los separamos mediante espacios; por ejemplo:

div {margin: 10px 20px;}

En los llamados elementos inline, los márgenes superior e inferior no tienen efectos prácticos.

15.3. Padding
La propiedad padding es una forma reducida de establecer el "relleno" de los cuatro lados al mismo
tiempo y tiene la misma sintaxis que margin.

sintaxis en HTML
elemento {padding: valores;}
elemento {padding-top: valor;}
elemento {padding-right: valor;}
elemento {padding-bottom: valor;}
elemento {padding-left: valor;}
por ejemplo: div {padding-left: 5px;}

El padding o relleno, es la cantidad de espacio a insertar entre el objeto y su margen o, si hay un borde
(propiedad border) la distancia entre el objeto y el borde.

Sigue todas las reglas que los márgenes excepto que sólo se pueden usar valores positivos. Por
ejemplo:

div {padding: 50px 10px 20px 30px}

Cada elemento de una página web es un rectángulo que tiene un contenido (textos, imágenes, etc.) y
una serie de áreas opcionales a su alrededor (border, margin y padding) por lo tanto, el tamaño final
depende de todas y cada una de esas propiedades aunque también depende de si han asignadas otras
propiedades como width y height, si contiene texto u otros elementos, si es una tabla, si ... etc.

En térmimos generales, el ancho es la suma de los márgenes, los bordes y los rellenos izquierdos y
derechos más el ancho del contenido y la altura es la suma de los márgenes, lso bordes y los rellenos
superiores e inferiores más la altura del contenido.

Versión 1.0
Curso de Cascade Style Sheet (CSS) Pagina 21 / 26

16. Alineación
Nos permite alinear los textos dentro de elementos de bloque de las siguientes formas:

-Izquierda (left).
-Centrado (center).
-Derecha (right).
-Justificado (justify), es decir, centrado a derecha e izquierda.

Podemos utilizar el valor de "text-align: center" para reemplazar al tag CENTER que ahora es
DEPRECATED:

Ejemplo:

<html>
<head>
<title>Propiedades del texto</title>
<style>
h1 { text-align: left; }
h2 { text-align: right; }
h3 { text-align: center; }
</style>
</head>
<body>
<h1>Alineación izquierda</h1>
<h2>Alineación derecha</h2>
<h3>Alineación centrada</h3>
</body>
</html>

Versión 1.0
Curso de Cascade Style Sheet – CSS Pagina 22 / 26

17. Espacios en blanco


Se define mediante la propiedad "white-space", la cual puede tomar los siguientes valores:
pre. Cuando queremos que se tome literalemente los escrito, incluyendo todos y cada uno de los
espacios en blanco.

nowrap. Permite que se conserve todo el texto definido sin aplicar ningún salto de línea forzado por
algún elemento del documento. Es el sustituto del típico <TD nowrap>.

normal. Valor por defecto para la definición de espacios en blanco, la cual no aplica ninguna
consideración especial sobre el texto.

Como las explicaciones incluídas en el estándar CSS 2.1 pueden llegar a ser confusas, la siguiente
tabla resume el comportamiento de cada valor:

Valor Respeta espacios en blanco Respeta saltos de línea Ajusta las líneas
normal no no si
pre si si no
nowrap no no no
pre-wrap si si si
pre-line no si si

Ejemplo:
<html>
<head>
<title>Propiedades del texto</title>
<style>
p { width: 300px; }
p.libre { white-space: pre; }
p.sinsaltos { white-space: nowrap; }
p.normal { white-space: normal; }
</style>
</head>
<body>
<p class="libre">
Texto con distintas representacion de espacios
en blanco para ver su comportamiento.
</p>
<p class="sinsaltos">
Texto con distintas representacion de espacios
en blanco para ver su comportamiento.
</p>
<p class="normal">
Texto con distintas representacion de espacios
en blanco para ver su comportamiento.
</p>
</body>
</html>

Versión 1.0
Curso de Cascade Style Sheet (CSS) Pagina 23 / 26

18. Anchura de líneas


Define la distancia entre las líneas base de dos líneas de texto. En resumen, esta propiedad permite
aumentar o disminuir la distancia vertical entre dos líneas de texto. Esta distancia pude expresarse con
medidas relativa (em, ex), valores absolutos (cm, in, px) o porcentajes directamente.

Ejemplo
<html>
<head>
<title>Propiedades del texto</title>
<style>
p { width: 300px; }
p.normal { line-height: 14pt; }
p.grande { line-height: 150%; }
p.xgrande { line-height: 200%; }
</style>
</head>
<body>
<p class="normal">
Texto con distintas medidas entre líneas para ver su comportamiento en p&aacute;rrafos de texto.
</p>
<p class="grande">
Texto con distintas medidas entre líneas para ver su comportamiento en p&aacute;rrafos de texto.
</p>
<p class="xgrande">
Texto con distintas medidas entre líneas para ver su comportamiento en p&aacute;rrafos de texto.
</p>
</body>
</html>

Versión 1.0
Curso de Cascade Style Sheet – CSS Pagina 24 / 26

19. Espacio entre palabras


Se define mediante la propiedad "word-spacing" y puede tomar los valores "normal" (equivalente a
cero) o un valor numérico.

Ejemplo:
<html>
<head>
<title>Propiedades del texto</title>
</head>
<body>
<p style="word-spacing: normal;">
Prueba de espaciado de palabras en un parrafo.
</p>
<p style="word-spacing: 0;">
Prueba de espaciado de palabras en un parrafo.
</p>
<p style="word-spacing: 1em;">
Prueba de espaciado de palabras en un parrafo.
</p>
<p style="word-spacing: 2em;">
Prueba de espaciado de palabras en un parrafo.
</p>
<p style="word-spacing: -1em;">
Prueba de espaciado de palabras en un parrafo.
</p>
</body>
</html>

Espacio entre letras.- Idéntico al espaciado entre palabras, pero aplicado a los caracteres que forman
cada palabra. Su propiedad asociada es "letter-spacing".

Versión 1.0
Curso de Cascade Style Sheet (CSS) Pagina 25 / 26

20. Transformaciones del texto


Permiten modificaciones en la presentación de las cadenas de texto mediante la propiedad "text-
transform", la cual puede tomar alguno de los siguientes valores:

uppercase: todo el texto se transformará a mayúsculas.

lowercase: todo el texto se transformará a minúsculas.

capitalize: convierta a mayúscula la primera letra de cada palabra.

none: no se realizará ninguna transformación sobre el texto.

Ejemplo:
<html>
<head>
<title>Propiedades del texto</title>
<style>
p { font-size: 200%; font-weight: bold;}
</style>
</head>
<body>
<p style="text-transform: uppercase;">
Prueba de transformaci&oacute;n
</p>
<p style="text-transform: lowercase;">
Prueba de transformaci&oacute;n
</p>
<p style="text-transform: capitalize;">
Prueba de transformaci&oacute;n
</p>
</body>
</html>

Versión 1.0
Curso de Cascade Style Sheet – CSS Pagina 26 / 26

21. Decoración del texto


Añade a las cadenas de texto cierto formato mediante el uso de la propiedad "text-decoration", la
cual puede tomar uno de los siguientes valores:

underline: subraya el texto asociado.

overline: dibuja un línea sobre el texto asociado. Es como un subrayado, pero sobre la parte superior
del texto.

line-through: tacha el texto asociado dibujando una línea sobre el mismo.

blink: hace que el texto asociado parpadee.

none: no aplica ningún elemento decorativo al texto.

Ejemplo:
<html>
<head>
<title>Propiedades del texto</title>
<style>
p { font-size: 200%; font-weight: bold;}
</style>
</head>
<body>
<p style="text-decoration: underline;">
Prueba de decoración del texto
</p>
<p style="text-decoration: overline;">
Prueba de decoraci&oacute;n del texto
</p>
<p style="text-decoration: line-through;">
Prueba de decoraci&oacute;n del texto
</p>
<p style="text-decoration: blink;">
Prueba de decoraci&oacute;n del texto (este está parpadeando :)
</p>
</body>
</html>

Versión 1.0

You might also like