Escolar Documentos
Profissional Documentos
Cultura Documentos
C S S e s un ju e g o d e n iñ o s. T o d o el c o n te n i
CSS,un juego de d o d e u n a p á g in a w e b se e n c u e n tra d e n tro
d e c a ja s , o "c o n te n e d o re s ” . C o m p re n d e r e s
te c o n c e p to e s fu n d a m e n ta l p a ra lle g a r a
niños d o m in a r C S S y lo g ra r c re a r d is e ñ o s a tra c ti
v o s y q u e fu n c io n e n .
Crea tu sitio web
A tra v é s d e u n a s e rie d e c a p ítu lo s p ro g re s i
v o s y c o n la a y u d a d e e je m p lo s p rá c tic o s , el
Peter M üller
a u to r p ro p o n e la c re a c ió n d e un s itio w e b
m e d ia n te H T M L y C S S .
© C opyright: K now W are EURL
Traducción: V ictoria M engual En e s te c u a d e rn o se e x p lic a c ó m o d a r fo r
m a to al te x to , a la s im á g e n e s , a la s lis ta s , a
PC C uadernos - Técnicos
lo s v ín c u lo s ... c ó m o c o n tro la r la p o s ic ió n
w w w .pc-cuadernos.com p re c is a d e lo s o b je to s co n a y u d a d e m á rg e
S ociedad editora: n e s y e s p a c io s , y c ó m o h a c e r u s o d e lo s e s
tilo s a n id a d o s p a ra lo g ra r p á g in a s d e d is e ñ o
Know W are E.U.R.L.
fle x ib le y a m ig a b le .
70, rué G eorges Viilette
F-77250 Ecuelles La p rim e ra m ita d d e l m a n u a l p e rm ite in tro
d u c irs e p a s o a p a s o en lo s c o n c e p to s b á s i
Francia c o s d e H T M L y C S S . E n la s e g u n d a p a rte,
D irector: la s e x p lic a c io n e s , a p e s a r d e m a n te n e r su
M ikkel Franck c la rid a d , se c e n tra n en te m a s m á s c o n c re
to s y c o m p le jo s .
Dirección electrónica:
info@ pc-cuadernos.com E n c u a lq u ie r c a s o , ta n to lo s p rin c ip ia n te s
c o m o lo s p ro g ra m a d o re s a v a n z a d o s s e g u ro
D epósito legal: B -55690-2006
q u e s a c a rá n un g ra n p a rtid o d e to d a la in
ISBN: 2-915605-62-9 fo rm a c ió n q u e o fre c e el a u to r.
Im prenta:
M ikkel Franck, editor.
Im printsa
m franck@ pc-cuadernos.com
im pressions intercom arcals, S.A.
S ant Fruitós de Bages, Barcelona
D istribución quioscos:
C oedis S.L.
Avda. de B arcelona, 225
Todos los productos citados en este manual son
M olins de Rei marcas registradas o marcas comerciales. El au
B arcelona tor y el editor declinan toda responsabilidad que
pueda surgir de la utilización de los datos o pro
Venta por núm eros: gramas que aparecen en este libro.
D espués de su aparición, los núm eros de esta
colección pueden pedirse por correo.
(Consulta la página 92)
readme.txt 3
readm e.txt
M B f t v J n U M S wmb s m personas que han llegado a
1 ypr n ss z . ;u¿ han aprendido mediante el mé-
¿A quién se dirige?
i É b á r | r a d i f <nt Lo han visto aquí, /o han Los únicos requisitos reales para la lectura son
k&bMKL y rf Aadhp de fue funcione es más importante tener interés por la web v ganas de aprender. Lo
O t é pCVZpt ideal sería que el lector no tenga alergia al códi
go fuente, y que no se asuste ante una indica
C :r - raer-po uno logra juntar m uchas peque- ción hexadecim al de un color com o #f3c600.
”_Lr r^ ez^ CSS que, sin em bargo, no propor- El cuaderno está pensado principalm ente para:
- - r zr - r a im agen general. Este cuaderno está
; rara m ostrar dicha im agen final. • Principiantes que ya hayan dado sus prim e
ros pasos y deseen saber más.
• Diseñadores de tablas que hayan oído que
tam bién se puede vivir sin ellas, pero no
La idea sobre ei cuaderno sepan cómo.
La idea sobre este cuaderno surgió después de • Diseñadores web que busquen una intro
m uchos años asistiendo a sem inarios en los que ducción compacta y estructurada a CSS.
los participantes siempre tropezaban con la • Programadores que deseen crear un fro n -
m isma piedra. Se fundamenta en dos pensa tend adecuado para sus scripts del lado del
mientos: servidor.
• En prim er lugar, debe ser corto. Quería lograr Si logras llegar al final del cuaderno, habrás ad
casi 100 páginas, y lo he (casi) logrado. El quirido un conocimiento fundam ental sólido
lector debería dedicar al cuaderno el m íni que te perm itirá com prender m ejor los ejemplos
m o tiem po posible, y el m áxim o a la crea que se encuentran en Internet y en otros libros.
ción de sitios web.
Com o principiante, te recom iendo que leas el
• £ -: segundo lugar, no tendría que hablar de to
cuaderno a tu ritmo de principio a fin. Si eres
l e . Este cuaderno está pensado com o una
un usuario avanzado, puedes saltar a las partes
groa para el laberinto de CSS, y no quiero
que te interese con la ayuda del índice de m ate
explicar todas las pequeñas cosas que se
rias y de palabras clave. Los datos de ejem plos
cruzan por el camino.
del cuaderno se pueden descargar gratuitam en
El B 2r.ual incluye num erosos ejercicios prácti te de http://w w w .pc-cuadem os.com .
cas v i k? largo de los capítulos term inarem os
Peter M üller
e r r e r e : un pequeño sitio web que se puede uti-
__er com o punto de partida para que el lector
g y irri—m fr por su cuenta.
S h « h i r g o , tam bién explicaré conceptos im-
? como la especificidad, el m odelo de
G f B w h o s r a d a y la herencia de forma com -
r « r > : - rara que el lector no tenga que seguir
i r e r ^ ¡retracciones paso a paso sino que
Segue a com prender el diseño con CSS. "La
e n e re n ce- cofXK±niento", tal com o dice Stefan
-r >T fHTNíL rS.se¡rninii.orq).
4 La web no está hecha de papel
la ven exactam ente igual (obviando las m an I IDar formato a b s documentos utilizando mi hoja de estile
chas de café, el am arilleo y otras desviacio ,1 P Ó T ’
nes m arginales).
.-Vominar
El pensam iento basado en el papel espera un
control sobre el diseño e invariabilidad del pro
ducto acabado. Pero la web no está hecha de pa A g n fc r Cancelar
• El autor de una página web no tiene pleno con Desde aquí, el usuario puede ignorar el estilo de
trol sobre su aspecto. En últim o lugar es el fuentes y colores de todas las páginas web.
usuario el que determ ina el aspecto (y el Pruébalo. Intenta ver las páginas web con tipos
com portam iento) de la página en su nave de fuente y colores totalm ente distintos a los fi
gador, pero el autor solam ente puede expre jados por los autores de las m ism as.
sar un deseo. El usuario incluso puede utilizar una hoja de es-,
• Una vez term inada, una página w eb se mues tilos (CSS) propia para visualizar todas las pági
tra diferente para cada usuario. nas web que se m uestren en el navegador. Com o
vem os, el autor no tiene el control total sobre i*
página web.
La web no está hecha de papel 5
A unque parezca incongruente, si quieres diseñar Periódicos: las páginas de papel son rígidas,
páginas web prim ero deberás desistir de querer las páginas web son flexibles
diseñar páginas web. Es así. N o tendrás ningún
La siguiente historia describe a la perfección la
control sobre el aspecto que tendrá la página en
diferencia entre el m edio im preso y la web:
el navegador del usuario.
• Por la m añana sales de casa y com pras un
2. Las páginas web tienen un aspecto distinto periódico.
para cada usuario • En el metro no hay m ucho espacio, y el pe
En realidad, una página web no tiene el aspecto riódico se encoge autom áticamente. A tam a
que el usuario ve en la ventana del navegador. ño A5 o similar.
El navegador recibe del servidor únicam ente el • En el trayecto a pie hasta la oficina, disfrutas
código fu en te, una especie de proyecto de cons del entorno y dejas que tu reproductor MP3
trucción. El navegador es el encargado de anali te lea un artículo previam ente marcado.
zar el proyecto y representarlo de la m ejor forma • En la mesa del despacho, el periódico se am
posible. plía por sí solo. A tam año A2, o lo que quepa
en función del espacio disponible.
Cuando uno crea una página, en realidad crea
• Por la tarde le das el periódico a tu abuela,
código fuente. A unque ni siquiera haya oído o
que duplica el tamaño de fu en te y le cam bia la
leído nunca este térm ino porque trabaje con un
tipografía para leerlo m ás fácilmente.
editor visual com o Frontpage, Go Live o
Dreamweaver. Cuando cargam os la página ter Y todo ello, con el m ism o periódico. Por natura
m inada en el sen ad o r web, únicam ente transm i leza, una página web es tan flexible com o este
tim os el código fuente, pero no la página tal co periódico. El único m om ento en que pierde di
m o se m ostraba en el editor. Es decir, el código cha flexibilidad es cuando el diseño es erróneo, o
fuente es en cierta m edida la página web real. cuando se im prim e.
u iiu te
• El núcleo, la capa m ás profunda de la pági te idénticas: fondo gris, letra negra e hipervíncu-
na, es el contenido, el texto, el código los azules que pasaban a ser lilas cuando apun
HTML. Este núcleo es flexible y se adapta a taban a una página ya visitada.
las circunstancias.
C uando la Red se convirtió en un gran boom
• A lrededor de este núcleo hay otras capas, m undial a m ediados de los noventa, las páginas
com o C SS para la pantalla, CSS para la im w eb sim ples perdieron terreno frente a los dise
presora, JavaScript para facilitar el manejo ños más elaborados. El World Wide Web Con-
(AJAX), etc. sortium (http://w3.orq) trabajó para elaborar CSS,
Las capas alrededor del núcleo son m ejoras que un lenguaje para el diseño atractivo de elem en
hacen que la página sea más bonita y m ás fácil tos H TM L. Sin embargo, el m undo quería pági
de manejar, pero no siempre se hace uso de to nas llenas de color, y las quería rápido. A nadie
das esas capas. le im portaba un nuevo lenguaje genial que no
tenía siquiera fecha de lanzamiento.
Cuando cream os páginas web adecuadas al m e
dio no sólo querem os crear una página que se C uando Netscape inventó la etiqueta <font> p a
muestre exactam ente igual en todos los navega ra el diseño de fuentes y <table> para las tablas,
dores. Eso es im posible, del m ism o m odo que (casi) todo el m undo quedó entusiasm ado, y el
intentar buscar el final de Internet. diseño web clásico em pezó a cobrar forma:
Una página w eb no tiene que verse exactam ente • Form ato de fuentes con font
igual en todas partes, sino que debe fu n cion ar en • Posidonam iento con tablas HTML invisibles
todas partes. El contenido debe seguir siendo ac
El código fuente de estas páginas es práctica
cesible para el usuario.
m ente ilegible para las personas, y la incorpora-
d ó n de cam bios posteriores a la estructura se
Conforme a los estándares, accesibles y
convierte rápidam ente en una pesadilla.
flexibles = adecuadas al medio
En la web circulan distintos térm inos cuyo obje Vuelta a la mentalidad del papel
tivo es distanciam os de la m entalidad del pen En d e rto sentido, esta forma de aplicar formato
sam iento centrado en el papel: supuso un paso atrás hacia el familiar m undo de
• Diseño web conform e a los estándares ( " D esig- la m entalidad centrada en el papel. Los editores
ning zoith Web Standards") visuales com o Frontpage o GoLive ocultan el
• Diseño web sin barreras ("Accessibility", es de código fuente y refuerzan así la m etáfora del
cir, "A ccesibilidad") papel actuando com o si fueran sim ples procesa
• Flexibilidad ("Bullet P roofW eb Design") dores de textos. Aún hoy hay m uchos diseñado
• Optimización para motores de búsqueda res de páginas web que se sorprenden al com
(“Search Engine Optimization") probar que la página se ve distinta en su m oni
tor que en el navegador del vecino.
A fin de cuentas, todos estos térm inos nos ani
man a crear páginas w eb de forma que se adap El form ato de fuentes m ediante CSS se im puso
ten a las posibilidades del World Wide Web, algo de forma relativam ente rápida a finales de los
que yo agrupo dentro del térm ino "diseño web noventa. Si se planificaba bien, podía aligerar
adecuado al m ed io". m ucho el trabajo, porque una hoja de estilos
puede utilizarse para tantas páginas com o se
desee. Perm ite dar formato por control remoto.
¿Diseño de páginas con tablas? A unque CSS tam bién ofrecía teóricam ente la po
sibilidad de posicionar objetos en una página
Si el diseño web adecuado al m edio es tan fan
w eb, en aquel entonces los navegadores no in
tástico, ¿por qué anteriorm ente las páginas web
terpretaban CSS correctam ente, hasta el punto
se diseñaban a partir de tablas? Vamos a aclarar
de que el intento podía conllevar resultados in
lo haciendo un poco de retrospectiva.
esperados. Por ese m otivo, los diseños de varias
colum nas se seguían realizando con tablas.
Legítima defensa: tablas y <font>
La web fue creada por científicos para científi Diseños sin tablas
cos, y los científicos suelen estar m ás interesados
A ctualm ente la situación ha cambiado. Los na
- y no sólo en el caso de las páginas w e b - en el
vegadores m odernos son tan com patibles con
contenido que en la forma. En los inicios de la
CSS que los diseñadores web ya no tienen nin
red de redes, las páginas web eran prácticam en
La web no está hecha de papel 7
guna excusa, a excepción de una pereza innata y No todo es más sencillo con CSS, y la curva de
una acusada falta de tiem po, para no diseñar sus aprendizaje inicial es m ás bien plana. Quizás te
páginas por com pleto con CSS. estarás preguntando porque has dedicado tantos
años a aprender a diseñar páginas web utilizan
La diferencia con el diseño tradicional basado en
do tablas y ahora tienes que volver a em pezar
tablas HTML de la década de los noventa es
desde cero.
abism al, y si ya se han diseñado páginas con ta
blas, lo mejor es olvidarse de todo lo aprendido. No serás el único:
Diseñar con CSS es distinto. Muy distinto. No
hay punto de com paración. Mala cosa es -exclamó Eduardo- que ahora ya no se pueda
aprender para toda la vida. Nuestros antecesores se atenían
La separación de contenido y form ato, por ejem a la instrucción que habían recibido en su juventud; noso
plo, es un concepto nuevo: tros, en cambio, debemos volver a aprender cada cinco años
si no queremos quedar completamente pasados de moda.
• Se parte de archivos HTM L bien estructura
dos, sin diseño. Goethe. Las afinidades electivas. Primera parte,
• Posteriorm ente se da form ato a los archivos cuarto capítulo. 1809. Nuevas reglas para un
con instrucciones CSS. nuevo medio. La web no está hecha de papel, y
para el diseño de páginas web tenem os CSS.
8 Así funciona HTML
En su relación con dichos cuadros, los lenguajes Las etiquetas HTM L se colocan entre los signos
HTM L y CSS ("C ascading Style Sheets") tienen m ayor y m enor que y se llaman <tags>, que en
español se traduce com o "etiqu eta":
dos com etidos claram ente diferenciados:
<p>Este texto es un párrafo normal.</p>
• H TM L es el albañil que construye la casa y
El navegador sabe, gracias a las etiquetas, que el
ajusta la distribución de las habitaciones.
texto entre am bas es un párrafo normal. En este
Con H TM L se crean los cuadros rectangula
ejem plo, p significa paragraph, en español párrafo.
res y se llenan de contenido.
• C S S es el decorador que diseña la casa y las
L de Language: vocablos y regias
habitaciones. CSS perm ite dar forma a los
gramaticales
cuadros y al contenido, y posicionarlos.
H TM L es un lenguaje, en el que naturalm ente
HTM L es un lenguaje sencillo y por ese motivo existen vocablos y reglas gram aticales. Tags,
no siempre se le tom a en serio. Sin em bargo, si elem entos, atributos y reglas gram aticales... es
los cuadros no están bien estructurados en necesario aprenderlo todo, y aplicarlo m eticulo
HTM L, esto puede conllevar graves problem as a sam ente.
la hora de darles forma con CSS.
Este cuaderno no pretende ser una referencia
El diseño de páginas w eb con CSS empieza por com pleta, ya que se pueden encontrar varias de
unos buenos conocim ientos básicos de HTM L, ellas en Internet. Un ejem plo gratuito, actualiza
algo de lo que nos ocuparem os a continuación. do y vivo es SelfHTM L. Se puede encontrar en
versión impresa o consultar gratuitam ente en:
• http://es.selfhtml.orq
¿Qué es realmente HT - M - L?
HTM L significa H yperText M arkU p Language (en XHTML: la última versión de HTML
español "lenguaje para el m arcado de hipertex- A ntes o después uno termina topándose con el
to"). A unque esta traducción es correcta, no es térm ino XHTML. Para resum irlo, XH TM L es la
especialm ente descriptiva, por lo que verem os a últim a versión y el futuro de HTM L, com o m í
continuación una explicación m ás detallada de nim o según la voluntad del W 3 C (http://w3.orq).
cada letra. La X corresponde a eXtensible (ampliable). Las
Así funciona HTML 9
r*
10 Así funciona HTML
Información sobre el documento: <m eta ...> | ***** samas asaa* fraata &&& «*»>
En los m etadatos es posible incluir distintas ins (jOOOlC ti? 1j&Wtttrfr
Cy Sv'-fcjvrM 4S‘«V9k O Ü í»
trucciones útiles para senadores web, navegado La w ¡ * b a e c W r t V M * » *MO<w aBtoWe t i * ¿M ®* !<UJ * * * * « « •
r*
12 Así funciona HTML
Todos los elementos HTML tienen un tag de G ráficam ente tendría este aspecto:
inicio y de cierre
Los elem entos H TM L em piezan y term inan con
un tag. En este sentido, el tag final se diferencia
del inicial por una barra: Fig. 5: Un cuadro dentro de un cuadro dentro de un cuadro
<p>Este texto es un párrafo.</p>
Los elementos de bloque e inline se
<p> le indica al navegador " Aquí em pieza un pá comportan de distinta forma
rrafo", m ientras que </p> significa "A qu í term i
Todos los elem entos son rectangulares, pero
na un párrafo".
existen distintos tipos de cuadros que se com
portan diferente. Los dos m ás im portantes son
Elementos HTML: tag de comienzo, contenido
los elem entos tipo bloque y en línea.
y tag final
He aquí un breve ejem plo para ilustrar los tér Los elementos de bloque pueden ser tan amplios
m inos elem ento y tag: como sea necesario
Los elem entos de bloque se parecen a los form a
Elemento HTML (cuadro rectangular)
tos de párrafo de Word:
• Los cuadros de un elem ento de bloque se
ensanchan autom áticam ente tanto com o sea
posible.
• Los elem entos siguientes se encuentran de
Fig. 4: Construcción de un elemento HTML bajo del cuadro en la línea siguiente.
U n elem ento H TM L se com pone de tres partes. Los elem entos de bloque contienen texto nor
En este ejem plo son: m al, elem entos inline y a veces otros elem entos
• El tag de com ienzo entre signos m ayor y m e de bloque. Buenos ejem plos de ello son p, ui, oí,
ii así com o los títulos hi a h6.
nor que: <p>
• El contenido: Este texto es un párrafo. Los elementos inline son tan anchos como su conte
• El tag fin a l, tam bién entre signos m ayor y nido
m enor que: </p> Los elem entos inline se parecen a los form atos
Los tres juntos constituyen un elemento. Los ele de carácter de Word:
m entos son siem pre cuadros rectangulares y to • El cuadro de un elem ento inline solam ente
dos los textos y gráficos de una página web se es tan ancho com o su contenido.
incluyen dentro de dichos cuadros. Sin excep
• Los elem entos siguientes fluyen directam en
ción. También se les puede llam ar contenedores o
te después del elemento.
cajas. En inglés se les conoce com o box.
Los elem entos inline no crean líneas nuevas y es
Anidación de elementos HTML: el primero tán supeditados a los elem entos de bloque. P u e
que se abre, el último en cerrarse den contener texto norm al y otros elem entos in
line, pero no elem entos de bloque. A lgunos
Cuando se anidan elem entos H TM L es necesario
ejem plos son em, strong, a e img.
respetar una regla básica esencial: el elem ento que
se abre prim ero es el último que se cierra. Un ejem
¿Elem ento de bloque o inline?
plo:
<p>Normal, <strong>negrita, <em>negrita y En la referencia H TM L de SelfH TM L encon
cursiva</em></strong>. Otra vez normal.</p> trarás m ás inform ación sobre si un determ i
Los elem entos p, strong y em se abren y cierran nado elem ento es de bloque o inline:
en orden inverso. Los cuadros creados por los http://es.selfhtml.orq/html/referencia/elemente.htm
elem entos se anidan uno dentro de otro com o
m uñecas rusas: em se guarda dentro de strong,
que a su vez se encuentra dentro de p.
Así funciona HTML 13
bres asignados m ediante id cobran más impor- De form a ideal, los títulos deben perm itir que el
tanda. lector pueda deducir el contenido de la página
web saltando de título en título. Así, por ejem
Los com entarios después de cada </div> ayudan
plo, un usuario puede decirle a su screenreader
a farilitar la lectura, aunque los tags de inirio y
que solam ente le lea los títulos de una página.
final estén m ás separados entre sí.
HTM L tiene seis elem entos distintos para títulos,
Representación esquemática de las desde ¡ti hasta /z6. La h corresponde a heading
secciones div ("títu lo "), y el núm ero a continuación el nivel de
Los elem entos div perm iten crear cuadros rec la estructura. h2 no significa "el segundo título
tangulares en la página web en los que es posi del texto", sino "u n título de segundo nivel".
ble alm acenar otros elem entos HTM L com o títu Así, puede haber varios títulos h2 en una misma
los y párrafos. Esquem áticam ente tendría este página.
aspecto:
No seleccionar el nivel del título por el
<bo<iy tó=*Tntcto*>
<drv td=Vrapperv»
tamaño de letra
<div id='encab€2ado'> En la mayoría de navegadores, los distintos ni
veles de título se representan utilizando distin
</div> tos tam años de fuente. Sin em bargo, deberíam os
<div ld=’ navegaaon‘ > evitar seleccionar un determ inado nivel de título
por el tam año de letra que se le asigna:
</dív>
¿r
<dtv id=*areatexto’ >
• El aspecto de un título y, con él, el tamaño
de letra, se pueden cam biar m ás tarde con
</div> : CSS.
<div id='pie‘ > • En H TM L solam ente estam os diciendo mo
m entáneam ente que el texto m arcado es un
</div> título, y qué nivel de estructura tiene.
<«Y>
En pocas palabras: no em pieces tu página web
* booy>
p. ej. con <h3> sólo porque <hi> te parezca dem a
Fig.6: Representación visual de las secciones creadas con div
siado grande.
Adem ás, todos los títulos son elem entos de bloque,
Títulos: h1 a h6 por lo que autom áticam ente son tan anchos co
m o sea posible y tienen un salto de línea inte
Una vez se m uestran en el navegador, los textos
grado.
de las páginas web no suelen leerse de forma
concentrada palabra a palabra, sino que se so Tarea: crear un título para la página web
brevuelan con la vista en busca de lo que
interesa. 1. Abre la página inicial index.htm l en el edi
tor.
M ediante el uso de títulos, párrafos y listas po
2. Coloca el cursor en el área de encabezado.
dem os ofrecer puntos en los que el usuario pue
3. Rellénalo con el siguiente código resaltado
de fijar la vista en su recorrido por el texto.
en negrita:
Uso de títulos <div id="encabezado">
A unque en la clase de lengua no apreciases de <hl>Little Boxes</hl>
m asiado el térm ino ''estructura", deberías apli </div>
car títulos en las páginas web que crees. Los títu 4. Guarda la página y ábrela en un navega
los estructuran la página y despejan el texto dor.
desde el punto de vista óptico.
El texto se m uestra grande y en negrita en la
ventana del navegador. No es bonito, pero es un
título.
r
16 Los elementos HTML más importantes
Párrafos: p de paragraph
El elem ento H TM L que probablem ente más se 1. Com pleta el areatexto de la página de
utiliza es p, que significa paragraph, es decir, pá ejem plo con el siguiente código:
rrafo. Cualquier párrafo de texto norm al empieza <div id="areatexto”>
por <p> y term ina por </p>. <h2>Inicio</h2>
................................................................................................ i— — .-------------------------------------- — .—
Tarea: crear un párrafo de texto normal <p>Las páginas web están compuestas de
1. Com pleta la página de ejem plo con el si <strong>cuadros rectangulares</strong> que
guiente código resaltado en negrita: se pueden colocar unos junto a otros o
superponer entre ellos. Todo lo que sea
<div id="encabezado">
redondo es un truco, un gráfico o ambas
<hl>Little Boxes</hl>
cosas.</p>
<p>Diseño de páginas web con CSS. Funda
mentos .</p>
</div> <p>Los siguientes pasos muestran el camino
desde la creación de las <em>cajas</em>
2. Guarda la página y ábrela en un navega
hasta la <em>página web</em>
dor web.
terminada:</p>
Com o regla de oro, utilizarem os strong para re Com o se aprecia en la ilustración, los elem entos
saltar el texto ya antes de la lectura y em cuando de la ventana del navegador ya tienen cierto
queram os que el texto resalte durante la lectura. formato:
• Los títulos están negrita y son grandes
• Entre párrafos hay líneas en blanco
• strong es negrita y em cursiva
Los elementos HTML más importantes 17
En el código fuente no hem os indicado nada de <ui> le indica al navegador "A qu í em pieza una
todo esto. ¿De dónde viene pues el formato? lista no ordenada". Entre < i i > y < / i i > s e encuen
tran los distintos elem entos de la lista antes de
La solución al enigm a es que cada navegador
que ésta term ine con </ui>. Y este es el aspecto
tiene una serie de instrucciones de form ato inte
de la lista con viñetas en la ventana del navega
gradas. Cuando le presentam os un título h l , éste
dor:
piensa "M m m h. h l es un título im portante. Aquí
no dice qué aspecto debe tener, así que lo pondré ♦ Asi funciona HTML Fig.8:
♦ Elementos HTML importantes Una lista no ordenada
bien grande y en negrita".
♦ Diseño con CSS
Este tipo de instrucciones de formato alm acena
das suelen llam arse patrones de form ato en m u Ten en cuenta que en HTM L no estam os indi
chos program as, o en inglés style. Un conjunto cando nada sobre el tipo de viñeta que se debe
de styles se conoce com o stylesheet y cada nave utilizar. El código fuente dice que el texto es una
gador tiene su propia stylesheet integrada. lista con viñetas, pero no dice nada sobre su as
pecto. De m om ento, de esto se ocupa la styles
Con las Cascading Style Sheets podrem os crear heet integrada en el navegador.
m ás tarde patrones de form ato que sobrescribi
rán la propia del navegador. Todo lo que noso Listas no ordenadas como base para la nave
tros no definam os seguirá teniendo el formato gación
de la hoja de estilos del navegador.
Las listas no ordenadas suelen constituir la
base para la navegación. En la pág. 19 creare
Listas: viñetas y numeraciones mos una lista de navegación HTM L para las
páginas de ejem plos, a la que aplicarem os
Las listas ordenadas y no ordenadas son un m e form ato m ediante CSS a partir de la pág. 52
dio m uy im portante para estructurar texto en
(horizontal) y pág. 76 (vertical).
una página web.
Para com prenderlo mejor, he aquí un esquem a Témame a drónir ideéaaoa <ist) texm)
de las cajas de listas del ejem plo que acabam os l a de&BSML desínpdcfi s « p Scad óa (deáab& i (fet> defenfon)
de ver:
Fig.12: Una lista de definiciones
La sección superior de la página de ejem plo ten se desea, en la hoja de estilos el skip-link se
drá este aspecto en la ventana del navegador: puede ocultar m ás tarde para m ostrarlo en un
navegador visual (véase pág. 33).
En la página de ejem plo no sería necesario un
^ ** K*B ▼(p* Ü!F skip-link porque la navegación es extrem ada
b al coatcadc
m ente corta, pero es una cuestión de corrección
incluir un skip-link en cualquier página que
L ittle B oxes
quiera ser accesible. Y ahora ya sabes cóm o
Dfeefcó*p4f»&-ríeCS6 ?-judatE«tcs hacerlo.
El atributo class
Inicio
En el ejem plo hem os utilizado el atributo
la s pijSias T í b íJKín cc-tcpuciías de eazéiav r« era «jalare í m» sí p«ajíen íde <K3f 3!K=í TCBSK-3
o t a * e Mp^fpear» nar Twío-tc qw r-fdWKfe-*? aa tretCMSi grafito o aafc*< í&sas. class. Volveremos a hablar sobre la im portan
cia de class en el capítulo sobre selectores CSS,
F/g. 74; La página de ejemplo con una lista de navegación
a partir de la página 37.
L « páa r*a* v.¿b c:Ln. w<jn¡p«eim de cuadro* rtC M igabres our i s puedas coloca unos tínU a Se recom ienda hacer un uso m oderado de
oocrt o »«j>erpooo coa dk>s Todo lo ^ sea tcdoudo s i ucs tr ic o ir. grá&o o acaban co±as
<br />, ya que el flujo de texto en las páginas
w eb se ve influido por m uchos factores y, a
Fig. 15: index.html con una imagen como título hl diferencia de las páginas de papel, el autor no
puede controlarlo.
22 Los elementos HTML más importantes
1. A bre la página de ejem plo index.htm l. En este caso se trata d e una marcación Jopea del •:enterado Como
estos párrafos son formateados, lo detm ona d oovegedor La norma es
2. Com plétala con el siguiente código en el hacer visuafaar tales párrafos de forma resaltada y dfereea? dd texto
apartado pie: adtdooal rF ü fr¡t«: StlfH TM L)
<address> TerrnnaCO
little boxes · Calle cuadro, 12 <P Fig. 17: Blockquote con 2 párrafos y cite
· 02943 Boxland
La m ayoría de navegadores representan block-
<br />
quute con sangría y cite en cursiva.
Tel 035774 34711 fcmiddot; Fax 03574 34712
</address>
span es un elemento inline neutro
3. G uarda la página y ábrela en un navega Ya conocem os el elem ento de bloque neutro div
dor. para agrupar otros elem entos, span es un ele
m ento inline neutro que nos perm ite m arcar un
Por cierto, · ; crea un pequeño punto re determ inado texto dentro del flujo de texto,
dondo que se coloca en el centro de la línea. La aunque no se m uestra de form a distinta en la
m ayoría de navegadores representan el elem en ventana del navegador:
to address en cursiva, pero podem os m odificarlo
<hl><span>Este texto está rodeado por
posteriorm ente m ediante CSS (pág. 31).
span</span><hl>
blockquote y cite para citas A unque span no suele utilizarse tan a m enudo
com o div, al aplicar form ato con CSS a veces tie
C om o el nom bre ya nos indica, blockquote es un
ne sentido m arcar determ inados pasajes de texto
elem ento de bloque para citas. El elem ento está
con span, y por eso creo que vale la pena m en
especialm ente indicado para citas largas. A de
cionarlo aquí. Al igual que div, span tam bién sue
m ás, el texto dentro de blockquote se debería ro
le utilizarse junto con los atributos id y class.
dear de otros elem entos de bloque p. ej. p.
Con ayuda del elem ento inline cite podem os Tarea: rodear una palabra con span
m arcar citas breves en el texto o, com o en el
1. M odifica el código fuente de la página co
ejem plo siguiente, indicar la fuente de una cita
mo sigue:
al final del bloque de la cita:
<p>Diseño de páginas web con CSS.
<p>El siguiente párrafo es un bloque de cita
con indicación de la fuente:</p> <span>Fundamentos.< /spanx/p>
<blockquote> 2. G uarda la página.
<p>üd puede resaltar citas de otros autores
en un párrafo propio con formato diferente
(por lo general con sangrías).</p>
Cuando veas la página en el navegador no apre
<p>En este caso se trata de una marcación ló ciarás ningún cam bio de aspecto, pero es posible
gica del contenido. Como estos párrafos son que necesitem os ese span m ás adelante (por
formateados, lo determina el navegador. La ejem plo en la pág. 69).
norma es hacer visualizar tales párrafos de
forma resaltada y diferente del texto adicio
nal . Character Entities: caracteres especiales
<cite>(Fuente: <a href=¿P C uando un traductor no sabe el sentido exacto
"h ttp:// es.selfhtml.org/html/text/ de una palabra, suele "esp añolizarla", y proba
zitate_adressen.htm">SelfHTML</a>)</cite>
blem ente así fue com o entities se convirtió en en
</p>
</blockquote> tidades. ¿Entidades? Caracteres especiales.
Código 1: Ejemplo de uso de blockquote Las páginas web pueden conllevar problem as de
Este es el aspecto que tendría en el navegador: todo tipo con los caracteres especiales. Por eso,
los caracteres especiales suelen escribirse en el
Los elementos HTML más importantes 23
• En el navegador las colum nas de una tabla Fig.19: Tabla sencilla con encabezado, pie y cuerpo
están una junto a otra.
• En el código, las colum nas están una debajo Si deseas obtener m ás inform ación sobre las ta
de otra. blas, encontrarás una referencia com pleta en
SelfHTM L:
Encabezado, pie y cuerpo de una tabla http://es.selfhtml.orq/html/tablas/index.htm
<tr>
Fig. 20: El validador opina que todo está correcto
<th>thead Filal, Columna l</th>
<th>thead Filal, Columna 2</th> De esta forma queda certificado oficialm ente
</tr> que el código HTM L de la página no contiene
</thead>
ningún error gram atical y ya podem os em pezar
<tfoot>
a darle formato.
<tr>
<td>tfoot</td>
<t.d >h foot*< /td >
</tr>
Los elementos HTML más importantes 25
Después
CSS para probar: los W3C core *■ 1■ ■1
¡¡•(IV.-C. íCiti' KjUiM nc-nt/vot* An*ai <
styles ______ ^ 1 ’ /^' W .......
El W 3C ha creado ocho hojas de estilos que rv í> « um U stfAK» 0 0
~ r . r n - x . t t - ---; fes®»'--'-*-''-*
perm iten aplicar form ato m ediante C SS a pági
I r a i c o t r t r o ld o
nas web de ejercicios o de dem ostración, sin ne
cesidad de tener que escribir ni una sola línea de
CSS. littie b n x e s
EHacij d e p á g in a * web con CSS. F u n d a m e n to s.
-------------------------------------------------- _ -------„------------------------------------------------- 5--------------------- —
la s c a j a s lia s ta la p a g in a w e b te rm in a d a :
type=ntext/ess" /> Fig. 21 y 22: Primero la página sin form ato, después con la hoja de
</head> estilos tradicional del W3C
3. Guarda la página y ábrela en el navegador. H ablarem os detenidam ente del elem ento HTM L
¡ink al principio del siguiente capítulo. Vincula
Si todo ha funcionado, la página debería haber una página w eb con una hoja de estilos, y en es
cam biado de aspecto: te caso la hoja se encuentra en Internet y se lla
Antes ma Traditional.
Sin em bargo, adem ás de Traditional podem os
i" «ji-Ciíall Ar*c± probar otras variantes:
Ahora ya no se aplicarán los form atos de la hoja 2. G uarda la hoja de estilos y abre las dos
de estilos del W 3C. Este es el significado de los páginas (no la hoja de estilos) en un nave
tres atributos del elem ento link: gador.
• h r e f indica (com o siem pre) la ruta de acceso Si funciona correctam ente, la página de inicio y
al archivo. de contacto tendrán m ás o m enos este aspecto:
• reí es la abreviatura de "relation " (relación).
*o..uufhvt<*
rel="stylesheet" significa "este archivo es 1*0 ***.•*l&'-et Ar¡{23
una hoja de estilos para m í". jgjr ü * 0 ü-
• type le indica al navegador que littleboxes.css
I
ic n w iÉ f a
•w r a p p e r en b lanco
El elem ento link se cierra con un tag final inte * coses
grado: espacio en blanco y signo m ayor que.
Inicio
Los estilos guardados en littleboxes.css se aplican Las pea nas web t& n. compuen&i de cuadrtrt rectaegobres que se pueda» colocar uno* juccc a
a todos los archivos H TM L relacionados con la ocgí o ¡uperpoorr eutr d¿o£ Todo Jo que cea reckasdc un buev. ta kbSco o embaí cosa*
hoja de estilos, independientem ente de si son Los a aan rei po-r.* mués# mi d cnaño desde ta rreaoou de Lu
|
to rn la }¡¿g:*«j w*b
cien o mil.
,
El texto está m uy cerca del borde y por lo de
Tarea: definir un color de fondo para el enea-
m ás, la página no es especialm ente digna de
bezado
adm iración, pero es un com ienzo.
1. A ñade la siguiente regla CSS al final de la
Q uizás habrás observado que el color de fuente
stylesheet:
que hem os definido para body con la propiedad
color no se utiliza en la página, porque todo el /* Selector anidado: sólo el gráfico en el
texto se encuentra dentro de #wrapper. encabezado */
#encabezado img {
Es recom endable adquirir la costum bre de defi
background-color: white;
nir el color de fuente y de fondo juntos, para que
no se den com binaciones desafortunadas com o }
" fuente blanca sobre fondo blanco". 2. G uarda la hoja de estilos y abre am bas pá
ginas en el navegador.
N om bres de colores
Este es el aspecto que tendrá ahora el encabeza
Las indicaciones de colores hexadecim ales
do de la página de inicio:
com o #8c8c8c ya nos resultan familiares de
HTM L, pero en C SS podem os utilizar nom
bres en inglés para determ inados colores, co
itt iE b o x e s
m o zvhite o black. M ás sobre la definición de
>dr pag os web con CSS. FuadMméata*
colores a partir de la pág. 40.
Fig. 25: Encabezado y logotipo con color de fondo
• fon t-fam ily define el tipo de fuente. U na regla CSS (inglés: style o css rule) está for
Puesto que, com o autor de la hoja de estilos, m ada por los siguientes elem entos:
no sabem os de qué fuentes dispone el nave
• Selector (selector)
gador del usuario, es preferible definir va
El selector se coloca antes del par de llaves y
rias posibilidades separadas por comas.
determ ina (selecciona) a qué cuadros de la
• fon t-size determ ina el tam año de fuente.
página se aplicará el formato.
En Internet existe un interm inable debate
• D eclaración (declaration)
sobre el m ejor m étodo para definir el tam a
Entre el par de llaves se encuentran una o
ño de fuente, pero para em pezar sm all es un
varias declaraciones. Éstas describen el for
buen fundam ento.
m ato de los elem entos a los que afecta el se
Volveremos a hablar de la herencia de propieda lector. Toda declaración está formada por
des CSS a partir de la pág. 60. tina pareja propiedad:valor y termina con un
punto y coma.
• Propiedad (property)
Tamaño de fuente de los títulos La propiedad (color, tipo de fuente, etc.) del
elem ento se coloca antes de los dos puntos.
Todos los elem entos han adquirido un tam año de
Los espacios en blanco antes y después de
fuente a excepción de los títulos. Los navegado
los dos puntos son opcionales.
res creen que los títulos deben ser más grandes
• Valor (valué)
que el texto norm al, y puesto que todavía no
El valor que debe adquirir la propiedad se
hem os definido nada para el título, todavía se
define después de los dos puntos. Después
aplica el form ato de la hoja de estilos integrada
se añade un punto y com a para finalizar la
en el navegador.
declaración.
Las siguientes reglas definen el tam año de fuen
Los térm inos style, estilo, regla CSS, instrucción de
te para los títulos de prim er y segundo nivel.
form ato y patrón de form ato suelen utilizarse indis
tintam ente com o sinónim os. A lgunos autores
Tarea: modificar el tamaño de fuente de los tí
tam bién lo llam an " regla de estilo".
tulos
1. A ñade las siguientes líneas al final de la
stylesheet: Formato de la dirección
hi { font-size: 150%; } Al final de la página web hem os incluido una
h2 { font-size: 130%; } dirección (ficticia) entre los tags <address> y
2. G uarda la hoja de estilos y abre las dos </address>. La m ayoría de navegadores repre
páginas en un navegador. sentan este elem ento en cursiva, pero con la
ayuda de CSS no tiene por qué ser así.
El 150% para h l todavía no tiene ningún efecto —
visible, porque el texto es un gráfico, pero en el Tarea: definir la fuente para el elemento ad-
caso de h2 podem os ver el cam bio directam ente. dress
A dem ás, la indicación porcentual nos perm ite
1. Escribe la siguiente regla CSS al final de la
m antener la relación de tam años entre texto y tí
tulos cuando cam biem os el tam año de fuente de hoja de estilos:
body. address {
text-align: center; /* centrar */
font-size: 80%; / * más pequeño */
Style: estructura de una regla CSS font-style: normal; /* fuente cP
normal, no cursiva */
CSS es un lenguaje, y todos los lenguajes utili
letter-spacing: 2px; /* Distancia
zan un léxico y una gram ática. D espués de haber
entre las letras */
visto un par de ejem plos, ya podem os determ i
line-height: l.Sem; /* Distancia entre
nar la estructura esquem ática de una regla CSS y
las líneas */
el vocabulario básico:
Selector {
}
Propiedad: valor;
2. G uarda la hoja de estilos y abre am bas pá
Propiedad: valor; ginas en el navegador.
}
32 Descubrir CSS: fuentes, colores e hipervínculos
Esta regla elim ina el subrayado de los vínculos H acer que los hipervínculos visitados vuel
de las dos páginas web. van a ser no visitados
A m uchos diseñadores les encanta este truco, pe Cuando com pruebes las páginas, tarde o
ro siem pre es necesario asegurarse de que los tem prano todos los vínculos estarán visitados.
hipervínculos se puedan reconocer com o tales. Para que vuelvan a ser no visitados, deberás
elim inar el historial del navegador.
Distinta numeración para las listas ordenadas Código 15: El encabezado - un elemento HTML con el atributo id
La anidación de selectores no se lim ita a u n solo En CSS se puede utilizar el valor de id com o se
nivel. Para que veas las posibilidades que tiene, lector y escribir una alm ohadilla # antes:
aquí presento un ejem plo para la num eración de #encabezado {
listas: color: black;
background-color: #f3c600;
ol li { list-style-type : decimal; }
ol ol li { list-style-type : lower-alpha; } }
Código 16: El encabezado - u n elemento HTML con el atributo id
Código 14: Selectores anidados - sólo signos de numeración en lis
tas ordenadas
Formación de grupos: class C ualquier m odificación del nom bre debe apli
carse en el H TM L y en el CSS. Por ese m otivo va
Para poder dar form ato a varios párrafos de la
le la pena reflexionar sobre los nom bres de las
página, un selector sencillo com o p es dem asiado
indeterm inado y una ID no es recom endable, ID y las clases.
porque sólo puede aparecer una vez. Para estos El principio m ás im portante a la hora de selec
casos, en C SS tenem os las clases. cionar un nom bre es que describa el significado
del elem ento y no su form ato. Por ejemplo:
A todos los párrafos que deban aparecer com o
un cuadro inform ativo gris con borde les aplica • Q uerem os crear una sección de navegación a
rem os el atributo class: la derecha y la llam am os Anav-derecha.
<p class="cuadro_info">Este texto es un • Si después desplazam os la sección hacia la
cuadro informativo.</p> izquierda m ediante CSS, tendrem os una na
Código 17: Un elemento HTML con el atributo class vegación a la izquierda con el bonito nom
bre de #nav-derecha.
En CSS, el nom bre de la clase se distingue con
un punto al principio: U n nom bre no debe describir la apariencia del
.cuadro_info { elem ento, sino su significado: #navegación o Ase
color : black; gunda_nav serían una opción mejor.
background-color: #8c8c8c;
border: 3px solid #ecf7dd;
} Especificidad: el sistema de
Código 18: El selector con punto - para elementos HTML con el
atributo class puntos para selectores
El pequeño punto al principio del selector per Cuando las hojas de estilos se vuelven un poco
m ite que el navegador sepa que esta regla debe m ás largas, tarde o tem prano un elem ento
aplicarse a todos los elem entos H TM L cuyo atri H TM L acaba teniendo varias reglas CSS que se
buto class tenga el valor cuadro J n f o . En la sec contradicen parcialm ente. La cuestión es qué de
ción sobre im ágenes flotantes a partir de la pág. cisión tom a el navegador en estos casos conflic
71 verem os un ejem plo de aplicación de clases. tivos.
Las unidades absolutas no están indicadas para s ilv e r gris claro #c0c0c0
i 1
hojas de estilos para pantalla, sino que están y e llo w amarillo claro #ffff00 #ff0
pensadas para hojas de estilo destinadas a la ora n g e naranja #ffa500
im presión de la página web. oliva #808000
o live
| _ _' ]
• cm es un centím etro. p u rp le lila oscuro #800080 i
-
• in significa inch, es decir pulgada, y equivale fuchsia lila claro #ff00ff #f0f
a 2,54 cm. aqua turquesa #00ffff #0ff
11 - -
• pt (punto) es la unidad tradicional para indi te a 1 Win95 Desk- #008080
car un tam año de fuente en el ám bito de la L_ ______ . . . . .
top L _ j
Problemas potenciales en el
formato de los cuadros
Los cuadros o cajas son uno de los elem entos
clave de la estructura una página web y el m ás
im portante a la hora de darles formato. Por des
m a rg in -b o tto re
gracia, las cajas tam bién pueden convertirse en
un problem a grave por dos m otivos: Fig. 30: El modelo de cajas, la base del diseño con CSS
• Falta de conocim ientos de CSS por parte del au Todos los elem entos FíTM L tienen las propieda
tor des width, height, pudding, border y margin. C uan
M uchos d esabollad ores de páginas w eb no to m ejor com prendas el m odelo de cajas, m ás fá
saben dem asiado sobre el com portam iento cil te resultará dar form ato a las páginas web
de los cuadros. Por ese m otivo en este capí con CSS.
tulo explicarem os cóm o colocarlos y dispo Estos son los principales conceptos relacionados
nerlos con precisión. con este m odelo, con la correspondiente traduc
• Falta de conocim ientos de CSS por parte del na ción al español:
vegador
Los navegadores tam bién se han ido adap Inglés ¡Español
tando a CSS poco a poco. Los navegadores c o n te n í Contenido, área de contenido
m odernos prácticam ente dom inan el len w idth Anchura, anchura del contenido
guaje, pero los antiguos tienen dificultades. p a d d in g Distancia interior, acolchado, relleno
En resum en, no es extraño encontrarse en una si b o rd e r Borde, línea de borde
|i -r.ji-LU_-a.Liu/ .< ________
tuación en la que uno se pregunte "¿A caso lo he m argin Distancia exterior, margen
hecho yo m al o el navegador se ha vuelto loco?"
Tabla 8: Términos relativos al modelo de cajas
Es preferible com probar las páginas web en
prim era instancia en Firefox u Opera, y después Área de contenido: width y height
en Internet Explorer. Tanto las versiones actuales El texto y las im ágenes se encuentran en el área
de Firefox com o de O pera hablan m uy bien CSS, de contenido de un elem ento, cuya anchura se
y si las páginas se ven bien en ellos, probable define con width y su altura con height. Si estas
m ente no hayas com etido ningún error.
indicaciones no aparecen explícitam ente en la
hoja de estilos, se aplican las siguientes reglas
básicas:
Formato de márgenes y espacios con el modelo de cajas 43
• Sin indicación de width los elem entos de blo Margen exterior: margin
que serán tan anchos com o el elem ento que Cada caja puede tener un m argen exterior (mar
los engloba, y los elem entos inline serán tan gin), que tam bién se puede definir para los cua
anchos com o su contenido. tro lados:
• Sin indicación de height todos los elem entos
serán tan altos com o su contenido. • margin-top para el m argen superior
• margin-right para el m argen derecho
Atención: zuidth define la anchura del área de
• margin-bottom para el m argen inferior
contenido, pero no la anchura total del elemento.
• margin-left para el m argen izquierdo
En realidad, content-width (es decir, anchura del
contenido) sería un nom bre m ás adecuado. El m argen exterior se encuentra fuera de la caja
y adquiere el color de fondo del elem ento en
Cálculo de la anchura total volvente. margin también acepta valores negati
vos, a diferencia de border y padding.
En la página 44 encontrarás un ejem plo de
cálculo de la anchura total de un elemento. Coincidencia de márgenes verticales:
collapsing margins
Margen interior: padding (relleno) m argin tiene una pequeña particularidad que
D espués del área de contenido, en cualquier suele ser el origen de m uchos quebraderos de
cuadro le sigue el m argen interior o pudding. El cabeza:
padding se encuentra dentro de la caja y adquiere
• Los m árgenes exterior horizontales de cajas
el color de fondo del área de contenido, padding
contiguas que se toquen se sum an norm al
se puede definir para los cuatro lados de una ca
m ente.
ja.
• Los m árgenes verticales son más asustadizos:
En ese caso, las propiedades son: cuando el margin-bottom y margin-top de dos
• padding-top para el padding superior cajas que se encuentran una encim a de otra
se tocan, éstas coinciden.
• padding-right para el padding derecho
• padding-bottom para el padding inferior El m ás grande se m antiene, m ientras que el más
• padding-left para el padding izquierdo pequeño desaparece:
Bordes: border
Alrededor del padding se extiende el borde (bor
der) de la caja, border es m uy flexible y puede
adquirir una anchura (width), un estilo (style) y Fig.31: Cuando dos márgenes verticales se tocan, se coíapsan
un color (color) diferentes para cada lado. Las
Puede parecer confuso a prim era vista, pero en
propiedades son:
el día a día resulta m uy práctico, por ejem plo
• border-top para el borde superior cuando varios tenem os párrafos seguidos.
• border-right para el borde derecho Los elem entos inline com o los vínculos no acep
• border-bottom para el borde inferior tan m árgenes verticales. Su altura está determ i
• border-left para el borde izquierdo nada por el tam año de la fuente. A la izquierda y
Com o hem os visto, es posible definir una anchu a la derecha todo es norm al, pero arriba y abajo
ra, un estilo y un color distintos para cada uno los elem entos inline no tienen margin.
de los lados del borde. Si hacem os cálculos, te
nem os un total de 12 declaraciones posibles de
border para una regla CSS, p. ej. border-top-width,
border-right-color o border-left-style.
44 Formato de márgenes y espacios con el modelo de cajas
div {
Anular los márgenes de las hojas de estilo
width: 720px;
padding: 20px; integradas en el navegador
border: 0; Para no tener que recurrir cada vez a la búsque
margin: lOpx; da de errores, m uchos diseñadores aplican una
} m edida que a prim era vista parece radical, pero
Código 20: Ejemplo CSS para el cálculo de la anchura total de una resulta m uy efectiva:
caja
• Se asigna el valor N U LL a padding y margin
La anchura total se com pone de width, padding,
para todos los elem entos HTML.
border y margin:
C onsidéralo com o una calibración, ya que gra
Cálculo Ejem plo
cias a esta m edida se anulan los distintos valores
width 720px de las hojas de estilo integradas en cada navega
+ padding-right + 2 0px dor y se obtiene un punto de partida unitario.
+ padding-left + 2 0px
+ border-right-width + 0
+ border-left-width + 0 Tarea; anular los márgenes de todos los ele
+ margin-right + lOpx mentos
+ margin-left + lOpx
1. A grega la siguiente regla CSS al principio de
Anchura total 780px
¡a Iioja de estilo, después del /* com entario
Tabla 9: Cálculo de la anchura total de una caja * / y antes de la regla para body:
A veces es realm ente necesario calcular para que * { padding: 0; margin: 0; }
todo encaje. 2. Guarda la hoja de estilos y abre las páginas
En el caso de la altura ocurre lo m ismo: la altura w eb en el navegador.
total de un elem ento se com pone de height más
padding-top m ás padding-bottom m ás border-top- El asterisco com o selector significa "to d o ". N o te
width m ás border-bottom -width m ás margin-top asustes cuando veas el aspecto de la página en el
m ás margin-bottom. navegador tras este cambio:
Títulos, párrafos, listas e incluso las listas anida C on estas reglas definim os un m argen exterior
das: todos los elem entos se m uestran uno detrás de le m para todos los títulos h2, los párrafos y
de otro sin m argen o distancia alguno. las listas no ordenadas. Todos los elem entos li
tendrán tam bién un m argen izquierdo de le m ,
Todavía más calibración: la barra de despla para que aparezcan con sangría.
zam iento en Firefox
ic-U- fca? BttacK n tt
Firefox solam ente m uestra la barra de despla
zam iento derecha en caso necesario, de forma
que al pasar de una página con scrollbar a JttlB
w e p cao y fundamentos.
} #wrapper {
2. Al final de la stylesheet, define las siguien color: black;
tes reglas CSS: background-color: white;
width: 720px; /* Anchura del &
p, ul {
área de contenido */
margin-top: 0 ;
margin-right: 0 ;
}
margin-bottom: lem ; /* Margen <P
2. G uarda la hoja de estilos y abre las páginas
inferior */
w eb en el navegador.
margin-left: 0 ; }
H em os elegido una anchura de 720 píxeles para
ul u l {
que la página tam bién tenga un aspecto acepta
margin: 0 ;
ble en caso de que la resolución de pantalla sea
} de 800 x 600 píxeles.
li {
margin-top: 0 ; Con im a anchura fija, la página w eb pierde parte
margin-right: 0 ;
de su flexibilidad inherente porque ya no se
margin-bottom: 0;
adapta a la ventana del navegador, pero los di
seños fijos con un núm ero de píxeles definido
margin-left: lem; /* Margen (9
facilitan el aprendizaje. H ablarem os de las indi
izquierdo */
caciones de anchura flexibles con porcentajes o
} la unidad ern a partir de la pág. 79.
3. G uarda la hoja de estilos y abre las páginas
w eb en el navegador.
46 Formato de márgenes y espacios con el modelo de cajas
Tras aplicar estos cam bios, la página adquirirá padding-top: lOpx; /* Relleno
L3C
padding-top: lOpx;
UXF»<*Won*i -Sía-' -o*
1 1
«r-cvactas ■> condnps t*-s«euiur-a.
■oOj* hj n»>n«)<.k urs\r*. gr¿6cao-am
Kp.i«.tar ■ A x » ixce f^rr- • cm i
bas.'•*««*
tí» f-xc*r*t*ivar.C*comns**<4*i, e— soer--je¡aa•y¿-»hosto1» »e««*nsd8 border-top: lpx solid #A9122A;
margin-top: 20px;
}
2. Guarda la hoja de estilos y abre las páginas
•: ü: j* »i w eb en el navegador.
http://www.w3schools.com/css/ /* etc. * /
css background.asp Código 24: Los coinentarios CSS facilitan la lectura de las hojas de
estilos
El orden de las seis declaraciones del ejem plo El orden es decisivo: sólo un lado diferente
anterior no es fruto de la casualidad, sino que se El ejem plo siguiente asigna un padding alrede
basa en la estructura del m odelo de cajas: d or del elem ento de 20px, excepto porque no
hay un padding inferior. C uando varias defini
• Al principio se incluyen las instrucciones ciones tienen valores en conflicto, se aplica el úl
para el área de contenido\font-size, fon t-style tim o que se indica:
y letter-spacing.
• Después les siguen las definiciones de pad Escritura desarrollada Escritura abreviada
ding, border y margin exactam ente en este or #encabezado { #encafcezado {
den. padding-top: 20px; padding: 20px;
padding-right: 20px; padding-bottom: 0;
Las declaraciones están redactadas de form a que padding-bottom: 0; }
describan el elem ento desde dentro hacia afuera: en padamg-left: 20px;
}
prim er lugar el contenido, después el margen in
terior, seguido de los bordes y el margen exterior. Tabla 12: Escritura desarrollada y abreviada, parte 2
Esta ordenación de las instrucciones te ayudará E n la escritura abreviada, la prim era línea define
a interiorizar m ejor la estructura del m odelo de u n padding de 20 píxeles, y la siguiente línea es
cajas y podrás visualizar m ás fácilm ente el for tablece el padding-bottom en 0. Si las instruc
m ato del elemento. ciones se contradicen, se aplica la últim a instruc
ción definida.
O rden alfabético : una b u e n a opción
A tención: el encabezado del siguiente ejem plo
O tro m étodo m uy utilizado para las declara tendrá un padding-bottom de 20 píxeles a pesar
ciones es el orden alfabético. En este caso, de haber establecido padding-bottom explícita
tam poco tendrás que dedicar dem asiado m ente en 0:
tiem po a buscar una determ inada propiedad #encabezado {
dentro de una declaración. padding-bottom: 0;
padding: 20px;
}
Código 26: El padding-bottom de la linea 2 se sobrescribe en la li
nea 3
Formato de márgenes y espacios con el modelo de cajas 51
#navegacion a:active { background-color: Fig. 40: Texto a la derecha, otro color, linea de borde oscura
white; }
2. G uarda la hoja de estilos y observa las pá Modificar los vínculos de la navegación
ginas w eb en el navegador. También deberem os adaptar ligeram ente los h i
pervínculos de la navegación:
• Deben tener un color de fondo propio.
• A um entarem os el padding para que el texto
Tabbed Navigation - Navegación tenga cierta distancia desde el borde de la
con fichas caja.
• A plicarem os la m isma línea de borde a la
Los tabs en una página web son lo que se conoce
izquierda, derecha y arriba de los vínculos
com o registros, pestañas o fichas. Los tabs se uti
que la que tiene la navegación abajo.
lizan m ucho para la navegación porque resaltan
--------------------------------------------------------------------------
claram ente las distintas opciones disponibles y
Tarea: dar formato a los hipervínculos del área
la m ayoría de usuarios ya están fam iliarizados
con ellos.
de navegación
1. M odifica el C SS de los hipervínculos de la
Medidas preliminares para la navegación sección de navegación:
Com o preparación, deberíam os m odificar un
#navegacion li {
par de cosas para #navegación:
display: inline;
• El texto de navegación debe alinearse a la de list-style: none;
recha. margin: 0; /* antes era lOpx para <9
• El fondo se adaptará al encabezado para que la derecha */
las secciones de encabezado y de navegación }
parezcan una sola sección. #navegacion a {
• M odificarem os ligeram ente el padding para color: black;
que la sección sea m ás bonita. background-color: #ffeda0;
• La navegación tam bién debe tener una línea padding: 4px 8px 4px 8px;
de borde com o separación. border: lpx solid #8c8c8c;
}
Tarea: preparar la navegación para las pesta
2. G uarda la hoja de estilos y observa las p á
ñas ginas web en el navegador.
1. M odifica el área de navegación en el códi
go C SS com o sigue: Puesto que los vínculos tienen ahora un padding
propio, el m argen exterior derecho de los ele
#navegacion {
m entos de la lista ya no es necesario, y lo hem os
text-align: right; /* a la derecha */
cam biado de lOpx a 0.
color: black;
background-color: #f3c600; Tras aplicar los cam bios, la parte superior de la
bac kground -image: <P página tendrá este aspecto:
u r l ( e n c a b e z a d o b g r e p .jpg);
background-repeat: repeat-y;
uttie b n x e s 1
d» concss. rmémcmo» ♦
background-position: top left;
padding: 5px lOpx 4px lOpx; Fig. 41: Con links modificados - casi listo
border-bottom: lpx solid #8c8c8c;
}
2. G uarda la hoja de estilos y observa las pá
ginas w eb en el navegador.
Navegación, versión para imprimir y formulario de contacto 55
Definir un efecto rollover para los vínculos Y com o suele ser habitual, la solución es sencilla
Q uerem os aplicar un efecto rollover a los víncu si se sabe cóm o hacerlo. H em os definido una ID
los de la navegación. En cuanto el punto del ra para body en la estructura HTML:
tón se coloque sobre los enlaces: • <body id="inicio"> en la página de inicio
• Se elim inará el subrayado de los vínculos. • <body id= “p ag con tad o "> en la página de con
• Los vínculos tendrán un fondo blanco. tacto
• D esaparecerá la línea de borde inferior de Al crear la lista de navegación, tam bién hem os
m odo que la pestaña se abra hacia abajo. asignado una ID a los elem entos de la lista:
Para que desaparezca el borde deberem os apli • <// id = ”navi01 "> en el punto de m enú de la
car una sencilla y genial com binación de dos de página de inicio
claraciones: prim ero aum entam os el padding in • <li id = ”navi02"> en el punto de m enú de la
ferior de 4 a 5 píxeles, y después elim inam os la página de contacto
línea de borde inferior.
5-------------------------------------------------------------------------------------------------------------------------------------------------
Podem os utilizar una com binación de estas ID
para resaltar el punto de m enú actual con ayuda
Tarea: definir un efecto rollover para los víncu
de selectores anidados.
los de la navegación _— .— _ _ _ _ _ _ — ■ ■
1. A grega las siguientes líneas de código de Tarea: resaltar visualmente el punto de nave
bajo de la regla para los hipervínculos de gación actual
la sección de navegación:
1. A ñade los dos selectores m arcados en ne-
#navegacion arhover { grita:
text-decoration: none; /* <9
#navegacion a:hover, / * con coma al <9
fuera el subrayado */
final */
color: black;
#inicio #navi01 a, /* con coma al &
background-color: white;
final */
padding-bottom: 5px; /* un píxel <P
#pagcontacto #navi02 a /* sin coma al <9
más que arriba * /
final */
border-bottom: none; /* adiós &
{
a la línea inferior */
}
}
2. G uarda la hoja de estilos y observa las pá
2. G uarda la hoja de estilos y abre las páginas
ginas web en el navegador.
w eb en el navegador.
D espués de aplicar los últim os cam bios, la parte
El form ato para el efecto rollover tam bién se
superior d e la página tendrá este aspecto:
■— —
aplica a los dos selectores siguientes. La com bi
nación #itiicio ttnaviOl solam ente se encuentra en
|little bnXES la página de inicio, y #p ag con tad o #navi02 sola
O W t t t ó* p d Q irts* C o r C Í -5 r u k M m c n td s
Fig. 42: No está nada mal - la navegación con efecto rollover Una vez aplicados los últim os cam bios, la pági
na tendrá m ás o m enos este aspecto:
Ud. está aquí: resaltar la página actual
Todavía nos falta una forma visual de indicar al § lit t le b O X E S
CV*«Ao Oé ntb CSS fyrvlannoc*»
visitante en qué página se encuentra. Lo ideal Inoo C v .tí4 i!
sería que la pestaña actual tenga el m ism o aspec Con tacto bbe. t
to que durante el efecto de rollover. ¿Ol» * a u t farwutano CtfXXtS.
M uchas páginas ofrecen una versión para im Tarea: ocultar la navegación y el skip-link al
prim ir en la que el contenido está preparado pa imprimir
ra su salida a la im presora. CSS perm ite autom a
tizar este proceso y dar form atos separados a las 1. Crea una nueva hoja de estilos con las si
páginas en función de si se visualizan en panta guientes reglas CSS:
lla o se im prim en. .skiplink { display: none; }
El elem ento link, que vincula los archivos HTM L #navegacion {display: none,* }
y CSS, acepta el atributo media para indicar el 2. G uarda la hoja com o versionim prim ir.css en
m edio de visualización. De este m odo es posible la carpeta de ejercicios del cuaderno.
utilizar una hoja de estilos exclusivam ente para 3. Abre las páginas index.html y contacto.htm l
la visualización en pantalla o para la impresora. y agrega la línea de código resaltada en
negrita:
Utilizar una hoja de estilos para la
<head>
visualización en pantalla
<!-- Otros elementos HTML
Para, por ejem plo, lim itar la hoja de estilos que
<link href="littleboxes.css" ... &
hem os creado para la pantalla, sólo tenem os que
media="screen" />
com pletar link con el atributo m edia="screen".
<link href»"versionimprimir.css" <P
■ ' — " . ,..
rel="stylesheet" type»"text/css" &
Tarea: utilizar una stylesheet solamente para la
media»"print" />
visualización en pantalla
</head>
1. A bre las dos páginas index.htm l y contac 4. Guarda todos los archivos y observa las
to.html en el editor. páginas web en el navegador.
2. Com pleta en am bos archivos el elem ento
link com o sigue (debe estar en una sola lí Para com probar que funciona, activa nuevam en
nea): te la vista previa del navegador:
clink href="littleboxes.css" <P
rel="stylesheet" type="text/css" <P Little b O X E S
Efcse&j dspsEüfl* web Facdaoeotos
media»"screen" />
3. G uarda la hoja de estilos y observa las pá Inicio
ginas w eb en el navegador. Las piíSMs e*an coapae «tas de cutiros recta agolares que se peedee rofecac ta»s «as» a
«ros o fflpcTproweon dte? Twk? t eqee sea redondo es na troco, ac aüfeo c sróas rosas
Lo» ágemete» pasos tmreitrec n caartnc» d&d» te rtwnón de te? ratas hasta la íss-vw
En el navegador no ha cam biado nada en panta wmiensda
Integrar una segunda hoja de estilos para la A dem ás de screen y print, CSS tam bién acepta
impresión otros m edios de salida. En SelfH TM L encon
El siguiente paso es crear una segunda hoja de trarás un listado detallado:
estilos con el nom bre versionimprimir.css. U tiliza http://es.selfhtml.Org/selfhtml7/tdba.htm#a3
rem os esta hoja únicam ente para la versión im
presa de la página, integrándola con el elem ento
link e indicando m edia="print".
Navegación, versión para im prim ir y formulario de contacto 57
A continuación, analicem os en detalle las reglas: Paso 3: definir el destino del formulario
• El estilo de fo r m es simple: ya conocem os las Al hacer clic en el botón Enviar, los datos del for
instrucciones para color de fondo, anchura, m ulario se enviarán a un program a en un s e n a
relleno y borde. dor web para ser procesados.
• En la segunda regla el elem ento inline label Si tu alojam iento w eb no te perm ite tener acceso
se convierte en elem ento de bloque. De este a este tipo de program a, el Form ular-C hef de
m odo el cam po del form ulario tiene una lí nettz.de es una alternativa sim ple y segura. Fun
nea propia y logram os suficiente espacio pa ciona sin necesidad de registrarse ni ninguna
ra el título descriptivo. obligación (esta es la página en inglés, la versión
• El cam po #remitente para la dirección de e- original está en alem án):
m ail y el cam po de com entarios textarea tie
• http://www.formular-chef.com/
nen el m ism o form ato: 300 píxeles de anchu
ra, con una fina línea de borde y un m argen
Tarea: enviar los datos del formulario al Formu
exterior inferior de lem .
lar-Chef
• En la siguiente regla, el cam po de com enta
rios textarea recibe una altura de 7em , de 1. Com pleta form com o sigue (el com ando
m odo que en caso de am pliar la fuente tam puede aparecer en una sola línea):
bién se vuelva m ás grande. <form id="formulariocontact.o"
• La últim a regla para in pu tfocu s asigna un name="formulariocontacto'1 method= "post ■
color de fondo a los cam pos del form ulario action="http://www.formular-
cuando el usuario escribe algo en ellos. No
chef.com/Formular-Chef.cgi■>
funciona en todos los navegadores, pero no
2. No te olvides de guardar el archivo.
tiene efectos secundarios.
_________________________________________________
Para term inar el form ato del form ulario pon El atributo action indica el destino de los datos
drem os los puntos sobre las íes. Con un código del form ulario, es decir el program a que proce
JavaScript de una sola línea facilitarem os el uso sará los datos. A quí es donde debem os indicar la
del form ulario colocando el cursor en el prim er URL com pleta del Form ular-Chef.
cam po del form ulario en cuanto se cargue la pá-
gina. A dem ás, es necesario indicar m ethod= ”p o s t”. Es
te atributo garantiza que los datos del form ula
Tarea: posicionar el cursor en el primer campo rio que ocupen más de 2 KB tam bién lleguen a
su destino.
del formulario
1. M odifica el tag de <body> de la página de La seriedad del Form ular-C hef
contacto com o sigue (el com ando puede
nettz.de gestiona el Form ular-Chef desde
aparecer en una línea):
agosto de 1999, y la página principal ha sido
cbody id="pagcontacto" onload="document.<9 traducida al inglés y al francés. En todo este
formulariocontacto.remitente.focus();"> tiem po nunca se han producido problem as ju
2. G uarda la página y ábrela en el navegador. rídicos o de ningún tipo. A dem ás, nettz.de
asegura que ninguna dirección o inform ación
onload significa que el navegador debe ejecutar es alm acenada o registrada.
la línea de código cuando se cargue la página
w eb. docum ent.form ulariocontacto. rem itente.focusí); Puedes consultar el foro (sólo en alem án) para
significa: conocer las opiniones de los usuarios del
Form ular-Chef:
• Busca en el docum ento actual (document) un
http://www.nettz.de/forum//YaBB.cqi?board=:1
elem ento cuyo nom bre sea form ulariocontac-
to.
• En dicho elem ento, busca un cam po con el Paso 4: indicar la dirección de e-mail al
nom bre rem itente y coloca el cursor en él (fo- Formular-Chef
cus). Ya casi hem os term inado. Sólo nos queda indicar
En caso de que JavaScript esté desactivado en el nuestra dirección de correo electrónico para que
navegador, no ocurrirá absolutam ente nada. el Form ular-C hef nos pueda enviar los datos por
e-m ail.
Navegación, versión para imprimir y formulario de contacto 59
elem entos, de m enos im portante a m ás im por Nivel 3: ordena según la especificidad del
tante: selector
Origen de la declara 1. Hoja de estilos del En el nivel 3 es la especificidad la que decide:
ción navegador • ul es un selector sim ple y obtiene un punto.
2. Hoja de estilos del • #navegación ul, p or el contrario, obtiene 101
usuario puntos.
Para aplicar form ato al elem ento ul del ejem plo, En este caso m argin-bottom se define dos veces.
esto significa concretam ente: A m bas reglas tienen el m ism o origen, el m ism o
peso y la misma especificidad. En consecuencia,
• En la hoja de estilos del navegador se ha de
es la últim a declaración la que se aplica, margin-
finido el m argen externo inferior de una lista
bottom : 0.
no ordenada, pero en la hoja de estilos del
autor le siguen dos declaraciones. Sin em bargo, el cuarto nivel puede ir todavía
• Ninguna de las declaraciones de la hoja del m ás allá, porque el autor podría guardar las de
autor es Ümportant. claraciones CSS directam ente en la página web.
El navegador recopila todas las declaraciones en
Puesto que no se dispone de las indicaciones del
el siguiente orden:
usuario, las dos instrucciones de la hoja de esti
los del autor pasan a la tercera ronda de la cas • Prim ero las de archivos CSS externos
cada. • Después las que están entre <style> y
</style> en el head de la página
• Para term inar, las del tag de inicio de un
elem ento de la página
El navegador y CSS: cascada y herencia 63
Im aginem os las siguientes líneas de código Estas declaraciones no sólo se aplican a body, si
H TM L en la página de inicio: no a todos sus descendientes. Puesto que en
<div id="navegacionM> principio todos los elem entos de una página son
<ul style="margin-bottom: 20px;"> descendientes de body, la fuente se aplicará a to
<!-- Otros elementos --> dos los elem entos de la página, a m enos que se
</ul> haya definido otra cosa en el m arco de la casca
</div> da.
Código 30: Una instrucción de estilo en un elemento HTML de la
página Sin el principio de herencia, deberíam os m en
cionar todos los elem entos uno a uno y la misma
La regla CSS de la línea 2 del ejem plo se encuen declaración podría tener este aspecto:
tra directam ente en el tag de inicio del selector,
por lo que no puede acercarse m ás al elem ento body, hl, h2, p, ul, li, a, strong, &
em, address {
al que debe dar form ato. En este caso, la lista ul font-family: Verdana, Arial, <P
tendría un margin inferior de 20px, no im porta lo Helvética, sans-serif;
que digan las otras hojas de estilos precedentes. }
Fin de la cascada. Código 32: Sin herencia, es necesario mencionar explícitamente to
dos los selectores
El navegador repite esta cascada por cada pro
piedad de cada elem ento de la estructura del Resulta m ucho m ás com plicado que la versión
docum ento. anterior. El uso apropiado de la herencia contri
buye a la claridad de la hoja de estilos.
Si deseas m ás inform ación sobre la cascada, te
recom iendo la fuente oficial, el W 3C: Algunas propiedades no se heredan
http://www.w3.orQ/TR/CSS21/
Sin em bargo, algunas propiedades no se here
cascade. html#cascade dan. Es el caso, por ejem plo, de todas las pro
piedades del m odelo de cajas com o zvidth, back
ground, padding, border y margin. ¿Por qué?
div {
w id th : 20%;
background-color: white;
padding: lOpx;
border: lpx solid black;
margin: 5px; <body> body
<div i d » " o t r o * > B o x color: black;
} l</div> background-color:
Código 33: Reducción de los divs a un 20% de la anchura <div>Box 2</div> gray;
<div>Box 3</div> padding: 0;
Las cajas reducidas tam bién están apiladas en </body> margin:0;
vertical. D iv es un elem ento de bloque, y los }
div {
elem entos de bloque tienen un salto de línea in background-color:
tegrado. A unque ividth reduce el tam año de la white;
padding: lO p x ;
caja, el salto de línea se m antiene. border: lpx solid
black;
» i« | e D a n s Flcrw W id th 2Q & Mo/íHa l ' t f d i a
margin: 5px;
}
# o tr o {
p o s i t io n : r e l a t i v a ,
to p : 2 5 p x ;
r i g h t : 2 5 p x ;
b a c k g r o u n d - c o lo r :
#f3có00;
}
Tabla 17: Posicionamiento relativo
Este es el resultado:
t in te fU tK tíi pcaitÍou :rrta!rv > > M ó n ita i tro fo a
Fig. 50: Las cajas cortas también se apilan en vertical. é r c ft.v 5 £fl‘a r Ve* W fttrU : ¡ jc r c a é c 't t H trrv M n c u Avu^,i
El posicionam iento relativo con position:relative O bserva que las cajas 2 y 3 no han cam biado. El
consigue dos cosas: posicionam iento relativo preserva el espacio ori
ginal del elem ento, y los elem entos siguientes no
• Desplaza la caja fuera de su posición norm al pasan a ocuparlo.
en el flujo.
• M arca la posición original del elem ento co U n elem ento posicionado obtiene sus coordena
m o protegida. das de las propiedades top, right, bottom y left,
que se calculan con respecto a la posición origi
Los dem ás elem entos del docum ento se com por nal en el flujo:
tan com o si el elem ento todavía se encontrase en
su sitio original dentro del flujo norm al. • top:25px coloca la caja hacia abajo. Se añaden
25 píxeles desde arriba a la posición norm al
El código H TM L y C SS para este ejem plo varía de la caja.
ligeram ente:
• right:25px desplaza la caja h ad a la izquierda,
de form a que en parte desaparece. Se inser
tan 25 píxeles a la derecha de la posición
original.
Flujo y posicionamiento 67
Todos los datos son relativos a la posición origi La posición exacta se indica m ediante top, right,
nal e indican dónde se inserta el valor, y no la bottom o left, pero los valores de estas cuatro
dirección en la que debe desplazarse la caja. En propiedades ya no dependen de la posición ori
realidad es lógico, pero a prim era vista posi- ginal en el flujo:
tiom réíative puede parecer com plicado.
1. El posicionam iento absoluto de un elem en
to hace referencia al siguiente elem ento
contenedor (containing block), posicionado
Posicionamiento absoluto: fuera con relative, absolute o fixed.
de flujo 2. En el supuesto de que no haya ningún ele
m ento contenedor (muy habitual en la
A diferencia del posicionam iento relativo, el ab
práctica), el posicionam iento se efectúa en
soluto saca el elem ento fuera del flujo. El elem en
función del elem ento m ás alto en la estruc
to se "e le v a " y todos los dem ás elem entos de la
página se com portan com o si ya no estuviera tura del docum ento, es decir no body, sino
allí. html.
Estas dos afirm aciones se pueden resum ir de la
El H TM L de este ejem plo es el m ism o, sólo cam
siguiente forma:
bia una palabra del código CSS:
• El posicionam iento absoluto es relativo a al
HTML CSS
gún punto de referencia.
<body> body {
<div id=',otro”>3ox color: black; • Existen dos puntos de referencia posibles:
l</div> background-color: gray;
<div>Sox 2</div> padding: 0; - U n elem ento contenedor posicionado
<div>Box 3</div> margin:0; - El elem ento raíz html
</body> i
div { En la rutina diaria, estos hechos dan origen a
background-color: white;
padding: lGpx; m ucha confusión. Por eso los analizarem os en
border: lpx solid black; m ás detalle.
margin: 5px;
i
ífotro { 1. Posicionamiento absoluto, relativo al
position: a b s o lu te
top: 2 5px; elemento raíz
right: 25px; En la página de inicio de "L ittle Boxes" el logo
background-color:
#f3c600; tipo del encabezado se encuentra dentro de
i < h l> y < / h l> . D ebajo aparece el párrafo "D ise
Tabla 18: Posicionamiento absoluto ño de páginas w eb con CSS. Fundam entos.", que
enseguida colocarem os junto a la im agen con la
Sólo cam bia una palabra pero el efecto es colo
ayuda del posicionam iento absoluto.
sal. De repente, la caja 1 se encuentra a la dere
cha y las cajas 2 y 3 suben hacia arriba: A quí la primera variante, con posicionam iento
absoluto relativo al elem ento raíz html:
- — —:
— --
Tarea: posicionamiento del párrafo relativo al
elemento maestro html
1. M odifica la regla de #encabezado p com o si
gue:
#encabezado p {
position:absolute;
top: 25px ;
left: 50%;
Fig. 52: Sólo cambia una palabra - posicionamiento absoluto padding: 5px 0 5px 0;
margin-bottom: 0;
Los elem entos con posicionam iento absoluto sa
len del flujo y se colocan encim a de los demás }
elem entos. 2. G uarda la hoja de estilos y observa las pá
ginas w eb en el navegador.
68 Flujo y posicionamiento
Fig. 53; Posicionamiento absoluto relativo al elemento maestro color: black; /* otras &
propiedades...*/
Esto es lo que ocurre en este ejemplo:
}
• En prim er lugar, #encabezado p se extrae del #encabezado p {
flujo y ya no está presente para los dem ás position:absolute;
elem entos. top: lOpx;
• Puesto que no hay ningún elem ento conte right: lOpx; /* En lugar de: 50% */
nedor, las indicaciones top:25px y left:50% padding: 5px 0 5px 0;
hacen referencia al elem ento htm l y el párra margin-bottom: 0;
fo em pieza 25px desde arriba y exactam ente }
en la m itad de la ventana del navegador. 2. G uarda la hoja de estilos y observa las pá
El posicionam iento vertical desde el m argen su ginas w eb en el navegador.
perior de la ventana del navegador es m uy pre
ciso, pero el posicionam iento horizontal, 50% A prim era vista, el resultado no parece tan dife
desde la izquierda, es una cuestión de suerte. rente:
Estilo de fuente para e! eslogan del Los elem entos con posicionam iento absoluto es
encabezado tán colocados relativos a un punto de referencia
del docum ento, por lo que se desplazan con el
Antes de que sigam os con los elem entos fijos,
resto del contenido.
harem os una pequeña pausa. Q uerem os que la
letra del párrafo sea negrita, y que la palabra Por el contrario, en los elem entos fijos:
"Fundam entos" se resalte en rojo. ¿Todavía re
• El elem ento contenedor (containing block) de
cuerdas el span de la introducción a H TM L?
los elem entos fijos es siem pre la ventana del
navegador (el viezvport).
Tarea: resaltar el eslogan en negrita y la pala
bra “fundamentos” en rojo Puesto que la ventana del navegador en sí m is
ma tam poco se desplaza, los elem entos fijos se
1. M odifica la hoja de estilos littleboxes.css m antienen en su sitio, position fixed es ideal para
com o sigue: secciones de navegación y hace prácticam ente
#encabezado p { innecesario el uso de m arcos (frarnes), actual
position:absolute; m ente caídos en desuso.
top: lOpx ; Por desgracia, Internet Explorer hasta la versión
right: lOpx; 6 ignora por com pleto positionifixed, algo que
font-weight: bold; /* Negrita */ puede tener consecuencias drásticas para lograr
padding: 5px 0 5px 0; el diseño deseado.
margin-bottom: 0;
Veamos un ejem plo. Crea el siguiente código
} H TM L, en el que el elem ento div se m antiene fijo
#encabezado p span {
m ediante CSS:
color: #d90000; /* Color de fuente */
<body>
} <div id=nfijon>Cuadro fijo</div>
2. G uarda la hoja de estilos y observa las pá <p>Párrafo 1. Lorem ipsum dolor sit amet,
ginas web en el navegador. consectetuer adipiscing elit. Morbi rhoncus
volutpat n isl. Praesent elementum odio ac
nibh. Duis at quam nec dolor consequat
Si no recuerdas m uy bien el span, repasa el có
blandit. Sed libero. Vivamus faucibus purus
digo HTML: non purus. Suspendisse id ante ut nulla
<div id=”encabezadon> facilisis porta.</p>
<p>Párrafo 2. Nullam vulputate hendrerit
nunc. Nullam dapibus blandit o rci. Nunc
<p>Diseño de páginas web con CSS.
metus. Sed sed ante. Cras interdum, erat at
<span>Fundamentos.</span></p>
pharetra sodales, elit ligula nonummy nisi,
</div>
sit amet auctor purus leo vel urna.
Código 34: El uso de span puede ser muy útil Pellentesque ac augue sit amet ipsum nonummy
sodales. Sed libero augue, ultricies et,
El selector #encabezado p span solam ente selec tristique ut, posuere commoao, ligula.
ciona la palabra "Fu nd am entos". De este m odo Integer aliquet. Doñee varius lectus. </p>
podem os aplicar form ato a determ inadas partes < /body>
del texto con la ayuda de span. Código 35: Un poco de HTML con el elemento div que fijaremos
Con este código obtenem os la ilustración a con To flo a t significa flo ta r y una caja flotante hace
tinuación, prim ero en Firefox, después en Inter tres m ovim ientos: se eleva y sale del flujo nor
net Explorer V.6: mal, flota com o un globo dentro del elem ento
contenedor y se desplaza hacia la izquierda o la
Archivo Ebnar Jftí rt$tor«i « jt r c u o H e v i a m i e ^ ja j A,yda derecha en función de cóm o sopla el viento.
Para que la im agen flote, deberem os incluir la Atención: soZo eZ texto rodea a la im agen, tecfc-
declaración float:right directam ente en el elem en ground, padding, border y margin del párrafo están
to img: debajo. Es decir, para definir un espacio entre el
texto y la im agen, lo m ás sencillo es asignárselo
a la im agen, y n o al párrafo.
hacia la derecha té r, -
Tarea: crear una separación entre la imagen y
1. A bre la página index.html y m odifica el có
el texto
digo fuente com o sigue:
1. Abre la página de inicio index.html y m odi
<h2>Inicio</h2>
fica el código fuente com o sigue:
< p x i m g src="ballon.jpg" alt="Globo <9
rojo” width="78" height="100" & <h2>Inicio</h2 >
style="f loat:right;" />Las páginas <9 <p><img src="ballon.jpg" alt="Globo &
web están compuestas... rojo" width="78" height="100" <P
2. G uarda la página web y ábrela en el nave style="float:right; margin-left:15px;" /><P
1. A bre la hoja de estilos littleboxes.css. Cuando un elem ento flotante tiene un margin
2. D efine debajo de #areatexto las siguientes horizontal, Internet Explorer lo duplica. Este
dos clases: "bug de doble m argen flotante" se puede
arreglar fácilm ente asignando al elem ento flo
.imgizda {
float:left;
tante la declaración display: inline.
padding: 3px; /* Distancia entre <9
imagen y borde * / Adiós a la flotación: clear
border: 5px solid #ccc; /* El & En la ilustración anterior se puede observar que
borde de la imagen */ no sólo el prim er párrafo rodea la im agen, sino
margin-right: lOpx; /* Distancia <9 tam bién todos los siguientes. Si no deseam os es
entre borde y texto */ te efecto, es necesario hacer que la im agen deje
margin-bottom: lOpx; /* Distancia <P de flotar.
hacia abajo*/
La propiedad clear obliga a una caja a em pezar
} debajo de un elem ento flotante, clear puede tener
.iragdcha { los valores left, right o both:
float:right;
padding: 3px; • clear.left term ina un floatd eft
border: 5px solid #ccc; • clear:right term ina un flo a t: right
margin-bottom: lOpx; • clear.both term ina un float: right y un floatdeft
margin-left: lOpx; Si no querem os que el segundo párrafo de texto
} de la página de inicio se coloque junto a la ima
3. G uarda la hoja de estilos. gen, la solución es bien sencilla:
4. M odifica el código de la página index.htm l <p style="clear:right“>Los siguientes pasos
para la imagen: muestran...</p>
Código 57: "clear: right" para forzar el párrafo a colocarse debajo
< p x i m g src="ballon.jpg" alt=d*
del globo
"Globo rojo" width="78" <9
height="100" class="imgdcha" /> ... Float term ina y el margin superior del párrafo
"lim p iad o" se rellena de form a que el texto em
5. G uarda la página w eb y ábrela en el nave
pieza justo debajo del globo.
gador.
Float y clear
Este es el nuevo aspecto de la página con la im a
gen flotante a la derecha: Float suele im plicar la intervención de clear.
Sin clear el estado flotan te se aplica a todos los
elem entos siguientes. En el caso de los dise
ños de varias colum nas, clear puede ser muy
im portante.
Recordatorio
Repasem os los puntos principales de este capí
tulo:
• Los elem entos H TM L de una página web si
Fig. 59: El globo flota y se muestra correctamente
guen el docnm ent flow, el flujo natural del
docum ento:
— U n elem ento em pieza lo m ás arriba y
m ás a la izquierda posible.
Flujo y posicionamiento 73
- Los dem ás elem entos se colocan a su position: fix ed y deja que los elem entos fijos
derecha hasta que no hay m ás espacio. fluyan.
- Cuando no queda espacio, los siguien • Float significa " flotar" y es una propiedad en
tes elem entos saltan una línea y vuelven sí m ism a, cuyos valores posibles son left y
a em pezar a la izquierda. right. Los elem entos flotantes flotan por en
cim a de la página y realizan tres m ovim ien
• Los elem entos de bloque ocupan una línea tos:
com pleta, independientem ente de su anchu
ra. - Se extraen del flujo del docum ento.
• La propiedad CSS position puede tener tres - Flotan dentro del elem ento padre tan
valores: relative, absolute y fixed. Las coorde arriba com o sea posible.
nadas exactas para el posicionam iento se in - Se colocan a la derecha o a la izquierda
dican con top, right, bottom y left. dentro del elem ento padre.
• El posicionam iento relativo coloca el ele • Las secciones de contenido de todos los
m ento de forma relativa con respecto a su elem entos posteriores rodean al elem ento
posición original en el flow . La posición ori flotante, m ientras que padding, border y mar
ginal se m antiene protegida. gin se desplazan debajo.
• El posicionam iento absoluto extrae el ele • Las clases C SS para que los elem entos floten
m ento del flujo. Los valores de top, rightf bot a la derecha o a la izquierda son prácticas.
tom y left hacen referencia al elem ento raíz o • Para term inar el estado de flotación, se apli
al elem ento contenedor m ás cercano que ca a un elem ento siguiente la propiedad
tam bién esté posicionado.
clear, que acepta los valores /e/f, right o both.
• Los elem entos fijos se m antienen en su posi
ción y no se desplazan con el resto del con
tenido. Internet Explorer 6 no com prende
74 Diseños de varias columnas con CSS
r.
~ -
m a rg ln -IJt: I ¿ % w id th : 7 0 %
Fig. 61: Dos desventajas de position:absolute
Fig. 60: Ejemplo sencillo de un diseño de 2 columnas con "posi Los dos inconvenientes no siem pre son proble
tion.absolute" m áticos. Si en el diseño deseado no m olesta que
En este ejemplo, tenem os dos secciones div #area- el encabezado tenga una altura fija y si la línea
texto y #navegación: de pie no tiene que abarcar toda la anchura, sino
que puede colocarse en la parte inferior de #area-
• üareatexto tiene un gran m argen izquierdo texto, por ejem plo, el posicionam iento absoluto
• #navegación se coloca dentro del m argen no presenta ningún inconveniente.
Diseños de varias columnas con CSS 75
A pesar de ello, estos dos problem as han logrado • Después se asigna a #areatexto un m argen
que cada vez m ás diseñadores echen m ano de izquierdo.
float.
Puesto que el margin izquierdo del área de texto
En los siguientes sitios w eb puedes ver algunos se coloca debajo de la navegación flotante, parece
ejem plos de posicionam iento clásico que se han com o si am bas secciones estuvieran una junto a
convertido en clásicos del diseño web: otra.
• Las Box Lessons de O w en Briggs (alias "Lit-
Tarea: hacer flotar el área de navegación a la
tle Boxes")
http://www.thenoodleincident.com/tutorials/ izquierda
box lesson/boxes.html 1. Elimina todas las declaraciones existentes
• El Layout Reservoir de Blue Robot (propiedades y valores) relativas a #nave
http://www.biuerobot.com/web/lavouts/
gación. Los selectores se pueden m antener,
puesto que los utilizarem os enseguida.
2.. A ñade las propiedades y valores resalta
Float I: 2 columnas con float y dos en negrita:
margin #navegacion {
Float no sólo perm ite hacer que floten las im áge float: left;
nes, sino secciones div com pletas. A continua width: 130px;
ción crearem os un diseño sencillo de dos colum padding-left: lOpx;
nas con una navegación vertical en el lado iz padding-top: 20px;
quierdo de la página. El proceso consta de seis >
pasos: #navegacion ul {
1. Flotación de la navegación. }
^navegación li {
2. A tribución de un gran m argen izquierdo al
list-style: none;
área de texto.
3. Preparación de la lista no ordenada. }
#navegacion a {
4. Form ato de los vínculos de la lista.
5. Resaltado del punto de navegación actual. }
#navegacion arhover,
6. Color de fondo para la navegación ("Faux
#inicio #navi01 a,
C olum n").
#pagcontacto #navi02 a
Cuando se utilice float, siem pre se debe de {
clarar la anchura con w idth }
3. G uarda la hoja de estilos y abre las páginas
Los elem entos posicionados con flo a t siempre
en el navegador.
deben tener una anchura declarada con width.
Sin indicación de la anchura, el com porta No está nada mal. La navegación ya está coloca
m iento del navegador es im predecible. da en vertical en el m argen izquierdo, pero el
En el ejem plo de la im agen flotante del capí área de texto la rodea en lugar de m ostrarse en
tulo anterior esto no era im portante, porque el una colum na separada.
gráfico tiene de todas form as una anchura fija.
Por el contrario, las secciones div flotantes is¡¡ ¿
exigen una indicación de la anchura. L_» _ . . __ _ _ liapAqenac « » i i Ü B . fam tefW eQ tw i
'little b o x e s
In icio
Paso 1: flotación del área de navegación u*s ow-** -« fc « t m com pt.-ct-ij. •)« -...xtsfrv* «x-tM>OMÍ«Tw o os
I r a t e e » ? uno» ,intn » avvt a m -w parw «nt* r Mo io que * «
Para crear las dos colum nas recurrirem os a un •í ewco> un g r » *c c •>a r a ta i to w *
___ .....
Paso 2: asignar un gran margen al área de
"
texto m sM
v/ / <*.v. r ' ■?' .* x ¿u
Inicio I 4- • 1,* * - £ ■ Q
•
se ( CMCCar UT4» 3 CtTO* o c-^ s^ p cr-el eoL- e *u s ToJC
lo o>» <•> ir- .« I ln - í . 1 , <
*\ _»V6. o a m ? -» c <vt»í
Fig. 63: El contenido se encuentra junto a la navegación
L2~ pssoe ai carena de&dé créeoso de ¡as
-e>si r«ata <a renrw^a»
. á f o
0*s«Ao<}ep¿9teaswebcoeCSS. »
1. Com pleta las reglas CSS de los vínculos Itittle b o x ES
com o sigue:
I n i c io
#navegacion a { LH t í 'í v : S*
>* ^uevierr CC I3C 9 urtot j u r í r a sfres i
r+etMnrpA**** cut
tr»tr tfc s T oOc
text-decoration: none;
color: black; F/g. 65: Navegación con lista formateada
padding: 4px;
border-left: 3px solid white; /* &
Paso 6: “Faux column” - Color de fondo para
invisible */ la navegación
} Quizás habrás observado que la colum na de na
2. G uarda la hoja de estilos y abre las páginas vegación en realidad no es una colum na, puesto
que la altura de la sección de navegación corres
en el navegador.
ponde a su contenido. Si asignam os un color de
En la prim era declaración, los vínculos se con fondo a #navegación, el efecto salta a la vista:
vierten en elem ento de bloque, de m odo que el
!*** • s sB .t » g a iw n ii M cm n iH ta C
vínculo se vuelve tan ancho com o el contenedor 3 «9 'ICr—- §
li y el usuario podrá hacer clic en todo el punto
de navegación. '■hlllB bDXES
:i«s w e b con C S S .
Tt'WMQBfe
En esta tabla se ilustra más claram ente: Aunque parezca im presionante, este m étodo
tam bién presenta inconvenientes:
Diseño en píxeles Diseño en em
• En el caso de elem entos anidados, em dism i
#wrapper { #wrapper {
nuye progresivam ente. Ello puede traducir
width: 720px; width: 72em;
margin: auto: margin: auto;
se en m ás de una sorpresa para los diseña
dores web.
} }
#areatexto { #areatexto { • Cuando se utiliza un tam año de fuente
float: right: float: right; grande, un diseño elástico puede crecer más
width: 520px: width: 52em; allá del 100% y obligar al usuario a despla
} } zarse horizontalm ente por la página.
#contenidoprin { #contenidoprin {
float: left; float: left; Este últim o problem a se podría resolver indi
width: 350px; width: 35em; cando una anchura m áxim a de 100% (m ax-width:
} } 100% ), pero no todos los navegadores com pren
#contenidosec { #contenidosec { den la orden. ¿Adivinas cornetam ente cu ál?...
float: right; float: right;
width: 150px; width: 15em;
\ \
/
#navegacion {
;
#navegacion { Recordatorio
float: left: float: left; Para terminar, repasem os los puntos m ás im por
width: 180px; width: 18em;
tantes de este capítulo:
} }
• Los diseños CSS de varias colum nas se ba
Tabla 19: A la izquierda el diseño basado en píxeles, a la derecha la
correspondencia en em san principalm ente en dos técnicas:
Fig. 71: Un diseño basado en em con tamaño de fuente normal • H ay dos tipos de diseños flexibles:
En la siguiente ilustración se puede apreciar la - Diseños líquidos ("liq u id ") con anchu
ventaja de un diseño basado en em: si am plia ras en porcentaje
m os el tam año de la fuente, la anchura de las co - Diseños elásticos ("elastic") con anchu
lum nas crece de forma dinámica. ras en em
i»*— 1«**> ■**— • N aturalm ente, tam bién es posible m ezclar
todas las variantes.
D ttlr Boxes - En ca b ra d o
«M ttílSaa,
<head>
Conditional Comments: estilos sólo para IE
<!-- Otros elementos HTML -->
Los Conditional Comments son <!— com entarios
<style type="text/cssn> en HTM L —> que se pueden asociar a determ i
@import url(littleboxes.css) screen; nadas condiciones. Este tipo de com entarios son
@import url(versionimprimir.css) print; una invención de Microsoft, y se introdujeron
</style> por prim era vez con IE5. Todos los demás nave
gadores tratan las instrucciones com o un com en
</head>
tario norm al, lo cual puede ser m uy práctico a la
Código 45: Definición de un medio de salida utilizando @itnport
hora de aplicar parches.
Para enviar una hoja de estilos únicam ente a IE5
Internet Explorer o superior (también a IE6 y 7), incluye el si
guiente com entario en la página HTML:
Después de que M icrosoft ganase la primera
< I-- [if IE]>
gran batalla de navegadores contra N etscape en <style type="text/css">
tre 1996 y 1998, Internet Explorer se convirtió en @import (ie.css);
el program a m ás utilizado para surfear por la </style>
Red: < I [endif]-->
Código 46: Conditional Ccmment - sólo para Internet Explorer
• La versión 5 de Internet Explorer se desarro
lló entre 1999 y 2001 y presenta graves pro Para enviar una hoja de estilos únicam ente a In
blem as con respecto a CSS, que todavía es ternet Explorer V5.0 y V5.5, puedes utilizar el si
necesario tener en cuenta en la actualidad guiente comentario.
(en la medida en la que esperem os visitantes <1-- [if lt IE 6]>
con IE 5.x). <style type="text/css">
• IE6 apareció en octubre de 2001 y soportaba ©import (ie5x.ces)/
las CSS relativam ente bien, teniendo en </style>
< 1 [endif3-->
cuenta las condiciones de la época. D esgra
ciadam ente, no se m ejoró nada en los últi Código 47: Conditional Comment - sólo para IE5.X
m os años. Las letras It de la condición //‘significan 'Tess
Com o otros navegadores, IE 6 presenta una par than" (m enor que). Toda la condición se traduce
ticularidad, el llam ado modo quirks. En este m o com o "Si la versión del navegador IE es inferior
do, que se activa por una indicación de doctype a 6".
incom pleta o incorrecta (véase pág. 10), IE6 se Otros operadores condicionales posibles en los
com porta com o sus procesadores. Conditional Com m ents son gt ("m ayor qu e"), Ite
En IE7 se han eliminado m uchos de los proble ("m enor o igual que"), gte ("m ayor o igual
mas relacionados con CSS. Es posible que el día que").
en que desaparezca el últim o navegador antiguo
podam os dar la bienvenida a una nueva era de Probar el funcionamiento de los Conditional
CSS sin parches, pero de m om ento volvam os a Comments
la cruda realidad. El siguiente código perm ite com probar fácilm en
te si los Conditional Com m ents funcionan o si
W ikipedia: guerra de navegadores e Internet hem os com etido algún error al escribir el código.
Explorer Abre la página de ejem plo index.html y escribe
las siguientes líneas entre <head> y </head>, de
Si quieres más inform ación sobre la guerra de
bajo de <link> :
navegadores o la historia de Internet Explorer,
la W ikipedia es un buen punto de partida: <!-- [if IE 6]>
<style type=”text/css">
http://es.wikipedia.orQ/wiki/ body { background-color: yellow; }
Guerra de navegadores </style>
< J [endif]-->
http://es.wikipedia.orQ/wiki/lntemet Explorer
Código 48: Un fondo amarillo sólo para IE 6
Tarea: corregir el tamaño de fuente para IE 5.x Tarea: integrar Conditional Comments en el
documento HTML
1. Crea una nueva hoja de estilos con la si
guiente regla CSS: 1. A bre las páginas index.html y contacto.html
y añade los com entarios resaltados en negri
body {
ta:
font-size: x-small;
} <head>
2. G uarda la hoja de estilos com o ie5.css en la <!-- Otros elementos HTML incl. &
#wrapper ( </head>
width: 72 Opx; 2. G uarda todos los archivos y abre las pági
margin: auto; nas en IE5 (si está instalado).
}
Código 49: Centrado de #wrapper La condición iflt IE 6 significa "S i la versión del
navegador es inferior a 6 ", que es lo m ism o que
decir V5 y V5.5.
Patchwork: parches en CSS 85
El otro modelo de cajas de IE 5.x ño m ediante CSS. Siem pre que indiquem os un
En el capítulo sobre el m odelo de cajas, en la doctype correcto para nuestras páginas w eb, IE6
pág. 44 descubrim os que el cálculo de la anchura trabajará en m odo estándar, por lo que sólo de
total de una caja no es nada intuitivo: bem os preocupam os por IE5. De algún m odo
tenem os que indicarle a IE5 que calcule la an
• En el m undo real, el relleno y la anchura del chura de la caja de otra forma. La solución: Con-
m arco se incluyen en la indicación de la an ditional Comments.
chura de una caja.
En una hoja de estilos especial (p.ej. la que
• En las cajas CSS, el relleno (padding) y la an
hem os creado antes ie5.css)f que solam ente se
chura del m arco (border-zvidth) se añaden a la
enviará a Internet Explorer 5.x con ayuda de
indicación de la anchura (zvidth).
Conditional Com m ents, definirem os la anchura
Para calcular la anchura total, Internet Explorer de la caja en 440px:
5.x toma com o m odelo las cajas del m undo real,
• p#ejemplo { width: 44Opx; }
por lo que se equivoca. Internet Explorer 6 calcu
la las cajas correctam ente, siempre que esté fun Las indicaciones de padding y border se m antie
cionando en m odo estándar. nen sin cam bios conform e a la cascada, y por fin
las aguas vuelven a su cauce.
D icho de otro m odo: si en una caja se definen
tanto zvidth com o valores horizontales para pad
ding o border, IE5.X e IE6 en modo quirks repre
sentan la caja dem asiado pequeña. Un ejemplo: Recordatorio
p#ejemplo { H agam os un repaso de los puntos m ás im por
width:40Opx; tantes de este capítulo:
padding:lOpx;
border:solid lOpx #333; • Existen num erosos tipos de parches, filtros y
} hacks para navegadores, aunque es aconse
Código 50: Ejemplo CSS para el cálculo de la anchura de una caja jable m oderar su uso al m ínim o im prescin
dible.
• Si se calcula correctam ente, este párrafo tie
• @ im port perm ite ocultar hojas de estilos a los
ne una anchura de 440px:
navegadores antiguos.
400px zvidth m ás lOpx de padding-left, pad-
• Los Conditional Com ments perm iten definir
ding-right, border-left y border-right.
estilos exclusivos para Internet Explorer y
• Si se calcula erróneam ente, el párrafo sola
lograr así que m uestre las páginas correcta
m ente mide 400px:
m ente a pesar de los errores CSS.
Los 400px del zvidth incluyen padding y bor
• Internet Explorer V5.x y V 6 en el llam ado
der. Es decir, para el contenido solam ente
m odo quirks interpretan incorrectam ente el
nos quedan 360px.
m odelo de cajas.
No cuesta im aginar que estos cálculos erróneos
pueden tener consecuencias drásticas en el dise
86 Herramientas importantes
Lynx V iew er
Incluso existe una versión traducida al español y En TopStyle Pro es posible visualizar sim ultá
al catalán del program a, aunque la docum enta neamente una página en Internet Explorer (arri
ción sólo está disponible en inglés. ba) y M ozilla Firefox (abajo):
.. ■
■
■■
■
v. . . ; . y .... « w V.
■ j j | H ___
Editor de código ¿i.—
Fig. 76: TopStyle Pro muestra la vista previa de la página simul
táneamente en IE y Firefox
*£ «XHTML1 0 - i3 i¡7 1 Lo único que criticaría de TopStyle es que no in
B f t t n t w t e c i A ttttb trtfrx &
iP * lropecíO f
tegra una función de adm inistración de proyec
m »c n s p e c tg r f tos ni de carga por FTP/SFTP.
Si te interesa, puedes descargar una versión de
prueba de 20 días de TopStyle en la siguiente di
rección:
http://www.newsqator.com/NGOLProduct.aspx?
ProdlD=TopStvle
arrouth
backgrcvxj Existía una versión gratuita llam ada TopStyle Li
background-attdcbrnení te, aunque ya no se puede encontrar en el site
background-coíor
BDefwerMcrf ^ backgjoundHmage
desde que N ew sgator adquirió la empresa de
backgfound-pcabon Nick Bradbury.
b«d« backgfound-repeaf
fcpsce B border Si todavía encuentras alguna versión de TopSty
"-¥Ms 3 bofdei-bottom
JÍ® ac e borderbottomcolor
le Lite para descargar (busca en Google p.ej.
B t venís botdeí-bottom-síyte "TopStyle Lite Dozvnload"), la versión Lite será
/ onclick
* ..J U I .C .I ,
A más que suficiente para estudiar este manual.
oc-ssj ; Sample Text '$■
# C SS1 • E4 # M S4 # NS8 #08 Alternativas a TopStyle
Fig. 75: TupStyle Pro en acción Puedes encontrar una lista m uy exhaustiva de
H ace unos años, N ick Bradbury creó HomeSite, editores CSS (tam bién para otros sistem as
uno de los m ejores editores de código HTML operativos) en la w eb del W 3C:
que posteriorm ente fue absorbido por M acrome http://www.w3.Org/Style/CSS/#editors
dia Dreamweaver.
Con TopStyle Pro, ha creado un editor de CSS
que tam bién perm ite editar HTM L cóm odam en
te. A lgunos de sus puntos destacados:
Sitios útiles
Los siguientes sitios web sobre CSS m erecen
• H TM L jv CSS en un editor
com o m ínim o una vista, aunque esta lista no
• Com probación de sintaxis CSS y del nave
pretende ser exhaustiva y existen m uchos más.
gador
• Búsqueda y sustitución de colores CSS Sitios generales sobre CSS
• Integración con el validador del W3C Adem ás de mi propio sitio web
(http://infotekten.de) en alem án, puedo recom en
dar los siguientes sitios relacionados con CSS:
94 índice de palabras clave