Descripción y características de los principales componentes que tienen los juegos de mesa
Descripción completa
Descripción: Enseña a Realizar paso a paso el ensamblaje de una Pc
Descripción completa
Enriquece tus aplicaciones web con hojas de estilo CSS. Escrito en español. PDF actualizado disponible en http://solucionjava.com/manuales_gratis.phpDescripción completa
Uma folha de estilos é um conjunto de regras que informa a um programa, responsável pela formatação de um documento, como organizar a página, como posicionar e expor o texto e, dependendo de…Descrição completa
CSS es un juego de niños. Todo el conteni do de una página web se encuentra dentro d e c a ja ja s , o " c o n t e n e d o r e s ” . C o m p r e n d e r e s t e c o n c e p t o e s f u n d a m e n t a l p a r a l le le g a r a dominar CSS y lograr crear diseños atracti vos y que funcionen. A tr a v é s d e u n a s e r ie d e c a p í tu lo s p r o g r e s i v o s y c o n l a a y u d a d e e j e m p l o s p r á c t ic ic o s , e l a u t o r p r o p o n e la c r e a c ió i ó n d e u n s i t io io w e b mediante HTML y CSS. En este cuaderno se explica cómo dar for mato al texto, a las imágenes, a las listas, a l o s v í n c u l o s . . . c ó m o c o n t r o l a r la la p o s i c ió ió n precisa de los objetos con ayuda de márge nes y espacios, y cómo hacer uso de los es tilos anidados para lograr páginas de diseño f le le x i b l e y a m i g a b l e . La primera mitad del manual permite intro ducirse paso a paso en los conceptos bási c o s d e H T M L y C S S . E n l a s e g u n d a p a rt r t e, e, las explicaciones, a pesar de mantener su claridad, se centran en temas más concre t o s y c o m p l e jo jo s . E n c u a l q u i e r c a s o , t a n t o lo l o s p r in in c i p i a n t e s como los programadores avanzados seguro que sacarán un gran partido de toda la in f o r m a c i ó n q u e o f re re c e e l a u to to r . Mikkel Franck, editor. [email protected]
Sant Fruitós de Bages, Barcelona
Distribución quioscos: Coedis S.L. Avd A vd a. d e B a rc e lo n a , 22 5 Molins de Rei Barcelona
Venta por números: Después de su aparición, los números de esta colección pueden pedirse por correo. (Consulta la página 92)
Todos los productos citados en este manual son marcas registradas o marcas comerciales. comerciales. El autor y el e ditor declinan toda responsab ilidad que que pued pu eda a su rgir rg ir de la utiliza uti liza ción ció n de los datos da tos o pro p ro gramas que aparecen en este libro.
readme.txt
3
readme.txt qu e han llegado a M B f t v J n U M S wmb s m personas que a prendido mediante el mé1 ypr nss z . ;u¿ han aprendido Lo han visto aquí , /o han i É b á r | r a d i f
C :r - raer-po raer-po uno logra logra juntar muchas peque”_L ”_Lr r^ ez ^ CSS que, sin em bargo , no propor- -r zr -r a imagen gener general al.. Este Este cuader cuaderno no está está ; rara mostrar dicha imagen final.
La idea sobre ei cuaderno La idea sobre este cuaderno surgió d espués de mu chos años asistiendo asistiendo a seminarios en los que los participantes participantes siempre tropezaban con la misma piedra. Se fundamenta en dos pensa mientos: •
En prim er lugar lugar , debe ser corto. Quería lograr casi 100 páginas, y lo he (casi) logrado. El lector debería debería dedicar al cuaderno el míni mo tiempo posible, y el el máxim o a la crea ción de sitios web. lugar, no tendría que hab lar de to • £ -: segundo lugar, l e . Este cuaderno está pensado com o una groa para el laberinto de CSS, y no quiero explicar todas las pequeñas cosas que se cruzan cruzan por el camino. El B 2r.ual incluye numerosos ejercicios prácti cas v i k? largo de los capítulos terminaremos e rr e re : un pequeño pequeño sitio sitio web que se puede utiuti __ er co m o pu nto nt o de pa rtida rti da para pa ra qu e el lecto lec torr gy irri—mfr por su cuenta.
S h « h ir g o , tambi también én expl explic icar aréé conce concept ptos os imim? como la especificidad, especificidad, el mod elo de G fB w h o sra d a y la her heren enci ciaa de for forma ma comcomr « r > : - rara que el lecto lectorr no ten tenga ga que que segui seguirr i r e r ^ ¡retr ¡retracci acciones ones paso paso a pas pasoo sino sino que que Segue a comprender el diseño con CSS. "La eneren ce- cofXK±niento", tal como dice Stefan - r >T fHTNíL rS.s rS .se¡ e¡rrninii.orq) ninii.orq)..
¿A quién se dirige? Los únicos requisitos reales para la lectura son tener interés por la web v ganas de aprender. Lo ideal sería que el lector no tenga alergia al códi go fuente, y que no se asuste ante una indica ción hexadecimal de un color como #f3c600. El cuaderno está pensado p rincipalmente para: •
Princip iantes que ya haya n dado sus prim e ros pasos y deseen saber más. • Dise Diseñad ñador ores es de de tabl tablas as que que haya hayann oído oído que que también se puede vivir sin ellas, ellas, pero no sepan cómo. • Diseñadores web que busqu en una intro ducción compacta y estructurada a CSS. • Prog Progra ramad mador ores es que desee deseenn cre crear ar un fr o n tend adecuado para sus scripts del lado del servidor. Si logras llegar al final del cuaderno, habrás ad quirido un conocimiento fundam ental sólido que te permitirá comp render mejor los ejemplos que se encuentran en Internet y en otros libros. Com o principiante, te te recomiendo qu e leas el cuaderno a tu ritmo de principio a fin. Si eres un u suario avanzado, puedes saltar a las las partes que te interese con la ayuda del índice de mate rias y de palabras clave. Los datos d e ejemplos del cuaderno se pueden descargar gratuitamen te de http://www.pc-cuademos.com . Peter Müller
4
La web no está hecha de papel
La web no está hecha de papel En este capítulo demostraremos que la mentalidad de papel se traduce en expectativas frustradas en el caso de las pági nas web. Después veremos la historia de un periódico flexi ble y describiremos las características de las páginas web adecuadas al medio.
La mentalidad basada en el papel desemboca sin remedio en expectativas frustradas cuando se trata de diseñar páginas web.
Todos hemos crecido con el papel impreso, y los productos impresos como libros y revistas han influenciado notablem ente nuestra forma de pensar y nuestra sensibilidad organizativa. Ser consciente de este pensamiento en papel es el primer paso para lograr crear páginas web ad ap tadas al medio.
El autor de una página web no tiene pleno con trol sobre el aspecto de la página en el navega dor del usuario. Solamente puede expresar sus deseos. ¿Te parece exagerado?
Com o dice Carroll en Alicia en el pa ís de las mara villas: "Empieza por el principio y sigue hasta llegar al final; allí te paras". Sigue el con ejo blan co. Ese es el principio.
Mentalidad de papel, páginas web y expectativas frustradas Navegantes, diseñadores web y clientes , prácti camente todos basan su contacto con la web en una expectativa m arcada po r dos experiencias: El au tor de una página en pape l tiene plen o control sobre su aspecto, independientemente de si diseña un osten toso folleto brillante o prueba suerte con su primera invitación. • Una vez terminad a, la página en papel se re pro du ce sin ca mbios y todos los espectadores la ven exactamente igual (obviando las man chas de café, el amarilleo y otras desviacio nes marginales). El pensamiento 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 pel, y una página web se comporta de forma dis tinta a una de papel: •
•
•
El au tor de una pá gina web no tien e pleno con trol sobre su aspecto. En último lugar es el usua rio el que d etermina el aspecto (y el comportam iento) de la página en su nave gador, pero el autor solamente puede expre sar un deseo. Una vez terminada, una página web se mues tra diferente para cada usuario.
1. El autor de una página web no tiene pleno control
Un ejemplo sencillo: sobre el papel, el autor de termina el tamaño de letra -en la web no. En cualquier navegador web el usuario puede mo dificar el tamaño de fuente, facilitando la lectura de texto en el monitor. Por esa razó n, un sitio web diseñado con m entalidad de papel se de rrumba, mientras que un sitio adecuado al me dio se adapta. La influencia del usuario va mucho más allá. En Internet Explorer, en el menú Herramientas - Opciones de Internet, a través de la ficha General se puede acceder al cuadro de diálogo Accesibilidad. Accesibilidad Formato I"! Orrwbr cobres especificados en páginas Web I I Omitir est ío* de fre nte s especificados en páginas Web ! IOmitir tamaños de fuentes especificad os en pagina s Web Hoja de e stío dei usuano I IDar formato a b s documentos utilizando mi hoja de estile ,1 P Ó T ’
.-Vominar A g n fc r
Cancelar
Fig. 1: Accesibilidad en IE
Desde aquí, el usuario puede ignorar el estilo de fuentes y colores de todas las páginas web. Pruébalo. Intenta ver las páginas web con tipos de fuente y colores totalmente distintos a los fi ja dos por los au tores de las mismas. El usu ario incluso pu ede u tilizar una hoja de es-, tilos (CSS) propia para visualizar todas las pági nas web que se muestren en el navegador. Como vem os, el autor no tiene el control total sobre i* página web.
La web no está hecha de papel Aunque parezca incongruente, si quieres diseñar páginas web primero deberás desistir de querer diseñar páginas web. Es así. No tendrás ningún control sobre el aspecto que tendrá la página en el navegad or del usuario.
2. Las páginas web tienen un aspecto distinto para cada usuario En realidad, una página web no tiene el aspecto que el usuario ve en la ventana d el navegador. El navegador recibe del servidor únicamente el código fuen te, una especie de proyecto de cons trucción. El naveg ador es el encargado de anali zar el proyecto y representarlo de la m ejor forma posible. Cuando uno crea una página, en realidad crea código fuente. Aunque ni siquiera haya oído o leído nunca este término porqu e trabaje con un editor visual como Frontpage, Go Live o Dreamweaver. Cuando cargamos la página ter minada en el sen ad or web, únicamente transmi timos el código fuente, pero no la página tal co mo se mostraba en el editor. Es decir, el código fuente es en cierta m edida la página web real. u iiu te
--
tt ill í CtlTT. »3M ;iu;tU
' í.'Jf ¿«s
*—*
« ■ j. • - a > j
*?LttW «O : .*«
•luveeictiKtrtiJi
«3 * 5 :
te ;
• e r -■»»t :*e»Crt
i;:es t —X
M C t o ; C » *% •; l íy e - t M i -j ir M e u p ’ N ' -
// —»
; ít '.>i t i t i « Inauj-: «H va n r
< W f M * ' .« t t w S í M . « I w e-r u B jíj.fittfcu / u u ,.«tP **» ■
m h b - «••;■=:: i — * T • I i i « ' :> ; í r i r í i f * f c íl jt » -; -:
’t ae fc pt t& af ti :» »•• • - * j * . u u - u m > ' - s o < s t v » r *
tt-r— i H e a i i C m f a i ' « M n o i « h m M U T .
«o — i— ««/ fifia». U v j f c f" . , .. .j K t t W M s m i « re — I t t t t S ' t U t f a b r t l U . l U ' i5» l t w v i > « n s
w r* ’IM»»..
« tM lj >
i o v s ‘
« w -r mít» u¡si-
»MlgUUntO».' »»«=»-;-.■>»* tx «-!><■-. ^.-.T
♦
.. ■ | k -' j í i » jt l U p t i u s r • ! ■ »* «» -33V /f c* wr < 3» V M i
— W >•.!«>
Ffg. 2: Código fuen te de una página web
Cualquier navegador tiene un menú Ver con una opción llamada Código fuen te o Código fuen te de la página , que perm ite visualizar el proyecto de construcción. Lo que el usuario contempla en la ventana del navegador como página web es únicamente la interpretación que hace ese navegador concreto en ese equipo concreto con las op ciones actuales. En consecuencia, las páginas web obligatoria men te se visualizan de forma distinta porqu e el código fuente se interpreta de diferente forma en función del entorno.
5
Periódicos: las páginas de papel son rígidas, las páginas web son flexibles La siguiente historia describe a la perfección la diferencia entre el me dio imp reso y la web: •
Por la ma ñana sales de casa y comp ras un periódico. • En el metro no hay mu cho espacio, y el pe riódico se encoge automáticamente. A tama ño A5 o similar. • En el trayecto a pie hasta la oficina, disfrutas del entorno y dejas que tu reproductor MP3 te lea un artículo previamente marcado. • En la mesa del despacho, el periódico se am plía por sí solo. A tamaño A2, o lo que quepa en función del espacio disponible. • Por la tarde le das el periód ico a tu abuela, que duplica el tamaño de fuente y le cam bia la tipografía para leerlo más fácilmente. Y todo ello, con el m ismo periódico. Por natura leza, una página web es tan flexible como este periódico. El único momento en que pierde di cha flexibilidad es cua ndo el diseño es erróneo, o cuando se imprime.
Páginas web adecuadas al medio: más allá del papel ¿Conoces Shrek? Ese simpático ogro que, acom pañado de un chismoso asno, rescató a una princesa y más tarde se casó con ella... Los ogros son verdes, fortachon es y no se les considera demasiado simpáticos. Hay una escena de la pe lícula en la que Shrek le explica a su acomp añan te la naturaleza de los ogros: • • •
Shrek: "Lo s ogros son com o las cebo llas" Asno: "¿Quieres decir que apestan?" Shrek: "¡N o! ¡Capas! ¡Las cebo llas tienen ca pas, los ogros tienen capas!" Las páginas web también.
Las páginas web tienen capas La Web no es un medio impreso, pero tampoco se limita únicam ente a la pantalla. La web es el primer medio que se rige por el principio "S in gle Input - Múltiple Outpu t": el contenido se guarda una sola vez y se reproduce en d istintos formatos. En pa ntalla, impreso sobre pap el, en forma de archivo PDF, acústicam ente a través de un screenreader, y seguramente también de otras formas que todavía no conocemos. La diferenciación entre contenido y formato sig nifica que las páginas web tienen capas:
6 •
•
La web no está hecha de papel El núcleo, la capa más profunda de la pági na, es el contenido, el texto, el código HTM L. Este nú cleo es flexible y se adapta a las circunstancias. Alrededor de este núcleo hay otras capas, como CSS para la pantalla, CSS para la im presora, Java Script para facilitar el manejo (AJAX), etc.
Las capas alrededor del núcleo son mejoras que hacen que la página sea más bonita y más fácil de manejar, pero no siempre se hace u so de to das esas capas. Cuando creamos páginas web adecuadas al me dio no sólo queremos crear una página que se muestre exactam ente igual en todos los navega dores. Eso es imposible, del mismo modo que intentar busca r el final de Internet. Una página web no tiene que verse exactamente igual en todas partes, sino que debe fu nci onar en todas partes. El contenido debe seguir siendo ac cesible para el usuario.
Conforme a los estándares, accesibles y flexibles = adecuadas al medio En la web circulan distintos términos cuyo obje tivo es distanciamos de la mentalidad del pen samiento centrado en el papel: •
Diseño web conforme a los estándares ("Designing zoith Web Standards") • Diseño web sin barreras ("Accessibility", es de cir, " A cc es ib ilid ad") • Flexibilidad ("Bullet ProofWeb Design") • Optimización para motores de búsqueda (“Search Engine O ptimization") A fin de cuen tas, todos estos términos nos a ni man a crear páginas web de forma que se adap ten a las posibilidades del World Wide Web, algo que yo agrupo dentro del término "diseño web adecuado al medio".
¿Diseño de páginas con tablas? Si el diseño web adecuado al medio es tan fan tástico, ¿por qué anteriormente las páginas web se diseñaban a partir de tablas? Vamos a aclarar lo haciendo un poco d e retrospectiva.
Legítima defensa: tablas y La web fue cread a por científicos para científi cos, y los científicos suelen estar má s interesados -y no sólo en el caso de las páginas w eb - en el contenido qu e en la forma. En los inicios de la red de redes, las páginas web eran prácticamen
te idénticas: fondo gris, letra negra e hipervínculos azules que pasaban a ser lilas cuando apun taban a una página ya visitada. Cu ando la Red se convirtió en un gran boom mundial a mediados de los noventa, las páginas web simples perdieron terreno frente a los dise ño s más elaborados. El World W ide Web Consortium (http://w3.orq) trabajó para elaborar CSS, un lenguaje para el diseño atractivo de elemen tos HTML. Sin embargo, el mundo quería pági nas llenas de color, y las quería rápido. A nadie le importaba un nuevo lenguaje genial que no tenía siquiera fecha de lanzamiento. Cuando Netscape inventó la etiqueta p a ra el diseño de fuentes y
para las tablas, (casi) todo el mundo quedó entusiasmado, y el diseño web clásico empezó a cobrar forma: • F orm a to de fu en tes c on font • Posidonamiento con tablas HTML invisibles El código fuente de estas páginas es práctica me nte ilegible para las personas, y la incorpora dón de cambios posteriores a la estructura se convierte rápidamente en una pesadilla.
Vuelta a la mentalidad del papel En derto sentido, esta forma de aplicar formato supuso un paso atrás hacia el familiar mundo de la mentalidad centrada en el papel. Los editores visuales como Frontpage o GoLive ocultan el cód igo fuente y refuerzan así la metáfora del papel actuando com o si fueran simples procesa dores de textos. Aún hoy hay muchos diseñado res de páginas web que se sorprenden al com probar que la página se ve distinta en su moni tor que en el navegado r del vecino. El formato de fuentes mediante CSS se impuso de forma relativamente rápida a finales de los noventa. Si se planificaba bien, podía a ligerar mu cho el trabajo, porque una hoja de estilos puede utilizarse para tantas páginas como se desee. Pe rmite dar formato por control remoto. Aunque CSS también ofrecía teóricamente la po sibilidad de p osicionar objetos en una página web, en aquel entonces los navegadores no in terpretaban CSS correctamente, hasta el punto de que el intento podía conllevar resultados in esperado s. Por ese motivo, los diseños de varias columnas se seguían realizando con tablas.
Diseños sin tablas Actualmente la situación ha cambiado. Los na vegadores modernos son tan compatibles con CSS que los diseñadores web ya no tienen nin
La web no está hecha de papel guna excusa, a excepción de una pereza innata y una acusada falta de tiempo, para no diseñar sus páginas por completo con CSS. La diferencia con el diseño tradicional basa do en tablas HTML de la década de los noventa es abisma l, y si ya se han diseñado pá ginas con ta blas, lo mejor es olvidarse de todo lo aprendido. Diseñar con CSS es distinto. Mu y distinto. No hay punto de comparación. La separación de contenido y formato, por ejem plo, es un concepto nuevo: • •
Se parte de archivos HTM L bien estructura dos, sin diseño. Posteriormente se da formato a los archivos con instrucciones CSS.
7
No tod o es más sencillo con CSS, y la curva de aprendizaje inicial es más bien plana. Qu izás te estarás preguntando porque has dedicado tantos años a aprender a diseñar páginas web utilizan do tablas y ahora tienes que volver a empezar desde cero. No serás el único: Mala cosa es -exclamó Eduardo- que ahora ya no se pueda aprender para toda la vida. Nuestros antecesores se atenían a la instrucción que habían recibido en su juventud; noso tros, en cambio, debemos volver a aprender cada cinco años si no queremos quedar completamente pasados de moda. Goethe. La s afinidades electivas. Primera parte, cuarto capítulo. 1809. Nu evas reglas para un nuevo medio. La w eb no está hecha de papel, y para el diseño de páginas web tenemos CSS.
8
Así funciona HTML
Así funciona HTML En este capítulo descubriremos que las páginas web están compuestas por cuadros rectangulares, HTML se utiliza para pegar etiquetas y una sólida estructura base constituye el fundamento de cualquier página web. Todos los miles de millones de páginas web de la Red están escritas en un lenguaje llamado HTML. Y cualquiera que quiera hacemos creer que es posible crear buenas páginas web sin sa ber cómo funciona HTML está realizando una afirmación, cuanto menos, atrevida.
Las páginas web están hechas de cuadros rectangulares Las páginas web se componen de cuadros rec tangulares que se colocan unos junto a otros o se superponen en la ventana del navegador. Cuan to más nos acostumbremos a esta idea, más fácil será diseñar páginas web. Cualquier forma re donda es un truco, un gráfico o ambas cosas. En su relación con dichos cuad ros, los lenguajes HTM L y CSS ("Ca scading Style Sheets") tienen dos cometidos claramente diferenciados: •
HT M L es el albañil que construye la casa y
ajusta la distribución de las habitaciones. Con HTML se crean los cuadros rectangula res y se llenan de contenido. • C SS es el decorador que diseña la casa y las habitaciones. CSS permite dar forma a los cuadros y al co ntenido, y posicionarlos. HTM L es un lenguaje sencillo y por ese motivo no siemp re se le toma en serio. Sin embargo, si los cuadros no están bien estructurados en HTML, esto puede conllevar graves problemas a la hora de da rles forma con CSS.
HT de Hypertext: creación de hipervínculos El hipertexto es texto c on una serie de enlaces automáticos que suelen llamarse hyperlinks o links. La W orld WTide Web está com puesta por miles de millones de páginas web enlazadas en tre sí a través de hipervíncu los, y estas interco nexiones crean un tejido de páginas. Dicho de otra forma: •
Los hiper víncu los son los hilos que se utili zan para tejer el tejido de la red mundial. El HT de HTML significa que el lenguaje HTML permite crear hipervínculos.
M de Markup: asignación de etiquetas Markup suele traducirse como "m arcado ". Po dríamos imaginarlo como en un supermercado: •
Marcar productos significa "pegarles etique tas". • HTM L pega literalmente etiquetas en el tex to de una página web. Las etiquetas HTML se colocan entre los signos mayor y menor que y se llaman , que en español se traduce como "etique ta":
Este texto es un párrafo normal.
El navegad or sabe, gracias a las etiquetas, que el texto entre amb as es un párrafo normal. En este ejemplo, p significa pa ragrap h, en español párrafo.
L de Language: vocablos y regias gramaticales HTML es un lenguaje, en el que naturalmente existen v ocablos y reglas grama ticales. Tags, elementos, atributos y reglas gramaticales... es necesario aprenderlo todo, y aplicarlo meticulo samente.
El diseño de páginas web con CSS empieza por unos buenos conocimientos básicos de HTML, algo de lo que nos ocuparemos a continuación.
Este cuaderno no pretende ser una referencia completa, ya que se pueden encontrar varias de ellas en Internet. Un ejemplo gratuito, actualiza do y vivo es SelfHTML. Se puede encontrar en versión impresa o consultar gratuitamente en:
¿Qué es realmente HT - M - L?
•
HTM L significa HyperText MarkUp Language (en español "lenguaje para el marcado de hipertexto"). Aunque esta traducción es correcta, no es especialmente descriptiva, por lo que veremos a continuación una explicación más detallada de cada letra.
XHTML: la última versión de HTML
http://es.selfhtml.orq
Antes o después uno termina topándose con el término XHTML. Para resumirlo, XHTM L es la última versión y el futuro de HTML, como mí nimo según la voluntad del W 3 C (http://w3.orq ). La X corresponde a eXtensible (ampliable). Las
Así funciona HTML reglas gramaticales de XHTML son algo más rí gidas que las de HTM L, lo que sin em bargo re sulta bastante útil. Diferencias entre HTM L y XHTM L
Si te interesan las diferencias concretas entre HTML y XHTML, en la siguiente página de Ignside encontrarás un resumen compacto: http.7/www.iQnside.net/man/html/a xhtml.php
Los tres malentendidos sobre HTML más comunes
Es buena costumbre incorporar comentarios al código fuente para que tú mismo puedas com prender pasado un tiempo la función de deter minadas partes del código. Un comentario HTML empieza con < i - - y ter mina con -->. Un ejemplo:
Cuando el navegador detecta los caracteres es un comentario y no d ebe mostrarse en la ventana del navegador. Los comentarios se pued en ver en el código fuente
Hay tres malentendidos sobre HTML tan exten didos que me gustaría corregirlos brevemen te aquí.
Aunque los comen tarios no se mue stren en la ventana del navegador , siguen estando en e l có digo fuen te y cu alquier visitante puede leerlo.
1. HTML es un lenguaje de programación HTML no se programa, sino que simplemente se escribe. Los principiantes suelen creer que escri bir código fuente HTML es como programar, porque deben estar atentos a todos los caracteres -pero lo mismo ocurre con los dictados y éstos también se escriben y no se programan.
2. HTML es un lenguaje de descripción de páginas HTML no describe cómo se muestra una página, sino solamente la estructura. Para el diseño se utiliza CSS ("Cascading Stvle Sheets"). Algunos ejemplos de lenguajes de descripciones de pági nas son PostScript o PDF.
3. HTML se utiliza para el diseño de páginas web "Diseñar con HT ML es como pintar con espo sas". Esta frase sigue siendo tan válida ho y co mo hace diez años. Lo importante a la hora de crear una página web es la separación entre con tenido y diseño: HTM L sirve para crear los cua dros rectangulares y rellenarlos de contenido, pero el diseño de éstos se realiza con CSS. Esta separación estricta de tareas abre posibilidades insospechadas.
9
En todas las páginas hay una estructura básica El código fuente de cualquier página web se puede sub dividir en cuatro grandes partes: 1. DOCTYPE al principio de todo, en la pri mera fila. 2. El elemento maestro html, que contiene head y body. 3. El encabezad o head con el título (title) de la página web y elementos como meta. 4. body con el contenido qu e se muestra e n la ventana del navegador. Juntos , es tos elem en tos b ásicos form an el ar ma zón HTM L que confiere una estructura invisible y mantiene unida una página web, como si de un esq ueleto se tratase.
Crear una estructura básica para la página Antes de crear una nueva página con una estruc tura básica, perm íteme un consejo: DOCTYPE tiene una sintaxis extremadam ente compleja y si el ed itor no ha escrito la línea po r ti, es mejor qu e la copies en el código fuen te para evitar errores de tecleo. Puedes encontrar m ues tras para copiar, por ejemplo, en SelfHTM L: •
1. Crea una nuev a carpeta a la que llamarás p. ej. littleboxes. 2. Inicia tu editor preferido y crea un archivo vacío. 3. Guarda el archivo vacío como index.html. 4. Crea la estructura básica HTML. Si el edi tor ya ha escrito una en el archivo, compá rala con la del siguiente ejemplo.
2. El elemento maestro: Con html se introduce el elemento raíz anuncia do en el DOCTYPE, del que dependen todos los demás elementos de la página web. html crea un cuadro (invisible) que contiene el head y el body y todos los demás elementos. ¿Raíces o maestros?
En m uchas documentaciones HTML (incluido SelfHTML) html se considera un elemen to raíz. Sin embargo vo prefiero la denominación ele mento maestro, ya que todos los elementos HTML de una página web derivan directa o indirectamente de html.
<9
content="text/html; charset=iso-8859-l'' /> Little Boxes - Inicio
5. Vuelve a guard ar el archivo y ábrelo en un navegador. Com o pued es ver, en el nave gado r no se ve (ca si) nada, solamente en la barra de título se mues tra el título que le hemos asignado. A continua ción detallaremos una a una las líneas de esta es tructura básica.
1. La definición del tipo de docume nto: La definición del tipo de documento, que en este ejemp lo he dividido en dos líneas para facilitar la lectura, debe aparecer siempre en la primera línea del código fuente. Le indica tres cosas al navegador: •
determinadas circunstancias puede tener conse cuencias drásticas para el aspecto de la página.
Cóm o se llama el elem ento raíz del docu mento (html) • Qué versión de HTML se utiliza (XHTML V I.0 Transitional) • Dónde se puede enco ntrar el libro gram ati cal correspondiente (la URL) Si no se indica ningún DOCTYPE o falta la URL que hace referencia a la gramática, algunos na vegadores entran en el llamado modo quirk ("Modo chapuza", véase la pág. 83), lo que en
El espacio de nombres XML
El añadido xmlns="http: //www. w3 .org/1999/ xhtml" define el llam ado espacio de nom bres XML, cuya misión es garantizar la unicidad de los nombres de atributos v elementos. Po r el mom ento no es realmente importante com pren der qué es y qué implicaciones tiene. Esta indi cación en XHTML se incluye por motivos de in tegridad. El atributo universal lang: lang=uesMxml:lang="es"
El atributo lang indica el idioma en el que está escrito la página (es = español), lang es lo que se considera un atributo universal, es decir, que se puede utilizar en muchos elementos HTM L. En el futuro lang se sustituirá p or xmhlang, aunque algunos navegadores actuales todavía no son compatibles. En pocas palabras: si definimos un idioma para un elemento HTML con lang, también debería mos incluir xmhlang. Aunque resulta pesado, no suele utilizarse tan a menudo.
3. La introducción: Entre y encontramos una especie de encabezado o introducción de la página web, que no se muestra en la ventana del navegador y que contiene datos sobre el propio documento que analizarán los navegadores o motores de búsqueda. Los elementos m ás importantes del encabezado son meta y tifie.
11
Así funciona HTML Información sobre el documento: <meta ...>
En los m etadatos es posible incluir distintas ins trucciones útiles para senadores web, navegado res web y robo ts de motores de búsqueda, aun que el núcleo de la estructura básica es ún ica mente el metad ato sobre el conjunto de caracte res. El meta-elemento de la estructura básica le indica al navegad or que para este documento debería utilizar el conjunto de caracteres i so-8859-1, el conjunto normal para idiomas de Europa occi dental. No rmalm ente el navegador ya tiene este información al adq uirir el código fuente del ser vidor web, pero si por algún motivo esto no ocu rre (porque la página esté almacenada de forma local, por ejemplo), este meta-dato del head le ayudará. Un dato sobre conjuntos de caracteres
Si el término "conjunto de caracteres" no te dice mucho, en la web de SelfHtml encontra rás una buena explicación (por desgracia esta página só lo está en francés): http://fr.selfhtml.orq/internationalisation/
En españo l, puede s consultar la Wikipedia: http://es.wikipedia.org/wiki/ Conjunto de caracteres
El nombre de la página:
title es probablemente el elemento HTML más subestimado y contiene un texto breve que apa rece en distintos lugares: •
En la barra de título del navegador y en las listas desplegables de los botones adelante y atrás • Como propuesta de nombre para los favori tos o marcadores (Bookm arks) • En las listas de resultado s de los motores de búsqueda como enlace resaltado Un buen título debe ser corto y describir la pá gina web, aunq ue no la estemos viendo, "infotectos.de:: Inicio" es mejor que " Bienvenidos" o " Do cumento sin título". En la estructura básica de la pág. 9 aparece Little Boxes - Inicio. El texto subrayad o en azul en las listas de resul tados de G oogle es el título de la página. La si guiente búsqueda demuestra que todavía hay muchos diseñadores web profesionales que no han comprendido realmente la importancia de title:
| ***** samas asaa* fraata &&& «*»>
(jOOOlC
Cy
Sv'-fcjvrM 4S‘«V9kO
ti?
1j&Wtttrfr Ü
La w ¡ * b a e c W r t V M * »
QsmsmMsm mmmmmmmm %&&**$££&&& ’A o & c M V H f,
•V.J* &trr¿¡ y 20}
>«*■«*•■>••
49
«. *
1 ■Zz&á#
«99 al¿V-ÍO
s
mA-Z4CtV,«ic*tr&at
i jjit'iu.i»inm.■■i»"* '
Pwq3W3ft. iie.aagg EX ftKK A
i
MafeX
te
3*
áxtXÍK-Á^
Pxprai !*c,ta&otu&p 4Xfj 12Oí "G««4<*¿»43SV "■J■"■■'■-UU u
ti * ¿M®* !
'?*svd.«j3
£ ? A W an > ^ í«íi ¿ Ap * •»
:*« t&swx
í»
*MO
<•íí? « k 5í í 49 «üs 40 p/ omxn
WftQCMa ru
**,■ • <{■* * fvuí S« < w -
á*
<-ao
■..ni'•juí'Wwwimnj ) S&AKfci
F/g. 3: Búsqueda en Google de "documento sin título"
El título estándar del apreciado editor Macro media Dreamweaver es "Do cumen to sin título", y tal com o demuestra esta búsqued a en Google, se ha utilizado en m ás de un m illón de páginas web españolas.
4. El contenido de la página: Después del encabezado sigue el cuerpo (de tex to), en inglés body. Todo lo que se encuentra en tre y se mostrará en la ventana del navegador. Y para utilizarlo más adelante, es recomendable añadir una ID única al body: —— :— —rr-""7":"v■ "—:■1 ----
--
Tarea: asignar una ID para body
---
1. Completa el tag inicial de body como si gue: cbody id="inicio"> 2. Guarda la página y ábrela en un navega dor. En el navegador no cambiará nada, pero utiliza remos este ID en la página 55 y 77 para m ostrar la página en la que se encuentra el usuario.
Datos de interés sobre elementos HTML A continuación, un par de d atos generales sobre los elementos HTM L.
Los nombres de los elementos HTML derivan del inglés Los nombres de los elementos HTML son abre viaturas de un término inglés. Com o ya hemos visto, un párrafo de texto normal está rodeado por
y
: la p significa paragraph, es decir, párrafo.
r *
12
Así funciona HTML
Todos los elementos HTML tienen un tag de inicio y de cierre Los elementos HTM L empiezan y terminan con un tag. E n este sentido, el tag final se diferencia del inicial por una barra:
Este texto es un párrafo.
le indica al nav ega do r " Aq uí empie za un pá rrafo ", mien tras que
significa "A qu í termi na un párrafo".
Elementos HTML: tag de comienzo, contenido y tag final He aquí un breve ejemplo para ilustrar los tér minos elemento y tag: Elemento HTML (cuadro rectangular)
Gráficamente tendría este aspecto:
Fig. 5: Un cuadro dentro de un cuadro dentro de un cuadro
Los elementos de bloque e inline se comportan de distinta forma Todos los elementos son rectangulares, pero existen distintos tipos de cuadros que se com portan diferente. Los dos más importantes son los elementos tipo bloque y en línea. Los elementos de bloque pueden ser tan amplios como sea necesario
Los elementos de bloque se parecen a los forma tos de párrafo de Word: •
Fig. 4: Construcción de un elemento HTML
Un elemento H TML se compone de tres partes. En este ejemplo son: • • •
El tag de comienzo entre signos mayor y me nor que:
El contenido: Este texto es un párrafo. El tag fina l, también entre signos mayor y menor que:
Los tres juntos constituyen un elemento. Los ele mentos son siempre cuadros rectangulares y to dos los textos y gráficos de una página web se incluyen dentro de dichos cuadros. Sin excep ción. También se les puede llamar contenedores o cajas. En inglés se les conoce como box.
Anidación de elementos HTML: el primero que se abre, el último en cerrarse Cuando se anidan elementos H TM L es necesario respetar una regla básica esen cial: el elemento que se abre primero es el último que se cierra. Un ejem plo:
Normal, negrita, negrita y cursiva. Otra vez normal.
Los elemen tos p, strong y em se abren y cierran en orden inverso. Los cuad ros creados por los elementos se anidan uno dentro de otro como muñecas rusas: em se guarda dentro de strong, que a su vez se encuentra dentro de p.
Los cuadros de un eleme nto de bloque se ensanchan automáticamente tanto como sea posible. • Los elementos siguientes se encuentran de bajo del cuad ro en la línea siguiente. Los elementos de bloque contienen texto nor mal, elementos inline y a veces otros elemen tos de bloque. Buenos ejemplos de ello son p, ui, oí, ii así como los títulos hi a h6. Los elementos inline son tan anchos como su conte nido
Los eleme ntos inline se parecen a los formatos de carácter de Word: •
El cuadro de un elemento inline solamente es tan ancho como su contenido. • Los elemen tos siguientes fluyen directamen te después del elemento. Los elementos inline no crean líneas nuevas y es tán supeditados a los elementos de bloque. Pue den contener texto normal y otros elementos in line, pero no elementos de bloque. Algunos ejemplos son em, strong , a e img. ¿Elemento de bloque o inline?
En la referencia HT ML de SelfHTML encon trarás más información sobre si un determi nado elemento es de bloque o inline: http://es.selfhtml.orq/html/referencia/elemente.htm
Así funciona HTML -
Recordatorio Repasemos aq uí los puntos m ás importantes de este capítulo: •
Las páginas web se com ponen de cuadros rectangulares que se pueden colocar unos junto a o tros o supe rpon erse: -
•
•
•
HTML crea los cuadros y los rellena de contenido. CS S da forma a los cuadros y al conte nido.
HTML es un "lenguaje de pegado de etique tas de hipertexto". No es un lenguaje de programación ni un lenguaje de descripción de páginas y no se utiliza para diseñar. Toda página web tiene un armazón HTML que se comp one de las siguientes partes: -
DOCTYPE El elemento maestro html La introducción liead con title y nietaelemento(s)
El contenido body, que se m uestra en la ventana del navegador
Algunos datos de interés sobre los elemen tos HTML:
•
13
Los nombres de los elementos HTML provienen del inglés. Todos los elementos HTML tienen un tag inicial y final. Un elemento HTML se compone de un tag inicial, el contenido y un tag final.
Los dos tipos más importantes de elementos HTML son bloque e inline: Los elementos de b loque crean un salto de línea y son tan anchos como se pue da (div, h l a U6, p, ni, ol, li y otros). Los elementos inline no crean un salto de línea y solamente tienen la anchura del contenido del elemento (strong, em, a, img y otros)
14
Los elementos HTML más importantes
Los elementos HTML más importantes En este capítulo conoceremos los elementos HTML más importantes. Dividen la página web en secciones y crean un documento HTML bien estructurado. Al final del capí tulo el lector tendrá dos páginas correctas a las que aplica remos estilo con una hoja de estilos del W3C.
En comparación con el inglés, el español o el chino, HTML es un lenguaje bastante sencillo. Solamente contiene unos 85 elementos distintos, y en este capítulo veremos y aprenderemos a utilizar los más importantes. El HTML correcto es el fundamento de cualquier página web.
Dividir la página en secciones: div div es un elemento de bloque con el que es posi ble agrupar otros elementos como párrafos, lis tas y gráficos en una sección común (div = divi sión = sección).
Dicho de otra forma, div es un contenedor, una caja, una box, en el que se pueden almacenar otras cajas para, por ejemplo, d arles formato a todas más tarde mediante CSS.
Cuatro secciones: encabezado, navegación, texto y pie Casi todas las páginas web tienen un encabeza do con un logotipo, una sección para los elemen tos de navegación, otra para el contenido y una línea de pie. El siguiente equipamiento mínimo corresponde a esta estructura y se ha establecido como base para diseños sencillos: • •
Encabezado con logotipo y eslogan Sección de navegación con elementos de nave gación • Sección de texto con texto e imágenes • Pie con espacio para la dirección, copyright, etc. Para poder distinguir las secciones en el código fuente, se les asigna un nombre único mediante el atributo id. En HTML tiene este aspecto: • • • •
La forma abreviada de "un elemento con el atribu to id y el valor areatexto" es el signo # y la ID de la sección, p. ej. ttareatexto.
Para otros diseños
La división en estas seccion es constituye la base para diseños sencillos a una o dos co lumnas. Los diseños más complejos se pueden regir por otro tipo de disposición. Volveremos a hablar de ello en el capítulo ded icado a los diseños de v arias columnas, a partir de la pág. 79.
La sobrecubierta: üwrapper Muchos libros tienen una sobrecubierta, una cu bierta adicional sobre las tapas cuya misión es protegerlas (y que se puede imprimir de forma fácil y asequible). Nuestra página web también necesita una especie de sobrecubierta: una sec ción que abarque a todas las demás. Esta sección no tiene ninguna relevancia desde el punto de vista del contenido, pero es impres cindible para muchos diseños CSS. En muchas páginas web se le llama zvrapper, que en español significa "sobrecubierta". Concretamente se lla ma , o abrevia do üivrapper.
Creación de secciones con div Crea las siguientes secciones al principio del bo dy de la página. --------------------------------------------------------------------------
Tarea: dividir la página en secciones con div l. Abre la página inicial index.html. 2. Añade el código fuente resaltado en negri ta:
<1-- Fin encabezado -->
<1-- Fin navegación -->
<1-- Fin areatexto -->
3. Guarda la página. En la ventana del navegador no cambia nada, pero al diseñar con CSS las secciones con nom-
Los elementos HTML más importantes
De form a ideal, los títulos deben perm itir que el lector pueda ded ucir el contenido de la página web saltando de título en título. Así, por ejem plo, un usuario pued e decirle a su screenreader que solam ente le lea los títulos de una página.
bres asignados med iante id cobran más importanda. Los comentarios después de cada ayudan a farilitar la lectura, aunque los tags de inirio y final estén más sepa rados entre sí.
Representación esquemática de las secciones div Los elementos div permiten crear cuadros rec tangulares en la página web en los que es posi ble almacenar otros elementos H TML com o títu los y párrafos. Esquemáticamente tendría este aspecto:
HTM L tiene seis elementos distintos para títulos, desde ¡ti hasta /z6. La h corresponde a heading ("título"), y el número a continuación el nivel de la estructura. h2 no significa "el segundo título del texto", sino "un título de segundo nivel". Así, puede haber varios títulos h2 en una misma página.
No seleccionar el nivel del título por el tamaño de letra En la mayoría de navegadores, los distintos ni veles de título se representan utilizando distin tos tamaños de fuente. Sin embargo, deberíamos evitar seleccionar un determinado nivel de título por el tamaño d e letra que se le asigna:
15
¿r
•
:
El aspecto de un título y, con él, el tamaño de letra, se pueden cambiar más tarde con CSS. • En HT ML solamen te estamos diciendo mo mentáneamente que el texto marcado es un título, y qué nivel de estructura tiene. En pocas palabras: no empieces tu página web p. ej. con
sólo porque te parezca dema siado grande. Además, todos los títulos son elementos de bloque, por lo que automáticamente son tan anchos co mo sea p osible y tienen un salto de línea inte grado.
Tarea: crear un título para la página web Abre la página inicial index.html en el edi tor. 2. Coloca el curso r en el área de encabezado. 3. Rellénalo con el siguiente código resaltado en negrita: 1.
Little Boxes
4. Guarda la página y ábrela en un navega dor. El texto se muestra 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 1. Com pleta el areatexto de la página de ejemplo con el siguiente código:
El elemento HT ML que probablem ente más se utiliza es p, que significa pa ra gra ph, es decir, pá rrafo. Cu alquier párrafo de texto normal empieza por
2. Guarda la página y ábrela en un naveg a dor web.
desde la creación de las cajas hasta la página web terminada:
p es un elemento de bloque y no pu ede contener ningún otro elemento de bloque, ni siquiera otro p.
2. Gu arda la página y ábrela en el navega dor.
Distancia entre los títulos y párrafos
La mayoría de navegad ores añaden una de terminada separación antes y d espués de los títulos y párrafos. De m omen to no intentes eliminarla. No hay forma de hacerlo en HTM L, es much o más fácil hacerlo después con CSS.
Cada navegador tiene una hoja de estilos integrada Este es el aspecto actual de la página de inicio: O lHUefcú.ur*
ArehMc
haúo
WsrKta >rrefo»
§&*• ve.*
_
— X
Ar&u
Marcadores
& Oíccoaa»! 1
Resaltar texto: strong y em Los elementos strong y em están pen sados para resaltar texto. Ambos son elementos inline, por lo que solamente son tan anchos como el texto que contienen y no crean ningún salto de línea: •
strong significa m uy resaltado y por lo general los navegadores lo representan como negri ta. • Po r el cont rario, em significa emphasize, enfa tizar. em se suele representar en cursiva. Como regla de oro, utilizaremos strong para re saltar el texto ya antes de la lectura y em cuando queramos que el texto resalte durante la lectura.
frm *
-Xcv.vmmo ¿e ¡i Ií
5>S*
v* m * »
IJ t t l e B o x e s D í k ó c d e p á g a os w e b c o c C S S F a n d a m e n rc
Inicio L as p ie rn as w eb e st án cc a up o eá as d e c u i m r e c i u g s U r a q ue s e p u ed es c n i o o r a w jyat o a oí ro s o sope rp^ fwr e otr «S os To do b que sea re c h á is es un t ruco.
cosas
Los s ip»n*** pasos moesaan
Fig. 7: index.html con títulos, párrafos y resaltados
Como se aprecia en la ilustración, los elementos de la ventana del navegador ya tienen cierto formato: • • •
Los títulos están negrita y son grandes Entre párrafos hay líneas en blanco strong es negrita y em cursiva
17
Los elementos HTML más importantes En el código fuente no hemo s indicado nada de todo esto. ¿De dónde viene pues el formato? La solución al enigma es que cada navegador tiene una serie de instrucciones de formato inte gradas. Cuando le presentamos un título h l, éste piensa "Mmmh. h l es un título importante. Aquí no dice qué asp ecto deb e tener, así que lo pondré bien grande y en neg rita". Este tipo de instrucciones de formato almacena das suelen llamarse patrones de fo rm ato en mu chos programas, o en inglés style. Un conjunto de styles se conoce como stylesheet y cada nave gador tiene su propia stylesheet integrada. Con las Cascading Style Sheets podremos crear más tarde patrones de formato que sobrescribi rán la propia del navegador. Todo lo que noso tros no definamos seguirá teniendo el formato de la hoja de estilos d el navegador.
Listas: viñetas y numeraciones Las listas ordenadas y no ordenadas son un me dio muy importante para estructurar texto en una página web.
le indica al navegador "Aq uí empieza una lista no ordenada". Entre y ii >s e encuen tran los distintos elem entos de la lista antes de que ésta termine con . Y este es el aspecto de la lista con viñetas en la ventana del navega dor:
♦ Asi funciona HTML ♦ Elementos HTML importantes ♦ Diseño con CSS
Fig.8: Una lista no ordenada
Ten en cuenta que en H TML no estamos indi cando nada sobre el tipo de viñeta que se debe utilizar. El código fuente dice que el texto es una lista con viñetas, pero no d ice nada sobre su as pecto. De momento, de esto se ocupa la styles heet integrada en el navegador. Listas no ordenadas como base para la nave gación
Las listas no orden adas suelen con stituir la base para la navegación. En la pág. 19 creare mos una lista de navegación HTM L para las páginas de ejemplos, a la que aplicaremos formato mediante CSS a partir de la pág. 52 (horizontal) y pág. 76 (vertical).
Viñetas: listas no ordenadas con ul y //
Numeraciones: listas ordenadas con o/y //
Una lista está compuesta por dos elementos en HTML:
Las listas ordenadas ("ordered lists") se suelen conocer como numeraciones. Su construcción es idéntica a la de las listas no ordenad as, pero ul se sustituye por oh
y iden tifican el principio y el final de la lista con viñetas. • y< /ii> marcan todos los elementos de ntro de la lista. ni significa "unordered list", es decir, "lista no ordenada". •
Así funciona HTML
Elementos HTML importantes
Diseño con CSS
-------------------------------
Tarea: crear una lista con viñetas (no ordena da) 1. Crea la siguiente lista no ordenada debajo de los dos párrafos y dentro de üareatexto:
Así funciona HTML
Elementos HTML importantes
Diseño con CSS
2. Guarda la página y ábrela en un navega dor.
1 Asi funciona HTML 2. Elementos HTML importantes 3. Diseño con CSS
Fig. 9: Una lista ordenada
Con so lo cambiar dos letras, la lista con v iñetas pasa a ser una numeración.
Listas anidadas Las listas se pueden anidar. En el siguien te ejer cicio, observa que el segundo elemento de la lis ta "Elementos HTM L importantes" se cierra des pu és de term inar la lista anidada.
18
Los elementos HTML más importantes Listas anidadas y editores visuales
1. Com pleta la lista de la página de ejem plo con el código fuente resaltado en negrita:
Asi funciona HTML
<1iElementos HTML importantes
Tít ulos
Párr afos y listas
Vín culo s e imágenes
Diseño con CSS
2. Gu arda la página y ábrela en el navegad or. Este es el aspecto de la lista anidada en el nave gador. ♦ Así fuodeoa HTML
♦ Beasentos HTML 2Bportaoies
Fig. 10;
Una lista anidada
o Htnlos o Párrafos y listas
o VsnaÉos e imágenes
♦ Diseño con CSS
Representación esquemática de la listas anidadas Para comprenderlo mejor, he aquí un esquem a de las cajas de listas del ejemplo que acabamos de ver:
Si utilizas un edito r visual como Frontpnge o Dreamweaver , deberías com probar el código que éste genera cuando crea una lista anida da. Muchos editores visuales crean un código in correcto para las listas anidadas. Aun que en el navega dor todo se ve bien, a la hora de asig narles formato co n CSS es muy im portante que las listas estén correctamente anidadas.
Listas de definiciones: di, dty dd El ámbito de ap licación original de las listas de definiciones son los glosarios, listas de entradas con términos y definiciones. Aunque hay poca gente que cree glosarios h abitualmente, las listas de definiciones nunca han sido demasiado po pulares. A diferencia de las listas ordenadas y no orde nadas, las listas de definiciones no tienen ningún signo que las preceda, pero están formadas por tres elementos:
Término a definir (definition (list) term)
Defini ción o explicación (definition (list) definition)
Tendría este aspecto en el navegador: Témamea drónirideéaaoa defenfon)
Fig.12: Una lista de definiciones
Aunque a primera vista no es especialmente atractiva, podemos modificar su aspecto con CSS como queramos, y en la era del CSS las lis tas de definiciones están viviendo un resurgi miento, porque dt y dd ofrecen e structuras útiles en determinadas situaciones, por ejemplo para productos y descripciones de productos o para pies de foto. Más sobre las listas de definiciones
Fig. 11: Cajas de listas - representación esquemática de la lista anidada
Cuando se aplica formato con CSS es m uy im portante mantener la anidación correcta de las cajas en el código fuente HTML para pod er di señar determinadas cajas a voluntad.
Encontrarás un tutorial (en inglés) muy reco mendable sobre este tipo de listas en MaxDesign: http://maxdesign.com . au/presentation/definition/
19
Los elementos HTML más importantes
Hipervínculos: la peculiaridad de la World Wide Web Los hvperlinks o hipervínculos son el hiper de hipertexto. Curiosamente, en H TM L el elemento más importante de todos no se llama hyperlink o link, sino simple y llanamente a (de anchor, an cla).
Anatomía de un hipervínculo Los hipervínculos siempre siguen la misma es tructura: Veámoslo en detalle: • •
¿nfotekten de - con ejemplos sob'e el cuaderno j Fig. 13: Un hipervínculo con el atributo tille
2. Guarda la página y ábrela en el navegador.
Crearemos la página contacto.html al final de este capítulo, pero ya podemos crear el vínculo a la misma. M ás tarde necesitaremos las ID naviOl y naviOZ de los dos elem entos de la lista para dar formato a la lista de navegación.
20
Los elementos HTML más im portantes
La sección superior de la página de ejemplo ten drá este aspecto en la ventana del navegador:
^ ** K*B
▼(p* Ü!F
b al coatcadc
Little Boxes
Dfeefcó* p4f»&-ríeCS6 ?-judatE«tcs
se desea, en la hoja de estilos el skip-link se puede ocultar más tarde para mostrarlo en un navegador visual (véase pág. 33). En la página de ejemplo no sería necesario un skip-link porque la naveg ación es extremada mente corta, pero es una cuestión de corrección incluir un skip-link en cualquier página que quiera ser accesible. Y ahora ya sabes cómo hacerlo. El atributo
Inicio
En el ejemplo hemos utilizado el atributo class. Volveremos a hablar sobre la importan cia de class en el capítulo sobre selectores CSS, a partir de la página 37.
la s p ijSia s Tí b íJKín cc-tcpuciías de eazéiav r« era«ja lare í m» sí p«ajíen íde
F/g. 74; La página de ejemplo con una lista de navegación
El aspecto de la lista de navegación se puede modificar más tarde mediante CSS (Capítulo 0, pág. 52).
Skip-Link (1): un hipervínculo para saltar la navegación En inglés, skip significa "saltar", y de ahí que un hipervíncu lo que salte a otro punto de la misma página web se llame también skip-link. Los usuarios que lean la página tienen que pasar previamente por toda la navegación antes de llegar al contenido propiamente dicho. Sin em bargo, con un skip-link el usuario puede saltarse la navegación. El punto de la página al que salta el hipervíncu lo se conoce como pu nto de an cla y en el código fuente se identifica mediante el atributo id. Co mo destino del salto del hipervínculo se utiliza una ID, en este caso üareatexto.
1. Com pleta el código de la página de inicio con la línea resaltada en negrita:
class
Skip-Link (2): hipervínculo para volver arriba Si tenemos una página muy larga y queremos ofrecer a los usuarios un enlace para "vo lver arriba", podemos utilizar la misma técnica: • [Arriba] Este vínculo salta al e lemen to
de la página de ejemplo, situado justo de ba jo de body. Los corchetes son solamen te decorativos.
Ruta de acceso a la imagen: img El elemento para insertar una imagen se llama img, abreviatura de image. No existe un tag de cierre , en su lugar se utiliza un espacio en blanco, una barra y el signo m ayor que. Es una es pecie de tag final integrado: El tag en el código de la página solamen te contiene la ruta de acceso al archivo de ima gen. Así pues, el gráfico y la página se mantie nen como archivos separados -a diferencia de lo que ocurre con las páginas de papel.
Los atributos de im g
im g puede utilizar muchos atributos distintos. Este es un breve listado de los más importantes:
... 2. Guarda la página y ábrela en un navega dor. El hipervínculo salta al elemento HTML con el atributo id="areatexto". Si no puedes ver el salto a la sección de texto, reduce el tam año de la ven tana del navegador tanto como sea necesario. Si
•
src="nombreimagen.jpg" El primer atributo y el más importante de son las letras src, que significa source o "fuente", src incluye la ruta de acceso al ar chivo gráfico. Solamente el nombre de ar chivo significa que el gráfico se encuentra en la misma carpeta que la página web.
21
Los elementos HTML más importantes •
alt="T exto altern ativo" La introducción de un texto alternativo es obligatoria y dicho texto se muestra cuando la imagen (todavía) no se pued e mostrar. Si uno no desea introducir un texto alternativo, basta con escribir alt='"'. • width y height: altura y anchura de la ima gen zvidth y height son dos atributos importantes. Le indican al navegador el espacio que debe reservar para la imagen antes de cargarla. • title="Texto para el bocadillo informativo" El atributo title es opcional y en el caso de los hipervínculos permite mo strar pequeños bocadillos informativos amarillos cuando el cursor se coloca sobre la imagen. Internet Explorer utiliza para ello -mie ntras n o se haya definido ningún atributo title- inco rrectamente el valor del atributo alt. im g se comporta como un elemento inline y no tiene ningún salto de línea integrado. En el siguiente ejercicio rellenaremos la página de ejemplo con un simple gráfico que ocupará el lugar del texto "Little B oxes" como título hl. En contrarás la imagen del ejemplo en el suplemen to del cuaderno.
¿Una imagen como título? Si la imagen del ejemplo no se muestra, muchos navegadores m ostrarán el texto alternativo como título h l. De este m odo el logotipo seguirá sien do reconocible como título, aunque la imagen no sea visible: Ir al cootendo
Little Boxes Diseño de página; web con CS S fundamentos
Fig. 16:
El texto alt de la imagen se representa como título hl en algunos navegado res
* COQfrCKi Vincular imágenes decorativas por CSS co mo imagen de fondo
A la hora de vincular gráficos se aplica una regla básica: las imágenes que sean relevantes desde el punto de vista del contenido, como el logotipo del ejemplo, deben vincularse me diante im g en el código HTML. Por el contra rio, las imágenes meramente decorativas se vinculan mediante CSS como gráfico de fondo (véase pág. 48).
Tarea; vincular un gráfico como título
Otros elementos útiles
1. Guard a la imag en en la misma carpeta en la que se encuentra la página de ejemplo index.html 2. Cam bia el código fuen te de la página:
Esta breve introducción a HTML no pretende ser una guía exhaustiva y solamente hemos repasa do los elementos más importantes. Para termi nar, presento a continuación un par más de ele men tos útiles. A partir de la pág. 57 encon trarás una introdu cción a la creación y el diseño de formularios.
3. Guarda la página y ábrela en el navegado r. I«t*V’ fkwn ¿rcftivc
íanar
rw«*.;v -j\i m:,social
gs'c&S cs*;
^ ’ S¡B íS little b d X E S
*.vCi
^
*+) 'iSF
------
Disefic de psagui web coa CSS Fundamento) *
Nueva línea: Si deseas insertar un salto de línea en algún pun to del texto, puedes crearlo con br, que significa break ("rotura"): • (br - espacio en blanco - barra) br es un elemento vacío, un elemento sin conteni do. De forma parecida a im g, el tag de cierre está integrado en el tag inicial con un espacio en blanco y una barra.
♦Cowws Inicio L « páa r*a* v.¿b c:Ln. werpooo co a dk>s Todo lo ^ sea tcdoudo si ucs t r i c o ir. grá& o o acaban co±as
Fig. 15: index.html con una imagen como título hl
Uso moderado de los saltos de línea
Se recomienda h acer un uso moderado de , ya que el flujo de texto en las páginas web se v e influido po r mucho s factores y, a diferencia de las páginas de papel, el autor no puede controlarlo.
22
Los elemen tos HTML más importantes
address para direcciones
Si queremos m ostrar una dirección en una pág i na w eb, podemos u tilizar el elemen to , porque se trata de uno de los pocos ele mentos HTML semánticos que permite deducir por su nombre lo que el contenido significa, ad dress se escribe en inglés, con doble d y doble s.
O tros elementos H T M L: blockquote EJ siguiente párrafo es un bloque de cí a ero r ck ao ón de la foeote
Tarea: crear una dirección (con salto de línea)
Ud puede resaltar atas de otros aurores en un párrafo propio coc formato díereote (por lo general con sangras).
1. Ab re la página de ejem plo index.html. 2. Com plétala con el siguiente código en el apartado pie:
En este caso s e trata d e u n a marcación Jope a del •:enterado Como estos párrafos son formateados, lo detm ona d oovegedor La norma es hacer visuafaar tales párrafos de forma resaltada y dfereea? dd texto adtdooal rFü fr¡t«: StlfH TM L) TerrnnaCO
littl e boxes · Calle cuadro, 12
· 02943 Boxland Tel 035774 34711 fcmiddot; Fax 03574 34712
3. Gu arda la página y ábrela en un navega dor. Por cierto, · ; crea un pequeño punto re don do q ue se coloca en el centro de la línea. La mayoría de navegadores representan el elemen to address en cursiva, pero pod emos modificarlo posteriormente med iante CSS (pág. 31). blockquote y cite para citas Com o el nombre ya nos indica, blockquote es un elemen to de bloque para citas. El elemento está especialmente indicado para citas largas. Ad e más, el texto dentro de blockquote se debería ro dear de otros elementos de bloque p. ej. p.
Con ayuda del elemento inline cite podemos marcar citas breves en el texto o, como en el ejemplo siguiente, indicar la fuente de una cita al final del bloque de la cita:
El siguiente párrafo es un bloque de cita con indicación de la fuente:
üd puede resaltar citas de otros autores en un párrafo propio con formato diferente (por lo general con sangrías).
En este caso se trata de una marcación ló gica del contenido. Como estos párrafos son formateados, lo det ermin a el navegador. La norma es hacer visualizar tales párrafos de forma resaltada y diferente del texto adicio nal . (Fuente : SelfHTML)
Código 1: Ejemplo de uso de blockquote
Este es el aspecto que tendría en el navegador:
Fig. 17: Blockquote con 2 párrafos y cite
La mayoría de navegadores representan blockquute con sangría y cite en cursiva. span es un elemento inline neutro Ya conocemos el elemento de bloque neutro div para agrupar otros elementos, span es un ele mento inline neutro que nos perm ite marcar un determinado texto dentro del flujo de texto, aunque no se m uestra de forma d istinta en la ventana del navegador: Este texto está rodeado por span
Aunque span no suele utilizarse tan a menudo como div , al aplicar formato co n C SS a veces tie ne sentido marcar determinad os pasajes de texto con span, y por eso creo que vale la pena men cionarlo aquí. Al igual que div, span también sue le utilizarse junto con los atributos id y class.
Tarea: rodear una palabra con span 1. Mod ifica el cód igo fuente de la página co mo sigue:
Diseño de páginas web con CSS. Fundamentos. spa nx/ p>
2. Guard a la página. Cuando veas la página en el navegador no apre ciarás ningún cambio de aspecto, pero es posible que necesitemos ese span más adelante (por ejem plo en la pág. 69). Character Entities: caracteres espe ciales Cuand o un traductor no sabe el sentido exacto de una palabra, suele "espa ñoliza rla", y proba blemen te así fue como entities se convirtió en en tidades. ¿Entidades? Caracteres especiales.
Las páginas web pueden conllevar problemas de todo tipo con los caracteres esp eciales. Por eso, los caracteres especiales suelen escribirse en el
23
Los elementos HTML más importantes código HT ML de una forma especial: empiezan por &, seguido de un nombre establecido y ter minan con un punto y com a: • € En el navegador, &e ur o; se sustituye p or el símbolo del euro, €. Cuand o el navegador ve el signo &, sabe que "aq uí emp ieza un carácter especial". Después espera encontrar un código definido, como euro. El punto y coma marca el final del carácter especial. E n la siguiente tabla se detallan algunas de las entidades más importantes: Carácter
Regisiered Trademark Punto centrado en vertical Non breakable space
Tab. 1: Los caracteres especiales más comunes
En la siguiente tabla se mue stra la codificación de algunos acentos y caracteres del español: Carácter
En el código
A á
Á á ñ Ü ü
ñU ü
Ingles
A acute a acute n tilde U umlaut u umlaut
Tab. 2: Acen tos, diéresis y eñe en HTML Más caracteres especiales
Encontrarás un listado de entities en esta pá gina en español, con los acentos y caracteres españoles resaltados: http://www.iQnside.net/man/html/entities.php
Las tablas no están prohibidas Durante mucho tiempo, las tablas fueron la úni ca opción disponible para posicionar objetos en una página web. CSS ha tomado el relevo, y ahora las tablas se utilizan para su propósito ini cial: para representar datos en forma de tabla.
Una tabla sencilla: table, tr y td Solamente se necesitan tres o cuatro comandos HTML para crear una tabla sencilla: • La tabla: table El comienzo y el final de la tabla se marcan con ayuda de los tags
y
. • Las filas de la tabla: tr tr significa table rozo.
y
identifican el principio y el final de una fila. • Las celdas de la tabla: td td significa table data y contiene los datos de la tabla.
y
limitan las celdas de la tabla. Todos los caracteres de texto y gráficos de la tabla se colocan entre
y
. Las tablas no son complicadas, pero es fácil per der la visión de conjunto al analizar el código fuente. Cuando se crea una tabla es recomenda ble utilizar siempre un sangrado correcto para facilitar la lectura del código. M ientras se edita una tabla, es posible h acer visibles las líneas de los bordes utilizando el atributo border:
Fila 1, C elda l
Fila 1, Celda 2
Fila 2 , Celda l
Fila 2, Cel da 2
Código 2: Una tabla seticilla con dos fila s y dos columnas
En el navegador, la tabla tendrá este aspecto: Fia L Celda 1 F3a L Celda 2 |F3a 2, Celda 1 F2a 2, Celda 2j
Fig. 18: Tabla con dos fila s y dos columnas
24
Los eleme ntos HTM L más importantes
También existe el elemento
de table heading, que se p uede utilizar para la fila de título de la tabla.
se comporta exactamente igual que
, con la diferencia de los navegado res sue len mostrar el contenido de la celda resaltado en negrita y centrado.
En el código, las columnas se encuentran una debajo de otra La dificultad de mantener la visión de conjunto de las tablas radica en que la representación del código no coincide con la representación en el navegador.
tbody
tbody
tbody
tbody
•
En el navegador las columnas de una tabla están una junto a otra. En el código, las columnas están una debajo de otra.
Encabezado, pie y cuerpo de una tabla En H TM L es posible dividir una tabla en las sec ciones lógicas de encabezado, pie y cuerpo. Ello conlleva nuevas posibilidades: •
Las secciones lógicas de una tabla se puede n seleccionar fácilmente en una hoja de estilos, para aplicarles distintos formatos. • Al representar una tabla larga, el navegador podría repetir en cada página los títulos de las columnas en el encabezado de la tabla. Los elementos para la división lógica se llaman (en riguroso orden de aparición) thead, tfoot y tbody. En este sentido, es curioso observar que la analogía no coincide con el orden anatómico: cabeza, pie, cuerpo. En el encabezado y el pie se incluyen datos so bre las columnas de la tabla, por ejemplo los tí tulos, mientras que en el cuerpo se colocan los datos propiamente dichos de la tabla.
th ead Filal, Columna l
th ead Filal, Columna 2
tfoot
hfoot*
F2, Cl F2, C2
Código 3: Tabla sencilla con encabezado, pie y cuerpo
La tabla tendrá este aspecto en el navegad or:
Mientras que en el navegador una tabla se com pone de filas horizontales y columnas verticales, en el código solamente existen filas horizontales (fr) y celd as (td). No existe ningún elem ento para crear columnas, ya que éstas derivan de la canti dad de celdas de cada fila: •
Fl, Cl Fl, C 2 < / t d »
fhead Fil al. Columna 1 tbead Fil al. Columna 2 tbody F L C1
tbody F 1, C2
tbody F 2 3C !
tbody F 2 . C 2
tfoot
tfoot
Fig.19: Tabla sencilla con encabezado , pie y cuerpo
Si deseas obtener más inform ación sobre las ta blas, encontrarás una referencia completa en SelfHTML: http://es.selfhtml.orq/html/tablas/index.htm
¿Todo correcto? Comprobación de HTML con el validador Para terminar el trabajo en el código HTML, de beríamos dejar que lo verifique un experto en gramática para comprobar que los cuadros HT ML estén correctamen te estructurados. Po demos hacerlo en la siguiente dirección: •
http://validator.w3.orq/
Si no hay ningún error en el código, se mostrará el siguiente aviso: WT
¿a Martcup Va ltdatlon Serv ic*
7 *
RaKitC fV -íí f B r
******
Eaco&ng
DoeJyp* XK^ bt' O R e« Mamaeoece
Nota
tr.
•>.a í ’ s W —
’ X W L s R r t te
This Pag e í$ Vate) XHTML t O TransftonaJ’
Fig. 20: El validador opina que todo está correcto
De esta forma queda certificado oficialmente que el código HTM L de la página no contiene ningún error gramatical y ya podemo s empezar a darle formato.
25
Los elementos HTML más importantes
CSS para probar: los W3C core styles
______
El W3C ha creado ocho ho jas de estilos que permiten aplicar formato m ediante CSS a pági nas web de ejercicios o de dem ostración, sin ne cesidad de tener que escribir ni una sola línea de CSS. _
Tarea: aplicar formato a las páginas con el core style Traditional
•Contacto
1. Abre por ejemp lo index.html en un editor. 2. Inserta el códig o resaltado en negrita en el head de la página:
Inicio L a * p á g i n as « f b e s t á n e o m p u e i t a s d e cuadro* rectangulares que se pueden colocar unos junto a otros o superponer entr ellos.
(£
Todo lo que sea redondo es un truco, un gráfico o amb as cosas
Las siguientes pasos muestran el camino desde la creación de l a s c a j a s l i as t a l a p a g i n a w e b t e r m i n a d a :
&
Si todo ha funcionado, la página debería haber cambiado de aspecto: Antes «ji-Ciíall '
Cí é
Hablaremos detenidamente del elemento HTML ¡ink al principio del siguiente capítulo. Vincula una página web con una hoja de estilos, y en es te caso la hoja se encuentra en Internet y se lla ma Traditional. Sin embargo, además de Traditional podemos probar otras variantes:
Ar*c± urx«fcwt
O
üttiB b n x E S pÁfflun wA roo C SS F uüdamtTito •-
•íaoK
• M idnig ht , Ultramarine, Chocolate, Oldsty le, M odem is t, St eely y Szviss Para probar, basta con sustituir en el elemento link la palabra Traditional por el nom bre deseado. Guardar. Ver. Disfrutar. Un deleite para los ojos: CSS
Inicio La¿ p¿iai= \*cbííú b ccsjptettai ó ; csx ltos ce« 4M0lbeea qae « pacdenc d o c x m o o «Cr eK&i Tot olo qa* se¿;¿
a atsvt
p*iO iiui c«ra t d-canaac deide ia ctcuaos de las Cíyu; b tr a lí 5cí/?B7 wv? tósauaan • A j í U ocíasiH M . • Beniaxoi HTML icapcaaare*
o r*uie‘= • Pofiafen y Satas
* Vueloseict^seae> • DiseéocceCSS
V t» íbjsbo.*^; pmi asi» afoe*»adc« L u is &6x*s CaiU cua dro.12 $121* Boxiana
Tutf/.’J*
fb» 012H5Ó7&1
r
Fig. 21 y 22: Primero la página sin form ato, después con la hoja de estilos tradicional del W3C
Recomiendo a cualquiera que eche un vistazo a CSS ZenGardert para ver todas las posibili dades d e CSS. Difícil de creer, pero cierto: to das las variantes se basan en el mism o archivo HTML, lo único que cambia es la hoja de esti los: http://csszenqarden .com/
26
Los elemen tos HTM L más importantes
Página de contacto: de la página al sitio Antes de que em pecemos a hablar de CSS en el siguiente capítulo, necesitamos una segunda pá gina. La forma más fácil de crear la página de contacto contacto.html es utilizando tu editor pre ferido. Crea una copia con " Archivo |G uardar com o" y modifícala ligeramente.
Ya tenemos un minisite de dos páginas con una pequeña navegación. En el siguiente capítulo es tudiaremos las distintas formas para dar form a to a estas páginas.
Recordatorio A continuación, un recordatorio de más los pun tos más importantes del capítulo:
Tarea: crear la página de contacto
•
1. Abre la página de inicio index.html en el editor. 2. Guárdala con "Archivo |Guardar com o..." con el nombre contacto.html. 3. Mo difica el título de la página:
•
•
Little Boxes - P á g i n a d e
contacto
4. M odifica la ID de body:
•
cbody i d = " p a g c o n t a c t o " >
5. Mod ifica el título h2 en la sección de texto: •
Contacto< /h2 >
6. Elimin a el texto de la sección de texto. Más tarde incluiremos aquí un formulario de contacto. Mantendremos la dirección del elemento address. 7. Guard a la página y ábrela en el navega dor.
•
-
Listos. Este es el aspecto de la segunda página en el navegador: -A ?'* I I
¿UHt ‘
raotocv ' irríc* Hsr:»SOftí nt*’V*íí
r *¡wai ¿¡jj r
f*
:^,T €í. i*»*-*»*»» - *«**» « I r al
* k
*•'
Al aplicar form ato con CSS, la página web se divide en distintas secciones con div. El texto de las páginas web normalmente se "sobrevuela" con la mirada. Debemos ofre cer al lector sitios en los que desca nsar la vista: títulos, párrafos cortos, resaltados y listas. Utiliza títulos (de h l a h6 ) y selecciona el ni vel de título sin tener en cuenta el tamaño de fuente. Los párrafos de texto normales se incluyen en un elemento p y el texto se puede resaltar utilizando strong y em. Los navegadores tienen una hoja de estilos integrada que más tarde se puede sustituir por los estilos que crearemos nosotros mis mos. Las listas son un medio importante para or ganizar el texto:
-
|
-
Q 'r'"
contenido
littiE b o x e s Diseño de pági na web con CSS. Fundamentes.
♦ Contarlo
• •
Contacto
•
♦ ¡oírle
Aquí v a un farmuhurio d» oontacto. Little Boxes ■Calle cuadre. 12 - 0123 4 B oxiand Tel: 01234 50-890
Fax: 01234 567S9*
• •
Fig. 23: Página de contacto con W3C Core Style Traditional.
Las listas no ordenadas (con viñetas) se componen de ul y li Las listas ordenadas (numeraciones) se componen de ol y li En las listas anidad as, el elem ento li se cierra después de la lista anidada. Las listas de definiciones se compon en de di, dt y dd. Una navegación suele ser una lista no ordenada con hipervínculos, cuyo as pecto se determinada mediante CSS.
Los hipervínculos se crean con el elemento a. Los atributos siempre se colocan en el tag de inicio de un elemento. Las páginas web no contienen gráficos in crustados, sino únicamente la ruta de acceso a los mismos. En caso necesario, es posible forzar un salto de línea con . Para las direcciones se utiliza el elemento address, con dos d y dos s.
Los elemen tos HTM L más importantes • • • • •
Para citas se pueden utilizar, entre otros, los elementos blockcjuote y cite. span es a los elementos inline lo que di v es a los elementos de bloque. Los caracteres especiales se llaman entities y siguen el esquema &abreviatura; Las tablas se utilizan para representar datos de tablas. Es posible verificar la gramática HTML en http://validator.w3.org
•
Con Core Style de W3C se pueden probar las posibilidades de CSS sin tener que saber nada de CSS.
27
28
Descubrir CSS: fuentes, colores e hipervínculos
Descubrir CSS: fuentes, colores e hipervínculos En este capítulo que se presentan las Cascading Style Sheets, y se muestra cómo se pueden definir fuentes y colo res y dar formato a los hipervínculos.
•
Después el formato de las distancias y de los propios cuadros (utilizando el llamado m o delo de cajas). Y para terminar, el posicionamiento de los cuadros en la página y la creación de dise ños d e varias columnas.
•
CSS (Cascading Style Sheets) es un lenguaje crea do especialmente para dar formato a los eleme n tos HTML.
Una hoja de estilos es un conjunto de patrones de formato ¿Qué son exactamen te las Cascading Style Sheets? Basta con echar un vistazo a los distintos ele mentos para tener una mejor visión de conjunto: •
U n style es un patrón de form at o, una instruc ción de formato almacenada. • Una sheet es una hoja de papel, una recopila ción. Una stylesheet £s una recopilación d e instrucciones de formato para elementos HTML.
La primera stylesheet propia En este apartado, crearemos una hoja de estilos vacía, escribiremos un com entario en ella y la vincularemo s con las páginas de ejemplo index.html v contacto.html.
Creación de la stylesheet e inclusión de un comentario CSS En primer lugar, crea un archivo vacío en el que más tarde guardaremos las reglas CSS (= styles).
Tarea: crear una stylesheet y un comentario CSS 1. Crea un archivo vado con tu editor prefe rido. 2. Guarda el archivo con el nom bre littleboxes.css , en la misma carpeta que los ar chivos HTML. 3. Inserta el siguiente com entario CSS en la primera línea del archivo:
¿Y cascading? Según el diccionario, una " casca da " es, entre otras cosas, una "caíd a d esde cierta altura del agua de un río u otra corriente". Esta definición es correcta pero no dice mucho. Es d i fícil aclarar el significado de cascading en este mom ento, por lo que lo dejaré para más adelante (a partir de la pág. 60).
/* Stylesheet para los ejercicios de
CSS y las cajas HTML en la página web CSS da formato a los cuadros rectangulares que se crean con HTML. Las po sibilid ades de formato de CSS se pu eden dividir en tres áreas: 1. Fuentes y colores: formato del contenido de los cuadros. 2. Distancias y bordes: formato de los propios cuadros. 3. Layout: modificar la posición de los cuadros en la página web. Siguiendo este orden analizaremos CSS en las próximas páginas: •
En prim er lugar, el formato de fuentes y co lores en los cuadros.
Little Boxes */
4. Gu arda el archivo. El nom bre de archivo debe respetar las reglas habituales para nom bres de archivos de páginas web (sin espacios, sin caracteres espe dales y en minú sculas) y como extensión se recomienda *.css. Ade más, el archivo debe estar realmente vacío. CSS es un lenguaje propio y los tags HTM L o es tructura básica HTM L no tienen cabida en él. A diferencia de HTM L, los comentarios de CSS se escriben entre / * y */ (barra asterisco - aste risco barra). Si tu teclado tiene un teclado numé rico, es muy sencillo: •
La barra /corresponde al símbolo de divi sión.
Descubrir CSS: fuentes, colores e hipervínculos •
El asterisco * correspo nde al signo de mu lti plicación, justo a su derecha.
Al igual que en H TML , los com entarios no se de ben anidar. Dentro de un comentario no se debe escribir ningún otro comentario.
29
Definición de colores de fondo y de fuente El primer paso será definir los colores de fondo y de fuente para body y el "contenedor"
El vínculo entre HTML y CSS: link
id=" wrapp er">.
En el último capítulo hemos vinculado los ar chivos de ejemplo con una hoja de estilos del W3C. Si ahora creamos nuestra propia hoja de estilos, sólo tenemos que modificar la ruta de ac ceso al archivo en el elemento link para que el formato de las páginas se base en nuestra stylesheet.
Color de fondo y de fuente para body y
Tarea: vincular la página web con la hoja de es tilos (aún vacía) 1. Abre los dos archivos HTM L index.html y contacto.html. 2. Mod ifica el códig o fuente de las do s pági nas HTML como sigue: 3. Guarda las dos página s y ábrelas en un navegador.
Ahora ya no se aplicarán los formatos de la hoja de estilos del W3C. Este es el significado de los tres atributos del elemento link: • • •
href i ndica (com o siemp re) la ruta de acceso al archivo. reí es la abreviatura de "relation" (relación). rel="stylesheet" significa "este archivo es una hoja de estilos para mí". type le indica al navegado r que littleboxes.css es un archivo de texto de CSS: "Tipo archivo de texto, más concretamente Cascading Style Sheet."
El elemento link se cierra con un tag final inte grado: espacio en blanco y signo m ayor que. Los estilos g uardados en littleboxes.css se aplican a todos los archivos HT ML relacionados con la hoja de estilos, independ ientemente de si son cien o mil.
üwrapper Los /* comentarios */ de los ejemplos sólo tie nen un propósito informativo y no es necesario copiarlos.
Tarea: definir un color de fondo y de fuente pa ra body 1. Escribe las siguientes líneas deba jo del comentario: body { color: white; /* Color de fuente */ background-color: #8c8c8c; /* Color de fondo */
2. Gua rda la hoja de estilos y abre las dos páginas (no la hoja de estilos) en un nave gador. Si funciona correctamente, la página de inicio y de contacto tendrán más o menos e ste aspecto: *o..uufhvt<* ***.•*l&'-et
1*0
jgjr
Ar¡{23
* 0 ü-
ü
icnwiÉfa
i tt le b n X E S
I
body en gris
icóo de paaoas w eb cea CSS f i¡od3a«3«Oi
* coses
•wrapper en blanco
Inicio Las peanas web t&n. compuen&i de cuadrtrt rectaegobres que se pueda» colocar uno* juccc a ocg í o ¡uperpoorr eutr d¿o£ Todo Jo que cea reckasdc un buev. ta kb Sco o embaí cosa* Los aaanrei po-r.* mués# mi d cna ño desde ta rreaoou de Lu |
Fig. 24: body en gris , tkurapper en blanco
torn la }¡¿g:*«j w*b
30
Descubrir CSS: fuentes, colores e hipervínculos
El texto está mu y cerca del borde y por lo de más, la página no es especialmente digna de admiración, pero es un comienzo.
Tarea: definir un color de fondo para el eneabezado
Quizás habrás observado que el color de fuente que hemo s definido para body con la propiedad color no se utiliza en la página, porque todo el texto se encuentra dentro de #wrapper.
1. Añ ade la siguiente regla CSS al final de la stylesheet:
Es recomendable adquirir la costumbre de d efi nir el color de fuente y de fondo juntos, para que no se den com binaciones desafortunadas como " fuente blanca sobre fondo blanco ".
,
/* Selector anidado: sólo el gráfico en el encabezado */ #enca bez ado img { back grou nd-c olo r: white;
}
2. Gu arda la hoja de estilos y abre ambas pá ginas en el navegador.
Nombres de colores
Las indicaciones de colores hexadecimales como #8c8c8c ya nos resultan familiares de HTML, p ero en CSS po demos utilizar nom bres en inglés para determinados colores, co mo zvhite o black. Más sobre la definición de colores a partir de la pág. 40.
Color de fondo y de fuente para el encabezado La sección del encabezado de las dos páginas también debe tener un color de fondo, y como ya hemos visto aprovecharemos para definir también el color de fuente.
Tarea: definir un color de fondo para el enca bezado 1. Aña de la siguiente regla CSS al final de la hoja de estilos: #enca bez ado { color: black;
Este es el aspecto que tendrá ahora el encabeza do de la página de inicio:
ittiE b o x e s >dr pagos web con CSS. FuadMméata*
Fig. 25: Encabezado y logotipo con c olor de fondo
Tipo y tamaño de fuente: font family y font-size Las páginas web están formadas por cuadros encajados unos dentro de otros, y en CSS se les aplica el principio de herencia: •
Todos los cuadros dentro del cuadro body heredarán el formato ap licado a body.
Por eso, body es perfecto para establecer el for mato básico de la fuente, ya que los demás ele mentos lo heredarán.
}
Tarea: definición de tipografía para toda la pá gina web
2. Gu arda la hoja de estilos y abre las páginas en el navegador.
1. M odifica la regla CSS para body como si gue:
back grou nd-c olo r: #f3c600;
El gráfico del logotipo es un archivo GIF trans parente que se ha optimizado para un fondo blanco, por lo que al usar un fondo oscuro se muestra una ligera aureola clara alrededor de las letras del logotipo. Podemos volver a asignar un fondo blanco a la imagen mediante CSS, y para ello utilizaremos lo que se conoce como selector anidado, que so lamente afectará al gráfico del encabezado (más sobre selectores anidados a partir de la pág. 36).
bo dv { color: black; bac kgr oun d- co lor : #8c8c8c;
fon tf ami ly: Verdana, Arial, & Helvética, sansserif; fontsize: small; /* Tamaño de fuente */
2. Guarda la stylesheet y abre ambas páginas en un navegador. En ambas páginas se ha modificado el formato de la fuente, prácticamen te para todos los ele mentos HTML. Veamos aquí en detalle las nue vas propiedades:
Descubrir CSS: fuentes, colores e hipervínculos • fo nt- fa m ily define el tipo de fuen te. Puesto que, como autor de la hoja de estilos, no sabemo s de qué fuentes dispone el nave gador del usuario, es preferible definir va rias posibilidades separadas por comas. • fo nt- si ze determina el tamaño de fuente. En Internet existe un interminable debate sobre el mejor método para de finir el tama ño de fuente, pero para emp ezar small es un buen fundamento. Volveremos a hablar de la herencia de propieda des CSS a partir de la pág. 60.
Tamaño de fuente de los títulos Todos los elementos han adqu irido un tamaño de fuente a excepción de los títulos. Los navegad o res creen que los títulos deben ser más grandes que el texto normal, y puesto que todavía no hemos definido nada para el título, todavía se aplica el formato de la hoja de estilos integrada en el navegador. Las siguientes reglas definen el tamaño de fuen te para los títulos de primer y segundo nivel.
Tarea: modificar el tamaño de fuente de los tí tulos 1. Añ ade las siguientes líneas al final de la stylesheet: hi { font-size: 150%; } h2 { font-size: 130%;
}
2. Gua rda la hoja de estilos y abre las dos páginas en un navegador. El 150% para h l todavía no tiene ningún efecto visible, porque el texto es un gráfico, pero en el caso de h2 podem os ver el cambio d irectamente. Adem ás, la indicación porcentual nos permite mantener la relación de tamaños entre texto y tí tulos cuando camb iemos el tamaño de fuente de body.
31
Una regla CSS (inglés: style o css rule) está for mada por los siguientes elementos: •
•
•
•
Se lec tor (selector)
El selector se coloca antes del par de llaves y determina (selecciona) a qué cuadros de la página se aplicará el formato. Declaración (declaration) Entre el par de llaves se encuentran una o varias declaraciones. Éstas describen el for mato de los elementos a los que afecta el se lector. Toda declaración está formada por tina pareja propiedad:valor y termina con un punto y coma. Propiedad (property) La pro piedad (color, tipo de fuente, etc.) del elemento se coloca antes de los dos puntos. Los espacios en blanco antes y después de los dos puntos son opcionales. Valor (valué) El valor que debe adquirir la propiedad se define después de los dos puntos. Después se añade un punto y coma para finalizar la declaración.
Los términos style, estilo, regla CSS , instrucción de fo rm ato y patró n de fo rm ato suelen utilizarse indis tintamen te como sinónimos. A lgunos autores también lo llaman " regla de estilo".
Formato de la dirección Al final de la página w eb hem os incluido una dirección (ficticia) en tre los tags y . La mayoría de navegadores repre sentan este elemento en cursiva, pero con la ayuda de CSS no tiene por qué ser así.
— Tarea: definir la fuente para el elemento address
1. Escribe la siguiente regla CSS al final de la hoja de estilos: addres s { text-align: center; /* centrar */ font-size: 80%;
Style: estructura de una regla CSS CSS es un lenguaje, y todos los lenguajes utili zan un léxico y una gramática. Despu és de haber visto un par de ejemplos, ya podem os determi nar la estructura esquemática de una regla CSS y el vocabulario básico: Selector { Pr op ieda d: valor; Propiedad: valor;
}
/ * más pequeño */
font-style: normal; /* fuente cP normal, no cursiva */ letter-spacing: 2px; /* Distancia entre las letras */ line-height: l.Sem; /* Distancia entre las líneas */
} 2. Guard a la hoja de estilos y abre amba s pá ginas en el navegador.
32
Descubrir CSS: fuentes, colores e hipervínculos
Ahora e l texto de address aparece centrado, es al go más pequeño que el resto de la página (80%), ya no está en cursiva, la distancia entre letras se ha ampliado en 2 píxeles y la distancia entre lí neas se ha aum entado a una vez y media el ta maño de la fuente. ! L l t tl e
Aplicar cursiva y negrita al texto requiere cierto entrenamiento: • •
La cursiva se obtiene con font-style: italic; La negrita se obtiene p.ej. con font-zveight: bold; (véase la pág. 69)
Formato de los hipervínculos Aplicar formato a los hipervínculos con CSS es un tema muy apreciado. Aquí veremos una bre ve introducción.
Hipervínculos: el elemento HTML a Los hipervínculos se definen en el código fuente con el elemento a. C SS permite asignar un nuevo formato a los hipervínculos, eliminando por ejemplo el subrayado característico.
Vínculos visitados y no visitados Los vínculos pueden cambiar de aspecto en fun ción de su estado: los vínculos no visitados sue len represen tarse en azul, y los visitado s en lila. Para los distintos estados de un vínculo, CSS uti liza las llamad as pseu do clases, que se añaden de trás del nombre d e elemento a con dos puntos. En la tabla siguiente se indican los dos estados más impo rtantes y los selectores CSS correspon dientes: Selector CSS
Hípervínculo... ...a una página no visitada ...a una página visitada
a:link a: visited
Tabla 3; Hipervínculos visitados y no visitados y los selectores CSS correspondientes
Debem os recordar que no puede h aber ningún espacio en blanco en el selector entre el nomb re de elemento a, los dos puntos y el nombre de la pseudoclase. Aquí un ejemplo:
Tarea: modificar el color de los vínculos visita dos y no visitados 1. Añad e las siguientes reglas CSS al final de la hoja de estilos: a:l ink { color: #d90000;} arvi sited { color: #cc6666;
Tarea: eliminar el subrayado de todos los hipervmculos 1. Aña de la siguiente regla CSS al final de littleboxesxss :
}
2. Guarda la hoja de estilos y abre ambas pá ginas en el navegador.
2. Guard a la styleshe et y abre las páginas en el navegador.
Los vínculos no visitados se representarán en ro jo os curo y los visitados serán algo m ás claros. Cuando se modifican los colores de los hiper vínculos es necesario mantener la diferenciación entre vínculos visitados y no visitados -a menos que nuestra intención sea la contraria.
Esta regla elimina el subrayado de los vínculos de las dos páginas web.
Hacer que los hipervínculos visitados vuel van a ser no visitados
A muchos diseñadores les encanta este truco, pe ro siempre es necesario asegurarse de que los hipervínculos se puedan reconocer como tales.
Cuand o comp ruebes las páginas, tarde o temprano todos los vínculos e starán visitados. Para que vuelvan a ser no visitados, deberás eliminar el historial del navegador.
a { text-decor ation: none; } /* Eliminar subrayado*/ }
En Firefox se puede utilizar la extensión Web Developer (pág. 86): en el menú M iscellan eous encontrarás el submenú Visited Links.
33
Descubrir CSS: fuentes, colores e hipervínculos Cuando el puntero está encima: a:hover y y cía. CSS tiene todavía otras tres tres pseud oclases para hipervínculos:
m
ú
£ •
W~rz
Selector CSS
Hipervínculo...
...cuando el puntero del ratón está a : h o v e r encima ...saltando mediante la tecla [Tab] aifocus ...en el que se hace clic
a : active
Fig. 27: Página d e inicio con un vínculo activo
Las dos primeras pseud oclases se parecen parecen bas tante, mientras que la tercera se encarga de algo muy distinto:
Con fo f o c u s y ;active, active , los vínculos suelen adquirir un contorno punteado en el navegador que no es muy elegante. Para eliminarlo, basta con aña dir la declaración outline: norte; al norte; al selector a en la ho ja de estilos. Este sería el aspecto d e la regla CSS de a:
•
a {text-decoration: none; outline: none;)
Tabla 4: Otros estados de los vínculos y los selectores CSS corres pondien pon dientes tes
mod ifica ifica el vínculo mientras el punte :hover mod ro del ratón se encuentra encima. • fo c u s corresponde al vínculo cuand o éste se selecciona selecciona med iante el teclado. • :active es :active es un vínculo en el momen to en que se hace clic en él con el ratón. En la práctica esto significa que :hover y y fo f o c u s suelen d eclararse eclararse juntos, juntos, puesto que en cierto cierto sentido fo c u s es el equivalente para teclado de :hover. Para ello, sólo tenemos que separar los dos selec tores med iante una coma antes del bloque de declaración (más detalles sobre la agrupación de selectores a partir de la pág. 36).
Tarea: definir pseudoclases para hipervínculos 1. Com pleta la la hoja de estilos con con las siguien tes reglas CSS: a:hover, a:hover, a:focus { text-decoration: underl und erline ine ;
2. Guarda la hoja de estilos estilos y abre ambas pá ginas en el navegador. Con estas reglas, :hover y y fo c u s restituyen el sub rayado típico de los vínculos, mientras que fuente '.active modifica '.active modifica el color de fondo y de la fuente en el m omen to de hacer clic, lo lo que le confiere una apariencia similar a la de un botón presio nado.
Aunque este truco truco no funciona en todos los na vegadores, no tiene efectos secundarios negati vos.
El orden de las pseudoclases en la hoja de estilos sí es importante Cuand o se definen pseudo clases en una stylesstylesheet, es necesario respetar el orden correcto: 1. 2. 3. 4.
a:fínk aroisited y a fo a:hover y f o c u s (no importa el orden) a:active
Información detallada sobre pseudoclases
Encontrarás más información sobre las pseu doclases en: http://www.webestilo.com/css/css08.phtml
Ocultar el skip-link Puesto que el skip-link está está pensad o principal mente como ayuda a la lectura de la página, po demos ocultarlo con ayuda de CSS. En la página 20 hem os asignado al vínculo el atribut atributoo class-" skiplink". En CSS, cuando el atributo atributo class aparece class aparece en el elemento HTML, necesitamos un punto delante del nombre de la clase: .skiplink significa .skiplink significa el ele m ento con el atributo class-"skiplink'" ( in class-"skiplink'" ( más in formación a partir de la pág. 38).
34
Descu brir CSS: fuentes, colores e hipervínculos
1. Añad e la siguiente regla CSS al final final de la hoja de estilos: .ski pli nk { display: none;
}
2. Gua rda la hoja de estilos y abre ambas pá ginas en el navegador. navegador. Con esta regla, la propiedad display (mostrar en pantalla) de todos los skip-links adquiere el va lor none. En pocas palabras: "no mostrar".
Estilos en tres sitios distintos
3. Directamente en un elemento HTML: el atributo style=,,...,f El tercer método consiste en escribir las reglas CSS directamente en el tag inicial de un elemen to HTM L. Este método también se suele llamar llamar declaraciones C SS están están inline-style, porque las declaraciones incluidas directamente en el elemento HTML:
Código 4: Vincular una hoja de estilos con link Vinculación de hojas externas
A partir de la la pág. 56 veremos cómo podemos crear una versión para imprimir mediante CSS con link. Además, @irnport es una alterna tiva a link. Lo veremos a partir de la pág. 82.
2. En el head de de la página: el elemento >
Código 5: El elemento H TML style en el head de una página web
Las reglas C SS del bloque style solamente se aplican a esa página web concreta.
Las tres posibilidades de un archivo externo, en el header HTML y en un elemen to siguen una jera je rarq rqu u ía, ía , de form fo rm a qu e el na v eg ad o r siem si em pre pr e sabe qué regla d ebe aplicar. El principio es el si guiente: "Cuanto más cercano al texto al que se aplica el formato, más importante es": •
La s r eg eg la la s C SS SS e n e l elemento HTML tienen prioridad por encima de las del head de una página. • L a s r e g l a s C SS SS en en el el head tienen prioridad por encima de las definidas en un archivo externo. Esta jerarquía permite lograr una presentación homogénea para todo el sitio web mediante el uso de un archivo CSS y definir las desviaciones de la misma en el head er e incluso en el tag ini cial de determinados elementos HTM L. Cuando se integra CSS en páginas web, se recomienda respetar la siguiente forma de proceder: • •
Escr Escrib ibee tant tantoo como como te te sea posible posible en un un a r chivo CSS externo. Limita al má ximo el uso de los estilos en el código fuente HTML. La jerarquía de los estilos forma parte de la cascada
El almacen amien to de los estilos en tres sitios sitios diferentes forma parte de la cascada que ayuda al navegador cuando éste se topa con proble mas de ambigüedad, y de ahí proviene el el nombre Cascading Style Sheets. Más informa ción sobre la cascada completa en la pág. 60.
Descubrir CSS: fuentes, colores e hipervínculos hipervínculos
Recordatorio
•
Repasemos nuevamente los puntos más impor tantes que hemos visto en este capítulo: capítulo: • •
Una hoja de estilos o stylesheet es una reco reco pilación de patrones de formato. Las Las posib posibil ilid idades ades de forma formatto de de CSS se puede n dividir en 3 grupos: -
• •
Fuentes y colores: colores : formato del contenido de los cuadros. Distancias Distancias y bordes: bordes : formato de los pro pios cuadros. Layout: Layout : modificar la posición de los cuadros en la página web.
E l e l e m en en t o link vincula un archivo HTM L link vincula un con una hoja de estilos. No ciones impo rtantes sobre la sintaxis de
•
-
U n selector selecciona selecciona a qué parte de una página web se aplicará el formato. U nnaa declaración es declaración es una instrucción de formato y se compone de una pr op ied ie d ad y un valor para para la propiedad.
para el color de fuente color para para el color de fondo background-color para fon fo n t-fa t- fam m ily il y para el tipo de fuente fo n t- s iz e para el tamaño de fuente
a Itext-decoration: none;l elimina none;l elimina el subrayado de los vínculos Para el formato de los los distintos estado s de los vínculos existen varias ps varias psei eitd td ocla oc lase sess en CSS:
•
•
adink y adink y a:visited a:hov a:hover er y afocus a:act a:active ive
Para guard ar los estilos tenem os tres opcio nes: -
CSS:
-
L a s p r o p i e d ad ad es es CSS más utilizadas para dar formato a eleme ntos son: -
•
35
Un archi archivo vo CSS extemo En el head entre head entre en el head de la página Para termin ar, las del tag de inicio de un elemento de la página
63
El navegador y CSS: cascada y herencia Imaginemos las siguientes líneas de código HTM L en la página de inicio:
Código 30: Una instrucción de estilo en un elemento HTML de la página
La regla CSS de la línea 2 del ejemplo se encuen tra directam ente en el tag de inicio del selector, por lo que no pued e acercarse más al elemento al que debe dar formato. En este caso, la lista ul tendría un margin inferior de 20px, no importa lo que digan las otras hojas de estilos precedentes. Fin de la cascada. El navegador repite esta cascada por cada pro piedad de cada elemento de la estructura del documento. Si deseas más información sobre la cascada, te recomiendo la fuente oficial, el W3C: http://www.w3.orQ/TR/CSS21/ cascade. html#casc ade
Herencia (inheritance) Si al terminar la cascada el navegador no ha en contrado nada para una propiedad, entra en ju ego la he rencia. Aunque no recuerdes m uc ho de las leyes de M endel de la clase de biología, es necesario que analicemos la herencia en el marco de las CSS.
La herencia mejora la claridad de una hoja de estilos En la página de inicio ya hemos aplicado el principio de la herencia, por ejemplo en la decla ración del tipo y el tamaño de fuente. Una de las primeras reglas de la hoja de estilos de las pági na de ejemplo es esta -ligeram ente abreviada: body { font-family: Verdana, Arial, Helvética, sans-serif;
} Código 32: Todos los descendientes de body heredan el tipo de fu en te
Estas declaraciones no sólo se aplican a body, si no a todos sus descendientes. Puesto que en principio todos los elemen tos de una p ágina son descendientes de body, la fuente se aplicará a to dos los elementos de la página, a menos q ue se haya definido otra cosa en el marco de la casca da. Sin el principio de herencia, deberíamos m en cionar todos los elementos uno a uno y la misma declaración podría tener este aspecto: body, hl, h2, p, ul, li, a, strong, em, address { font-family: Verdana, Arial,
&
} Código 32: Sin herencia, es necesario mencionar explícitamente to dos los selectores
Resulta mucho más com plicado que la versión anterior. El uso apropiado de la herencia contri buye a la claridad de la hoja de estilos.
Algunas propiedades no se heredan Sin embargo, algunas propiedades no se here dan. Es el caso, por ejemplo, de todas las pro piedades del mod elo de cajas como zvidth, back ground, pad ding, bo rd er y margin. ¿Por qué? • •
Imagina un documento en el que se hubiera definido una línea de borde roja de 2 píxeles de anchura para body. Ah ora imagina la mism a má quina si todos los descendientes heredasen la propiedad border : deberíamos declarar para todos los elementos exp lícitamente border: none a fin de que no tuvieran tam bién un borde rojo.
Valor por defecto (initial valué) Si después de la cascada y la herencia sigue sin habe r un valor para una determinada propie dad, el navegador toma el valor por defecto fija do en la especificación CSS. F n ll P r o p e rt y T ab le
Encon trarás información sobre la herencia de propiedades en cua lquier referencia sobre CSS o en el W 3C, en una tabla poco atractiva pero muy útil llamada Full Property Table. http://www.w3.orQ/TR/CSS21/propidx.html
64
El navegador y CSS: casc ada y herencia
Recordatorio
-
•
-
•
Cuando un navegador recibe el código de una página w eb, crea en primer lugar la es tructura arbórea del documento ("Docu men t Object M od el"), que representa la jerarquía de los elementos HTML. Para la búsq ueda de las instrucciones de formato de cada elemen to, el navegador se basa en tres conceptos: -
•
•
Cascada ("cascade") Herencia ("inheritance") Valor por defecto ("initial valué")
La cascad a da nom bre a las Cascading Style Sheets y se comp one de los siguientes nive les:
•
Nivel 1: encuentra todas las declaracio nes de un elemento Nivel 2: ordena en función del origen y la importancia Nivel 3: ordena según la especificidad del selector Nivel 4: ordena según el orden de apa rición
Si una propied ad CSS sigue sin valor des pués de la cascada, el navegador com prueba si puede encontrar algún valor a través de la herencia de los elementos padre. Las pro piedades del modelo de cajas (y algunas otras) no se heredan. Si una prop iedad sigue sin valor despu és de la cascada y la herencia, se toma el valor por defecto de la especificación CSS.
65
Flujo y posicionamiento
Flujo y posicionamiento En este capítulo comprobaremos que los cuadros de las pá g in as w eb si guen un flu jo natur al. A d em ás , veremos cómo pod em os m anip ula r dic ho f lu jo y colo car el em ento s fijo s o fl ota n te s.
Existen tres posibilidades de colocar las cajas en una página web: 1. Flujo normal: abarca los elemen tos de blo que e inline, que ya conocem os, así como los cuadros con un posicionam iento relati vo. 2. Posicionamiento absoluto: los elementos con posicionamiento absoluto quedan ex cluidos del flujo y no e xisten para los de más elementos de la página. Se trata de elementos que utilizan position:absolu te y po sit ion:fix ed. 3. Float: los elementos flot an tes en la jerga de CSS son elemen tos intermedios. Primero la caja se coloca de forma normal, después se extrae del flujo y flota tanto como sea posi ble hacia la derecha o la izquierda. En este capítulo veremos los fundam entos del posicionamiento y có mo aplicarlos. Pero antes hablaremos del estado normal de una página web, el docum ent flozv.
Let it flow: el flujo normal de los cuadros Como primera aproximación, empezaremos por estudiar el compo rtamiento natural de las cajas cuando éstas no están sometidas a ninguna otra fuerza excepcional.
Tres cajas en el flujo Observa el siguiente código HTM L y CSS: HTML
CSS
Box l
Box 2
Box 3
body { color: black; background-color: gray; padding: 0;
Puesto que div es un elemento de bloque, las cuatro cajas se encuentran una debajo de otra, aunque su contenido sea muy pequeño.
La página es un río tranquilo Norm almente, los elementos de una página si guen el llamado document flow , el "flujo del do cumento". Todos los elementos HTML nadan en dicho flujo. Es el estado natural de una página web, y es a los diseñadores lo que la gravedad para los arquitectos. En realidad es sencillo: •
Un elemento se coloca tan alto y tan a la iz quierda como sea posible. • Al añadir otros elem entos, se colocan a su derecha hasta que no hay m ás espacio. • Cua ndo no hay más espa cio a la derecha , saltan una línea abajo y vuelven a empezar por la izquierda. Pantha Rei. Todo fluye. El flujo hace que las pá ginas web sean tan flexibles como el periódico del que hablábamos en la pág. 5. Com o diseña dor web, d eberás comprender el flujo e intentar adaptarte a él, en lugar de pelearte con él.
Fig. 49: Los elementos d e bloque son tan anchos como sea posible y se colocan uno encima de otro
Por naturaleza, un elemen to de bloque impone su anchura: adopta siempre toda la anchura dis ponible del elemento padre, en este caso de body.
Tres cajas reducidas en el flujo A continuación, los tres hermanos div se reducen a un 20% con la propiedad width. Todo lo demás es igual. 3 por 20 son 60. ¿Pero significa eso que las cajas se encuentran una junto a otra?
66
Flujo y posicionamiento
di v { width: 20%; bac kgr oun d- col or : white; padding: lOpx; border: lpx solid black; margin: 5px;
} Código 33: Reducción de los divs a un 20% de la anchura
Las cajas reducidas tam bién están apiladas en vertical. D iv es un elemento d e bloque, y los elemen tos de bloque tienen un salto de línea in tegrado. Aunq ue ividth reduce el tamaño de la caja, el salto de línea se mantiene. »i«|e D an s
Flcrw Width 2Q&
body color: black; background-color: gray; padding: 0; margin:0;
B o x l
Box 2
Box 3
}
div { background-color: white; padding: l O p x ; border: lpx solid black; margin: 5px;
Mo/íHa l'tf d ia
}
# o t r o
{
p o s i t io n : top :
r e l a t iv a ,
2 5p x;
r i g h t :
2 5p x ;
b a c k g r o u n d - c o l o r :
#f3có00;
} Tabla 17: Posicionamiento relativo
Este es el resultado: Fig. 50: Las cajas cortas también se apilan en vertical.
t inte ércft.v5
fU tK tíi
£fl‘a r
pcaitÍou:rrta!rv>> Mó nita i trofoa Ve*
WfttrU:
¡jcrcaéc'tt
H t r rv M n c u
Avu^,i
Este comportam iento normal de los cuadros en el flujo en CSS también se denomina po sition:static. El posicionamiento que permite el flu jo natural de los elem ento s se co noce co m o static. Así es la vida.
Posicionamiento relativo: flujo desplazado El posicionamiento relativo con position:relative consigue do s cosas: • •
Desplaza la caja fuera de su posición normal en el flujo. Marca la posición original del elem ento co mo protegida.
Los demás elementos del documento se compor tan como si el elemen to todavía se encontrase en su sitio original dentro del flujo normal. El código HTM L y CSS para este ejem plo varía ligeramente:
Fig. 51: Posicionamiento relativo en acción
Observa q ue las cajas 2 y 3 no han cambiado . El posicionamiento relativo preserva el espacio ori ginal del elemento, y los elemen tos siguientes no pasan a ocuparlo. Un elem ento posicionado obtiene sus coordena das de las propiedades top, right, bottom y left, que se calculan con respecto a la posición origi nal en el flujo: • •
top:25px coloca la caja hacia abajo. Se añaden 25 píxeles desde arriba a la posición normal de la caja. right:25px desplaza la caja hada la izquierda, de forma que en parte desaparece. Se inser tan 25 píxeles a la derecha de la posición original.
67
Flujo y posicionamiento Todos los datos son relativos a la posición origi nal e indican dónde se inserta el valor, y no la dirección en la que debe desplazarse la caja. En realidad es lógico, pero a primera vista po sitiomréíative puede parecer complicado.
La posición exacta se indica mediante top, right, bottom o left, pero los valores de estas cuatro propiedades ya no d ependen de la posición ori ginal en el flujo: 1. El posicionamiento absoluto de un elemen to hace referencia al siguiente elemento contenedor (containing block), posicionado con relative, absolute o fixed. 2. En el supuesto de que no haya ningún ele mento contenedor (muy habitual en la práctica), el posicionamiento se efectúa en función del elemento más alto en la estruc tura del documento, es decir no body, sino html.
Posicionamiento absoluto: fuera de flujo A diferencia del posicionamiento relativo, el ab soluto saca el elemento fuera del flujo. El elemen to se "ele va " y todos los demás elementos de la página se comportan como si ya no estuviera allí. El HTM L de este ejemplo es el mismo, sólo cam bia una palabra del código CSS: HTML
CSS
Inicio
U n{««xas»wro cdc-^ussuade m ttmirtim tvtoufcsMrcsf jtmts tmrft, i*ng rtVa r, vnB*« ázrao a juponíoiw tctr aScs radc ii <&¡a cas nOonOa Fig. 54: El párrafo tiene posicionamiento absoluto, relativo a #encabezado
Esta solución ofrece algunas ventajas con respec to a la primera: •
El punto de referencia del párrafo es #enca bezado, y más co ncretamente el borde exter no del pa dding (" the pad ding ed ge") superior y derecho. • Si, por ejemplo, la página deja de estar cen trada, no tendrá ninguna repercusión. El pá rrafo nunca abandon ará la sección de enca bezado. Recuerda: el posicionamiento absoluto se vuelve relativamente flexible gracias a este truco.
Flujo y posicionamiento Estilo de fuente para e! eslogan del encabezado Antes de que sigamos con los elementos fijos, haremos una pequeña pausa. Queremos que la letra d el párrafo sea negrita, y que la palabra "Fundamentos" se resalte en rojo. ¿Todavía re cuerdas el span de la introducción a HTM L?
Tarea: resaltar el eslogan en negrita y la pala bra “fundamentos” en rojo 1. Mo difica la hoja de estilos littleboxes.css como sigue: #encabezado p { pos iti on:abso lute ; top: lOpx ; right: lOpx; font-weight: bold; /* Negrita */ padding: 5px 0 5px 0; margin-bottom: 0;
} #enc abezado p span { color: # d90000; /* Color de fuente */
} 2. Gua rda la hoja de estilos y obser va las pá ginas web en el navegador. Si no recuerdas muy bien el span, repasa el có digo HTML:
Dis eño de páginas w eb con C SS . Fundamentos.
Código 34: El uso de span puede ser muy útil
El selector #encabezado p span solam ente selec ciona la palabra "Fundamentos". De este modo podem os aplicar formato a determinadas partes del texto con la ayuda de span.
Los elementos con posicionamiento absoluto es tán colocados relativos a un punto de referencia del documento, por lo que se desplazan con el resto del contenido. Por el contrario, en los elem entos fijos: •
E l e le me nto co nte ne do r (containing block) de los elementos fijos es siempre la ventana del navegador (el viezvport).
Puesto que la ventana del navegado r en sí mis ma tampoco se desplaza, los elementos fijos se mantienen en su sitio, posi tio nfi xed es ideal para secciones de navegación y hace prácticamente innecesario el uso de marcos (frarnes), actual mente caídos en desuso. Por desgracia, Internet Explorer hasta la versión 6 ignora por completo po sition ifixed , algo que puede tener consecuencias drásticas para lograr el diseño deseado. Veamos un ejemplo. Crea el siguiente código HTML, en el que el elemento div se mantiene fijo mediante CSS:
Cuadro fijo
Párra fo 1. Lo rem ips um dolor sit amet, consectetuer adipiscing elit. Morbi rhoncus volutpat n is l. Praesent ele mentu m odio ac nibh. Duis at quam nec dolor consequat blandit. Sed libero. Vivamus faucibus purus non purus. Suspen disse id ante ut nulla facilisis porta. p>
Párrafo 2. Nullam vulputate hendrerit nunc. N ullam dapibus blandit o rc i. Nunc met us. Sed sed ante. Cras interdum, erat at pharetra sodales, elit ligula nonu mmy nisi, sit amet auctor purus leo vel urna. Pellentesque ac augue sit amet ipsum nonummy sodales. Sed libero augue, ultricies et, tristique ut, posuere commoao, ligula. Integer aliquet. Doñee varius lectus.
Código 35: Un poco de HT ML con el elem ento div que fijaremo s
Y aquí el correspondiente código CSS:
Como una estatua: posicionamiento fijo El posicionamiento fijo con po sition :fixed se com porta casi como po $ition:absolute, pero con una leve d iferencia: •
Con este código obtenem os la ilustración a con tinuación, primero en Firefox, despu és en In ter net Explorer V.6: Archivo Ebnar
Jftí
rt$tor«i
«jtr cu oH ev ia m ie ^ jaj
A,yda
Sí O «odalcs Sed libero augue. ukriáes et, trisbque a . posucrc c o o m o d o k e u ia I n t e c a a Sq u H D o n r c va r io s l e et n s D a s
Cuadro fijo
fioddum
t
phaietra sodaies. efe hgula cocar any
mu.
sk aznet auccor ptru s
leo >d urna PeSeotesqoe oc angoe sí ame! ipsum noaummv w i n i r s S e d fe v ro -T O P oe i ^ n i c i rs í í i r ra i n n e a t x i a i e r e
- poótfon'.Tfrttd Mu rosuft I ntcfiiot Etpk w >*t SAa cr
ver
F*i oK at
Ayuaí
O
O á á d . / fj ■Xjar'jfv-i n Cuadro fijo
Para ilustrar el funcionamiento de fl oat, integra remos en la página de inicio una imagen de un globo. Puedes utilizar cualquier otra imagen pa ra este ejemplo, o simplemente el archivo ballon.jpg del suplemento del cuaderno. -------------------------
Tarea: integrar una imagen en la página de ini cio
Fig. 55: positionfixed en F irefox ... I itlW*
Uno de los usos clásicos de fl oat es el posiciona miento de gráficos en un flujo de texto.
Dejar que el texto fluya junto a las imágenes
2
Pin ate Lotcm ipsom dolor sjt amet, consectetaer adiptsdQg efe Mocfc» tboocus votatpat a si Praes eoi demeon xn odk» se nibli Dais at quara « c dslor cooseqaa f hhgkfe Se d libero Vivamos íandb ui pu ra non pu ra Suspé ndas e id ante ut ñufla facifcü pon a No lam vuipatate hendrerk cune NxAsm dBp bas blandir crci N unc metus. Sed sed arte Cía s ntrrdom. rra: at
ArtJ vo
To floa t significa fl otar y una caja flotante hace tres movimientos: se eleva y sale del flujo nor mal, flota como un globo dentro del elemento contenedor y se desplaza hacia la izquierda o la derecha en función de cómo sopla el viento.
€> -Jv: f l l-
1. De scarg a la foto ballon.jpg y guárdala en la misma carpeta que la página index.html. 2. Abre la página de inicio index.html y modi fica el código fuente:
1 L ar ra ipsum dolor s x at oa , consectetua adpiscro efe Mor tu fhoacu s v’o iutpat ntsl PraesenT r l a n c i n a n o d io a c n b b Duxs w quaro nec dolor coosequat blanda Sed íb ero Vivamos fiiucibos pams non pura Suspendiste id aníe a nula fac£s» porta Nu&am '• Tdpotatí bendrerí nunc. N db m dapibus blandí otci Nuce metus Sed sed ante. Cras nrc ria n, eral al pharetra vodolcs, efe aguia oocmaxTr txsi. sk atnel anclo* penis leo vd unía P d b s t e s q u e s e msgoc ut emet q>«um nonunmv codales. Se d Sbero aucue. ukrioes el tnshque ut. posuere cooanodo . bgula Ictegei
HMwe« Fig. 56: ...yen Internet Explorer 6
Com o se puede apreciar, Internet Explorer igno ra completamente posit io nfixed y los elementos HTM L fluyen normalme nte. Por suerte parece que la situación ha mejorado en Explorer 7. En cualquier caso, esto dificulta el uso de pos i tionfixed.
Inicio
/>
Las páginas están compuestas de
,
3. Guard a la página web y ábrela en el nave gador. La imagen ya está ahí, aunque no resulta espe cialmente atractiva:
Float: cuadros flotantes Además de los posicionamientos que ya hemos visto, también existe la propiedad flo at. A dife rencia de relative, absolute y fixe d , float no es un valor de la propiedad position sino una propie dad CSS en toda regla. Fig. 57: El globo ya se muestra, aunque todavía no flota
71
Flujo y posicionamiento Para que la imagen flote, deberemos incluir la declaración float:ri ght directamente en el elemen to img: r, -
té
hacia la derecha
1. Ab re la página index.html y modifica el có digo fuente como sigue:
Inicio
<9
& <9
2. Gu arda la página web y ábrela en el nave gador. Aunque el resultado todavía no es fantástico, el texto fluye junto a la imagen. La imagen sigue los tres movimientos típicos de float: sale del flu jo, se co lo ca en cima de la caja co ntened ora p y después lo más a la derecha posible. Puesto que la imagen se encuentra dentro de p, no flota más arriba que el límite superior del párrafo.
c<é3f
1. Abre la pág ina de inicio index.html y modi fica el código fuente como sigue:
web están compu esta s...
Lü £50*-.i5
Tarea: crear una separación entre la imagen y el texto
Inicio
style="f lo at :ri ght ;" />Las página s
littie b o x e s
Atención: soZo eZ texto rodea a la imagen, tecfc grou nd , pa dd in g, border y margin del párrafo están debajo. Es decir, para d efinir un espacio entre el texto y la imagen, lo más sencillo es asignárselo a la imagen, y no al párrafo.
fstíe/yJe «s jp truco un crafeo j
os jt
a
fmgt*»
•*'¡Ojos«1HTNtBKOOfty^M
&
style="fl oat:rig ht ; marg in-l eft:15px;"
/>
Las páginas web están compuestas...
2. Guard a la págin a web y ábrela en el nave gador.
Hacer flotar clases CSS a izquierda y derecha Para probar las propiedades CSS es perfecta mente correcto integrarlas directamente m edian te el atributo style en el código HTML, pero si queremos reutilizarlas es mejor definir una clase en la hoja de estilos para las imágenes que floten a la izquierda y a la derecha. Como nombres po dríamos utilizar .imgizda e .imgdcha. Después bastaría con asignar las clases a las imágenes de la página en función del efecto de seado: si la image n debe flotar a la izquierda, le asignaremos en el HTML class=" imgizda", y para que flote a la derecha, class-" imgdcha".
• Ai fu^ coni KTVt
—«Jim fai «jgtas
_
Fig. 55: E/ globo flo ta
• •
El texto del párrafo envuelve el gráfico. background, pa ddin g, border y margin del pá rrafo no fluyen alrededor del gráfico, sino que se colocan debajo.
En la siguiente tarea también aprovecharemos para definir un borde para la imagen con la ayuda de pad din g y border.
72
Flujo y posicionamiento ¿Margen externo duplicado en Internet Ex plorer?
1. Abre la hoja de estilos littleboxes.css. 2. Define debajo de #areatexto las siguientes dos clases: .imgizda { float:left; padding: 3px; /* Distancia entre imagen y borde
<9
Adiós a la flotación: clear
* /
border: 5px soli d #ccc; /* El
&
borde de la imagen */ mar gin -ri ght : lOpx; /* Dista ncia
<9
entre borde y texto */ margin-bottom: lOpx; /* Distancia
hacia abajo*/
En la ilustración anterior se puede observar que no sólo el primer párrafo rodea la imagen, sino también todos los siguientes. Si no deseamos es te efecto, es necesario hacer que la imagen deje de flotar. La propiedad clear obliga a una caja a empezar debajo de un elemento flotante, clear puede tener los valores left, right o both:
} .iragdcha { float:right;
• • •
pa dd in g: 3p x; border: 5px solid #ccc; margin-bottom: lOpx; margin-left: lOpx;
} 3. Gu arda la hoja de estilos. 4. M odifica el código de la página index.html para la imagen:
Cuando u n elemento flotante tiene un margin horizontal, Internet Explorer lo duplica. Este "bug de doble margen flotante" se puede arreglar fácilmente asignando al elemento flo tante la declarac ión display: inline.
<9
height="100" class="imgdcha" /> ...
5. Guarda la página web y ábrela en el nave gador. Este es el nuevo aspecto de la página con la ima gen flotante a la derecha:
clear.left termina un fl oatd eft clear:right termina un float: right clear.both termina un fl oat: righ t y un float def t
Si no queremos que el segundo párrafo de texto de la página de inicio se coloqu e junto a la ima gen, la solución es bien sencilla:
Float termina y el margin superior del párrafo "limp iado " se rellena de forma que el texto em pieza justo debajo del globo.
Float y clear Float suele implicar la intervención de clear. Sin clear el estado fl ota nte se aplica a todos los elementos siguientes. En el caso de los dise ños de varias columnas, clear puede ser muy importante.
Recordatorio Repasemos los puntos principales de este capí tulo: Fig. 59: El globo flota y se muestra correctam ente
•
Los elemen tos HTM L de una página web si guen el docnment flow, el flujo natural del documento: — Un elemento empieza lo más arriba y más a la izquierda posible.
Flujo y posicionam iento -
• •
•
•
•
Los demás elementos se colocan a su derecha hasta que no hay más espacio. Cuando no queda espacio, los siguien tes elementos saltan una línea y vuelven a empezar a la izquierda.
Los eleme ntos de bloq ue ocupan una línea completa, independientemente de su anchu ra. La prop iedad CSS position pued e tener tres valores: relative, absolut e y fixed . Las coorde nadas exactas para el posicionamiento se in dican con top , right, bottom y left. El posicionamiento relativo coloca el ele mento de forma relativa con respecto a su posición original en el fl ow . La posición ori ginal se mantiene protegida. El posicionam iento absoluto extrae el ele mento del flujo. Los valores de top, rightf bot tom y left hacen re ferencia al elemento raíz o al elemento contenedor m ás cercano que también esté posicionado. Los elemen tos fijos se mantienen en su posi ción y no se desplazan con el resto del con tenido. Internet Explorer 6 no comprende
73
position: fi xed y deja que los elemen tos fijos fluyan. • Float significa " flotar" y es una propiedad en sí misma, cuyos valores posibles son left y right. Los elementos flotantes flotan por en cima de la página y realizan tres movimien tos: •
Se extraen del flujo del documento. Flotan dentro del elemento padre tan arriba como sea posible. Se colocan a la derecha o a la izquierda dentro del elemento padre.
Las secciones de contenido de todos los elementos posteriores rodean al elemento flotante, mientras que padd in g, border y mar gin se desplazan debajo. • Las clases CSS para que los elementos floten a la derecha o a la izquierda son prácticas. • Para terminar el estado de flotación, se apli ca a un elemento siguiente la propiedad clear, que acepta los valores /e/f, right o both.
74
Diseños de varias columnas con CSS
Diseños de varias columnas con CSS En este capítulo verem os cómo se pueden crear diseños de varias columnas sin tablas y qué posibilidades existen a tal efecto.
En CSS casi siempre hay varias formas de alcan zar el objetivo deseado, y esto es especialmente cierto en el caso de los diseños de varias colum nas. En tus paseos por Internet encontrarás mu chos ejemplos de diseños basados en CSS que se basan en aproximaciones totalmente diferentes, y al principio esta variedad puede ser más des concertan te que útil. Desgraciadamente no existe una receta universal , porque todas las posibilidades tienen ventajas e inconvenientes. Mientras el mundo de Internet espera el santo grial del diseño con CSS, pode mos salir del paso con las opciones imperfectas a nuestro alcance, basadas en dos principios esen ciales: • pos ition:a bs elute y margin • fl o at en distintas variantes
Con position.absolute po sition :abs olute se basa en la idea de asigna r a un div un gran margin y colocar otro div dentro de dicho margin con ayuda del posicionamiento absoluto. Veamos un ejemplo sencillo:
La anchura del margen se puede indicar perfec tamente en píxeles, porcentaje o em . Añadir una tercera columna es fácil: basta con asignar otro margen exterior a la derecha de üareatexto, en el que se colocará una tercera sección con po sicio namiento absoluto. El posicionamien to absoluto es estable, fácil de comprender y solamente presenta dos inconve nientes: 1. Si el diseño debe tener un encabezad o que abarque todas las columnas, resulta difícil determinar el punto de partida superior (top) para # navegación. Una posible solución sería definir una altura fija para el encab e zado. 2. No es posible dejar que una línea de pie abarque toda al anchura de la página deba jo de las co lumna s, po rq ue los elem en tos con posición absoluta no se pueden limpiar (clear), al contrario que los elementos flo tan tes. Si la columna de navegación es más lar ga que el área de texto, ésta fluirá encima de la línea de pie. La siguiente imagen ilustra estos dos problem as potenciales: r á n c a b e z á d o ( h o * gh t 8 0 p x J
width 70%; margm-Jeft 30%.
p 0 9 f l »o n f l b s á k j í s .
snavegoaon { posrtion absoluto top 0. leH 0, width 30%.
1ftoreatexto { width 70%, margm-lefl 30%, }
51 vatoc de top está determinado por ol
1
hetQ?>í de^encabezado Si smavegaocn es
másusrgoque se
coíoch
o
r. ~ m a rg ln -IJt: I ¿ %
w idth: 7 0 %
Fig. 60: Ejemplo sencillo de un diseño de 2 columnas con " posi tion.absolute "
En este ejemplo, tenemos dos secciones div #areatexto y #navegación: • •
üareatexto tiene un gran margen izquierdo #navegación se coloca dentro del margen
-
Fig. 61: Dos desventajas de position:absolute
Los dos inconvenientes no siempre son proble máticos. Si en el diseño deseado no molesta que el encabezado tenga una altura fija y si la línea de pie no tiene que abarcar toda la anchura, sino que puede co locarse en la parte inferior de #areatexto , por ejemplo, el posicionamiento absoluto no presenta ningún inconveniente.
75
Diseños de varias columnas con CSS A pesar de ello, estos dos problemas han logrado que cada vez más d iseñadores echen mano de float. En los siguientes sitios web puedes ver algunos ejemplos de posicionamiento clásico que se han convertido en clásicos del diseño web: •
Las Box Lessons de Ow en Briggs (alias "Little Boxes") http://www.thenoodleincident.com/tutorials/ box lesson/boxes.html
•
El Layout Reservoir de Blue Robot http://www.biuerobot.com/web/lavouts/
Float I: 2 columnas con float y margin Float no sólo permite hacer que floten las imáge nes, sino secciones div completas. A continua ción crearemos un diseño sencillo de dos colum nas con una navegación vertical en el lado iz quierdo de la página. El proceso consta de seis pasos: 1. Flotación de la navega ción. 2. Atribución de un gran ma rgen izquierdo al área de texto. 3. Preparación de la lista no ordenada. 4. Formato de los víncu los de la lista. 5. Resaltado del pun to de naveg ación actual. 6. Color de fondo para la naveg ación ("Faux Column"). Cuando se utilice float, siempre se debe de clarar la anchura con width
Los elementos posicionados con fl o at siempre deben tener una anchura declarada con width. Sin indicación de la anchura, el comporta miento del na vegador es impredecible. En el ejemplo de la imagen flotante del capí tulo anterior esto no era im portante, p orque el gráfico tiene de todas form as una anchura fija. Por el contrario, las secciones div flotantes exigen una indicación de la anchura.
De spué s se asigna a #areatexto un margen izquierdo. Puesto que el margin izquierdo del área de texto se coloca debajo de la navegación flotante, parece como si ambas secciones estuvieran una jun to a otra. •
Tarea: hacer flotar el área de navegación a la izquierda 1. Elimina todas las declaraciones existentes (propiedades y valores) relativas a # nave gaci ón. Los selectores se pueden m antener, puesto que los utilizaremos enseguida. 2.. Añade las propiedades y valores resalta dos en negrita: #nav egac ion {
} #navegacion arhover, #inicio #navi01 a, #pagcontacto #navi02 a
{ } 3. Gua rda la hoja de estilos y abre las páginas en el navegador. No está nada mal. La na vegación ya está coloca da en vertical en el margen izquierdo, pero el área de texto la rodea en lugar de m ostrarse en una columna separada. is¡¡ ¿ L_» _
•
En p rim er lugar, #navegación se coloca a la izquierda con fl o at :left.
l i a pAqenac «»ii
Ü B . famtefWeQtwi
Inicio
Paso 1: flotación del área de navegación Para crear las dos column as recurriremos a un pequeño truco, parecido al que hemos visto en el posicionamiento absoluto:
. . __ __
'little b o x e s
u*s o w * * -«fc « tm compt.-ct-ij. •)« -...xtsfrv* «x-tM>OMÍ«Tw oos
•í
I r a t e e » ? uno» , in tn » avvt a m-wparw «nt* ewco> un gr»*c c • > aratai tow*
r Mo io que * «
Fig. 62: El contenido envuelve la navegación
76
Diseños de varias columnas con CSS ___
Paso 2: asignar un gran margen al área de texto
v / /
m sM
En el siguiente paso, asignaremos al área de tex to un gran margen exterior izquierdo, y acolcha remos ligeramen te el encabezado.
.....
<*.v. r '■?' .*
" ¿u
x
1. Com pleta las reglas CSS para ul y li en el área de navegación: #nav ega cion ul {
color: black; width: 80px; paddingleft: lOpx;
1. Asign a un margin izquierdo al área de tex to:
} 3. Gua rda la hoja de estilos y abre las páginas en el navegador. La página se verá así: ► Oñ -A o « W » » s KM)
UtttB b D X E S
C « ¡ w . l . sw n i o '
L¿8 W íírlK W«e e«tv . eca-OCuettas ó* que saa
La única novedad es ünavegacion ttnaviOl. Este selector nos permite seleccionar el primer punto de navegación y darle una línea de borde supe rior, para q ue la lista de nave gación no qued e abierta por arriba: . VUttta *.mrt - *Mfcv | y- f -------
r xxiczautí -nntnensu
I 4- •
Inicio :a 16
En las dos primeras reglas, hemos definido una anchura fija y un par de márgenes y líneas de borde.
ccíoca r unos juwo
'adundo es
» ¡ > v t s s suc»rptmr
üjf.i
ji -
u n y a Vio t
«Vi
*ta *
c«k
' udu
uÜ s*gui«nCM pasos ntuasrrar. *t cacninc do «la la cre aodn d e las
1,*
ET K
1
_____ __ _________
Little b n X E B
*
-
Q
£ ■
■ da p i n i n a » ».«b uw C S S .
tw
a»>ktaitavi
I H
• aíi eavuna hti*
• BMtaQMft “'TW tt f MftVMM. * Tlhiot
iTor'Oitto
___________________________ __________
Empezaremos preparando las propiedades del modelo de cajas para la lista no ordenada y sus componentes.
Inicio i ac paginas n*£ ostan --ixnpuesiai tía cuadros r«cUnovt ,>» se ( CMCCa r U T4 » 3 CtTO* o c-^s^pcr-el e o L e*us ToJC lo o>» <•>
Fig. 63: El contenido se encuentra junto a la navegación
Paso3: dar formato a los elementos de la lista de la navegación
■
I
■
ir- .«I ln- í. 1 , < * \ _»V6. o
am ?- » c
L2~ pssoe ai carena de&dé crée oso de ¡as -e>si r«ata
•