Documentos de Académico
Documentos de Profesional
Documentos de Cultura
3 --------------------- La Plantilla
5 --------------------- Las Capas o Divs
7 --------------------- Creando ms capas
9 --------------------- Un Ancho Fijo
11 ------------------- El men de la web
12 ------------------- Enlaces del Men
13 ------------------- Estilos para Enlaces
14 ------------------- Estilos para Listas
16 ------------------- Formatear a Cero
17 ------------------- Mrgenes del Men
18 ------------------- Enlaces Cambiantes
20 ------------------- Enlaces con Fondo
21 ------------------- Margen en prrafos
23 ------------------- Indentar Prrafos
25 ------------------- Margin y Padding
27 ------------------- Separar el men
28 ------------------- Los Ttulos
30 ------------------- Posicionamiento
Comenzando a crear la plantilla de nuestra pgina Web
La pgina index.html que hemos visto hasta el momento no est terminada ni mucho
menos. Su aspecto final no tiene nada que ver con lo que tiene ahora, pero trabajaremos
sobre ella ms adelante. Ahora lo que vamos a hacer es comenzar creando la plantilla,
que nos valdr para generar a partir de ella el resto de pginas de nuestra web.
Recordando los pasos dados antes para crear el index.html vamos a crear ahora el
archivo de la plantilla. Te doy pistas por si no te acuerdas.
Abrimos el Html-Kit.
Hacemos visible la ventana Workspace.
Ponemos el ratn sobre el sitio "web-ejemplo-cctw-local" y pulsamos sobre l con el
botn derecho del ratn.
Escogemos New > Create File...
Escogemos crear "Blank Html Page" desde la pestaa "General" y pulsamos Ok.
Le ponemos de nombre plantilla.html y pulsamos Ok de nuevo.
Hacemos lo mismo para crear una Hoja de Estilo distinta a la anterior. Mientras que la
anterior (estilos.css) la vamos a usar solo para el index, esta segunda Hoja de Estilo que
llamaremos "estilo-general.css" se usar para todas las dems pginas de la web. Crala
tu mismo. Toma, por si no te acuerdas de cmo crear una Hoja de Estilo Vacia, pero
recuerda ponerle de nombre "estilo-general.css".
Ahora te toca relacionar esta segunda Hoja de Estilos con la plantilla.html recien
creada. Te recuerdo que haba que colocar una lnea de cdigo en el Head. Te dejo esto
por si no te acuerdas de cmo relacionar la hoja de estilo con la web, pero recuerda
poner en la ruta "estilo-general.css" en lugar de "estilos.css", oki?
Una vez creados estos dos archivos y relacionados entre s, pasamos a meterles mano.
La estructuracin con Capas o Divs?
El darle forma a una web se le suele llamar estructurarla, o enmaquetarla. Es darle una
estructura concreta para colocar luego el men aqu, el contenido all, etc. Para
estructurar una web podemos usar simples saltos de lnea, o avanzar un poco ms y usar
tablas, que dividen el espacio en celdas, celdas en las que podemos colocar ms
comodamente los elementos que queramos. Tambin se puede estructurar una web
partindola en frames o marcos.
Pero el mtodo ms profesional, lmpio y cmodo es sin duda el uso de Capas o Divs (es
lo mismo decir capa que div).
Al principio quizs te de un poco de pnico todo esto, pero te prometo que no es nada
dificil, ya vers. Fjate, esto de abajo es el cdigo Html de un Div sencillo.
<div>Bienvenidos a mi Web</div>
A que no te ha dolido? je je. Como puedes ver, igual que ocurra con los elementos que
vimos atrs, empieza con una etiqueta y termina con otra de cierre, igual pero con la
contrabarra delante. Entre ambas etiquetas se coloca su contenido.
Escribe esa lnea de cdigo en el archivo plantilla.html, por supuesto, entre <body> y
</body> pues se trata de algo que debe "verse". Ahora haz vista previa "Preview" y
observa qu aparece. Nada asombroso, ya lo se.
Ese Div no tiene ningn atractivo, claro. Para adornarlo lo que hacemos es definir un
tipo de estilo en la Hoja de Estilos y aplicarselo a ese DIV.
Para empezar a jugar, abre el archivo estilo-general.css que se abrir vacio, pon esto
dentro y luego gurdalo:
#cabecera {background-color:pink;}
Nota: Cada vez que hagas un cambio en la Hoja de Estilos, tienes que guardarla para
poder ver sus efectos en la vista previa de la pgina web.
Las clases de estilo, que se pueden usar sobre varios elementos (varios prrafos, varias
celdas, enlaces, etc) se definen en la Hoja de Estilo como vimos al crear la clase de estilo
".centrado", es decir, con un punto delante del nombre y luego colocando las propiedades
entre los corchetes. Luego, en el cdigo Html se asigna esa clase de estilo a un elemento
colocando dentro de su etiqueta de inicio esto, class="nombredelaclasedeestilo".
En cambio los estilos nicos se definen en la Hoja de Estilo con una almohadilla como
esta "#" (se escribe pulsando a la vez la tecla Alt Gr, que est a la derecha del espacio y
la tecla del nmero 3 de tu teclado) en lugar de con un punto, y en el cdigo Html se
asigna este tipo de estilo nico escribiendo dentro de la etiqueta del elemento esto otro
id="nombredelestilounico" en lugar de con el class, que es para clases (estilos que se
pueden asignar a varios elementos).
Abre ahora el archivo plantilla.html y pon esa lnea de cdigo. Ha de quedar as:
Si has guardado antes la Hoja de Estilo y haces vista previa en la plantilla, vers como
ahora la frase "Bienvenido a mi Web" aparece diferente. Con un fondo rosa (pink). Es la
magia del CSS aplicado a los Divs, pero no te creas que esto queda as, vers lo
asombroso que es todo esto ms adelante.
Ms capas, ms capas
Ya tenemos nuestra primera capa llamada cabecera. Al final de estas lecciones esta
capa contendr la cabecera, que segurametne conste del logotipo de la web y de un
hueco para, por ejemplo, algo de publicidad para sufragar los gastos de un posible
dominio propio y quin sabe, de un hosting de pago... no es algo descabellado, no te
creas.
Pero con esa capa sola no tenemos ni para empezar, je je. Vamos a crear una segunda
capa que contendr una barra de navegacin. La llamaremos, navegacion (sin acentos, y
todo en minsculas, claro).
Una de las cosas ms importantes en una pgina web es el dar facilidades al visitante
para que pueda navegar por nuestras pginas sin perderse y que lo tenga todo siempre a
mano. No es bueno tener pginas escondidas, es decir, pginas a las que para acceder
haya que ir primero a la seccin tal, luego a la subseccin cual, luego entrar en otro lado
y finalmente conseguir acceder a una pgina en concreto. Todas las pginas deberan ser
accesibles sin ms que pulsar un par de enlaces desde el index o pgina principal.
La barra de navegacin nos ayuda a esto. En esta barra que aparecer en todas las
pginas de la web pondremos enlaces a las secciones que tratemos. As, en cualquier
momento el visitante puede ir de un lado a otro sin perderse.
Como ves, dan acceso a varias secciones y pueden ser muy sencillas o ms complicadas
o llamativas con lengetas y todo eso. Pues ahora que sabes lo que son, vamos a crear la
capa de nuestra barra de navegacin.
#navegacion {background-color:gray;}
Ya que estamos, vamos a crear dos capas ms. La primera se llamar contenido y en
ella pondremos luego un men lateral y los textos de nuestra web, la parte principal.
Tambin vamos a crear otra capa para la parte ms baja de la web que llamaremos pie
en la que ms tarde tendremos algunos enlaces, un mensaje de copyright y puede que
otro espacio para publicidad, ya veremos.
Siguiendo las mismas instrucciones que antes, definimos estas otras dos capas en la
Hoja de Estilo:
#contenido {background-color:orange;}
#pie {background-color:brown;}
Y tras guardas la Hoja de Estilo, abrimos la plantilla.html y ponemos estas otras dos
lneas despus de la de la capa navegacion:
Y el resultado es...
#cabecera {background-color:pink;}
#navegacion {background-color:gray;}
#contenido {background-color:orange;}
#pie {background-color: brown;}
Y aqu tienes el resultado del ejemplo. Se que no parece una pgina web, pero no me
dirs que no est tomando forma, no? Vers como esto empieza a cambiar en breve..
Resoluciones de pantalla y pginas web
Existen varias formas de darle un tamao a una pgina web. Por ejemplo, podemos
hacer que ocupe toda la pantalla del navegador del usuario, sea como sea esta de
grande, la tenga o no maximizada (la ventana...), o tambin podemos darle un ancho
concreto, de modo que los que tengan un monitor pequeo la vern muy grande y los que
la tengan ms grande (la pantalla...) la vern ms chica...
Ambos casos tienen su parte buena y su parte mala. En el primer caso, si le decimos
que ocupe toda la pantalla del navegador es muy posible que la web se desmorone
cuando el usuario cambie el tamao de esa ventana. Los elementos grandes no caben y
desplazan el contenido siguiente hacia abajo, produciendo un caos en la web. Lo bueno
es que se aprovecharia todo el espacio, cuando lo hay, claro.
El otro caso es darle un ancho fijo a la pgina web (por ejemplo 20 cm, o 800 pixeles).
As el usuario podr hacer lo que quiera con la ventana de su navegador que la web
seguir manteniendo su forma y no se deformar en absoluto. Eso es lo bueno, lo malo es
que si no acertamos en qu anchura darle, pasar que unos la vern muy grande y la
vern tan pequea que tendrs ms margenes a los lados que espacio para la web....
Lo mejor es tomar la segunda opcin, dar un ancho fijo a la web, pero estudiando muy
bien cul ser esa anchura. Lo mejor es darle un ancho que sea cmodo para la
resolucin ms usada por todo nuestro pblico. As, si unos pocos usan una resolucin de
pantalla un poco mayor no vern unos mrgenes exagerados y los que usen resoluciones
un poco menores al ancho que le demos, no tendrn que usar demasiado la barra de
desplazamiento y adems, sern la minora.
Parece ser que hoy por hoy la anchura ptima para una pgina web es de 800 pixeles.
De hecho, si miras las webs que sueles visitar vers que es as y que quedan muy bien con
cualquier resolucin. As que... vamos a darle a la web del ejemplo esa anchura y adems
vamos a hacer que aparezca centrada en la ventana del navegador, las dos cosas a la vez,
oki? Sers capaz? je je, fijo que s.
Excto. Como queremos centrarlo todo, lo que haremos ser encerrar toda la parte
visible de la web en un div al que le definiremos en la Hoja de Estilo la propiedad de
centrado, pero de un modo algo especial para que funcione en todos los navegadores.
Llamaremos a esa capa.... "global". Como va a ser nica, es decir, solo va a haber un
elemento "global" por pgina, en lugar de definirlo con un punto delante y el
class="global" en el Html, lo haremos con la almohadilla y con id="global".
Para encerrar todo lo visible, ponemos la etiqueta de inicio justo despus de <body> y
la de cierre justo antes de </body>. El cdigo Html queda as:
Ves como encierra a los otros divs? Ahora, en la hoja de estilo definimos #global con las
siguientes propiedades:
Esto significa que la capa global tendr un ancho de 800 pixeles y aparece una
propiedad que no hemos visto antes, (margin: 4px auto) que define el margen a dejar
entre el elemento (en este caso el div global) y el resto de cosas a su alrededor. El 4px es
la cantidad de margen que vamos a dejar por encima y por debajo de la web, mientras
que auto es la cantidad de margen que dejaremos por cada lado. Auto significa
automtico, por lo que se dejar todo lo que exceda de 800px y automticamente, es
decir, la mitad a la derecha y la otra mitad a la izquierda y por tanto, centrado. Lo
veremos mejor ms adelante, no te preocupes si no lo entiendes demasiado bien, vale?
Esto no funciona en todos los navegadores a menos que definamos una caracteristica a
Body en la Hoja de Estilo estilo-general.css. Abrela si la cerraste y escribe al principio
del todo esta nueva lnea de css:
body {text-align:center;}
Body no es un nombre de un estilo inventado por nosotros, como cabecera, pie, tal y
cual, sino que es una etiqueta de Html, y a las etiquetas de Html (como body, p, a,
table, div, etc..) no se les pone ni el punto delante ni la almohadilla (#). Lo que estamos
haciendo al ponerle propiedades a una etiqueta es cambiar las propiedades que tiene por
defecto. Con esto ya queda toda la web centrada en toooodos los navegadores. Si
guardas ahora la Hoja de Estilo y haces vista previa de la plantilla.html vers como todo
aparece centrado y con un ancho fijo de 800px. Ahora no ser fcil descuadrar tu web.
Esto es lo que hemos conseguido con el ejemplo hasta el momento. Va mejorando poco
a poco....
El men de nuestra pgina web
Presta mucha atencin en esta leccin, que igual es un poco espesa, pero merece la
pena para crear el men lateral y empezar a entender como se usan estas capas o divs.
Como vers, despus del cdigo Html de la capa menu, van los textos de la capa
contenido (Esta ser la ....) y despus, en la siguiente lnea vemos la etiqueta de cierre
del div contenidos.
Ahora tienes que definir el estilo de la capa menu en la Hoja de Estilos. Abre estilo-
general.css y escribe esta lnea para el div menu:
Como solo hay un men por pgina, lo definimos como estilo nico, con la almohadilla
(#). Le ponemos un color diferente al resto para distinguir donde empieza y donde
termina la capa menu y colocamos dos propiedades ms.
La primera es width:150px con la que le damos una anchura fija de 150 pixeles. Quizs
sea poco, pero por ahora lo dejamos as hasta que veamos si nos va a faltar anchura en
esa capa. La segunda nueva caraterstica que vemos es nueva, la propiedad Float.
La propiedad Float hace que el elemento flote sobre el resto de la web. Esto vale para
cambiarlo de posicin ms fcilmente. A la propiedad float se le suele poner uno de estos
dos valores: left (que flote a la izquierda) o right (lo manda a la derecha). Como nosotros
queremos tenerlo a la izquierda, le pondremos la propiedad float:left y esto lo manda
pegarse al borde izquierdo de la capa en la que est, es decir, a la izquierda de la capa
contenido.
Y el resultado final.... por ahora...
La Hoja de Estilos queda por tanto as (puedes ver como voy ordenando los estilos
definidos por orden de aparicin en la pgina, de arriba a abajo):
Ale, lo de siempre.. guarda la Hoja de Estilos y mira como est quedando la plantilla
haciendo vista previa, o si el cansancio puede contigo, mralo aqu mismo, je je je.
Bueno, ya estn todas las capas creadas (mucho ms adelante quizs metamos alguna
ms...) as que ahora vamos a rellenarlas y a darles una mejor presencia, oki?
Puedes imaginar el men como una serie de enlaces uno debajo de otro. Se podra
pensar en colocar un div para cada uno de ellos, es decir, incluir tantos divs pequeos
dentro de la capa menu como enlaces vayamos a poner, pero tendramos ms capas que
una cebolla, no? En realidad un men no es ms que una lista y, lo mejor para poner una
lista es usar el elemento... lista? Excto.
Las listas se definen en Html con dos etiquetas, la primera indica el principio de la lista
y es <ul> mientras que la otra define el inicio cada elemento de la lista, que es <li>. Te lo
puedes apuntar, yo siempre me liaba y terminaba poniendo lu e il en lugar de ul y li y no
funcionaba, claro, je je je.
Por supuesto cuando termina la lista se coloca su etiqueta de cierre que ser </ul> y
cuando termina un elemento de la lista (un enlace en este caso) se coloca </li>, de
forma que el cdigo Html de una lista completa sera este mismo:
y se vera haciendo vista previa de este modo:
Para nuestro ejemplo, seguramente nos moleste el dichoso puntito negro a la izquierda
de cada elemento de lista, pero eso lo podemos arreglar. Cmo? Pues como siempre, con
solo poner una cosilla en la Hoja de Estilos. Pero antes vamos a ver qu cul es el cdigo
que tendramos que colocar dentro del div del men.
Para empezar, abre tu Html-Kit y escribe el cdigo de arriba dentro del div menu,
eliminando claro la palabra "men" que habia ya colocada.
Si haces vista previa vers cosas un poco raras, como que el men se descuelga un poco
por debajo de la web, pero eso lo arreglamos en las siguientes pginas.
as que vamos a poner ese cdigo dentro de cada elemento li de la lista del men. Si
ponemos una ruta falsa nos dar algn problema, asi que en lugar de poner nada en la
ruta le vamos a colocar una almohadilla (#) que sirve para que haga el efecto de enlace
pero sin enviarnos a ningn lado por ahora. Cuando tengamos ms pginas en la web
pondremos las rutas de aquellas pginas que queremos enlazar desde el men, vale?
<a href="#">Enlace 1</a>
Como no vamos a querer que se abran esos enlaces en pginas distintas sino en la
misma, no es necesario ponerle el target al cdigo del enlace (el target="_blank" se pone
para que el enlace se abra en una pgina distinta, lo recuerdas?).
Pues adelante, abre tu Html-Kit, abre la plantilla.html y coloca un enlace en cada uno
de los tres elementos de lista que tenemos. Para diferenciarlos, puedes escribir Enlace
1, Enlace 2 y Enlace 3.
Vamos a empezar a arreglar cosas en la Hoja de Estilos para dar mejor aspecto a este
men. Recuerda que la estrategia perfecta para no tener problemas con algunos
navegadores y para tener un cdigo Html sencillo para revisarlo nosotros, y sencillo para
que los buscadores lo lean bien e indexen nuestras pginas correctamente, es poner en el
Html lo justito, y dejar los detalles de cmo queremos adornar cada cosa para la Hoja de
Estilo. Adems esto nos permitir hacer cualquier cambio en todas las pginas de nuestra
web con solo cambiar una palabra en la Hoja de Estilos. Es genial.
Si ya hiciste vista previa de la plantilla habrs visto que al poner varios enlaces dentro
ha crecido y se sale por debajo de la pgina web. Vamos a reparar esto desde la Hoja de
Estilo. Abre tu Html-Kit y abre estilo-general.css
Sin ms rollo, abre la Hoja de Estilo y deja la lnea del estilo contenido de este modo:
y luego guardas la Hoja de Estilo y haces vista previa de la plantilla.html para ver cmo
ahora todo se ha solucionado... o no? Si ves algn fallo no dudes en decrmelo en el Foro
CCTW, plis!
As que, definiremos en la Hoja de Estilo propiedades para todos los li que cumplan la
condicin de estar dentro de la capa menu. Toma ya. Cmo te has quedao? je je je. Esto
se hace as:
#menu li { ...propiedades..... }
Cuando se pone la capa antes de un tipo de estilo, se est indicando que esas
propiedades solo han de respetarse cuando el elemento (en este caso el li) est dentro
de la capa escrita antes (en este caso menu). Que bien, no?
#menu li {list-style:none;}
Esto hace que no tenga ningn (none) tipo de estilo tpico de lista, como por ejemplo
el puntito aquel. Si guardas la Hoja de Estilo (estilo-general.css) y haces vista previa de
la plantilla vers que ya no aparece. En la pgina siguiente seguimos arreglando el men.
Formatear los estilos a cero
Todos los problemas de este tipo no los vamos a poder arreglar de golpe, pero uno bien
importante s. Como cada uno toma por defecto un valor inicial para los margenes y
bordes, lo que haremos ser indicar nosotros en la Hoja de Estilos que TODOS los
elementos van a tener un valor cero para los bordes y mrgenes. Luego, si deseamos
cambiar alguno, lo definiremos en la Hoja de Estilos, pero por el momento lo ponemos
todo a cero, o lo que es igual, vamos a formatear los estilos!
Para indicar que ha de aplicarse a todos los elementos posibles, ponemos un asterisco.
Para indicar que tengan margen, padding (padding es otro tipo de margen que ya
explicar) y borde cero basta con colocar en la primera lnea de la Hoja de Estilo, esto:
Has visto que todos los elementos de la web de ejemplo salen centrados? Sabes porqu?
Pues porque pusimos text-align:center en la etiqueta body, y como el body contiene a
toda la web entonces todos los elementos de la web estarn centrados, a no ser que.....
a no ser que le indiquemos otra cosa a cada estilo concreto, claro.
Por ejemplo, los enlaces del men quedan mucho mejor si aparecen alineados a la
izquierda, verdad? Pues vamos a arreglar eso ahora mismito! Abre tu Html-Kit, abre la
Hoja de Estilo y, escribe text-align:left dentro de las propiedades de la capa #menu, tal
que quede as:
Ahora los enlaces aparecen bien, a la izquierda, pero un poco demasiado pegados a la
izquierda, verdad? Seguimos mejorando el aspecto en la pgina siguiente.
Qu tal lo llevas? Levntate un poco y estira las piernas, que te va a dar algo malo! je
je je je. Si no entiendes algo o quieres que te explique mejor alguna parte dmelo en el
Foro CCTW, sin problemas, o escribe all tus dudas o sugerencias, que para eso estamos
colega!
Esto ya es cosa de probar y probar, claro. Lo suyo es ajustar los mrgenes cuando
tengamos los enlaces definitivos, pues segn lo largo que sea el texto de cada enlace
podemos ajustarlo ms o menos, al igual que la anchura del men. Pero como ya estamos
liados con esto, vamos palante y lo terminamos, te parece? Va a ser muy facilito.
An no te lo he dicho, pero quizs hayas visto ya por algn lado varias formas de
especificar los mrgenes. Se pueden definir de estas formas:
margin:10px
Esto indica que se ha de dejar 10 pixeles tanto por arriba como por abajo y por ambos
lados.
margin:10px 20px
Este otro modo, con dos cantidades, indica que se ha de dejar 10 pixeles por arriba y
abajo y 20 pixeles por la derecha e izquierda. Es decir, la primera cifra indica el margen
de arriba y abajo y la otra la de los lados.
Y este otro modo (puedes escoger el que te venga mejor segn si los mrgenes son
iguales para todos los lados o diferentes) define por orden los margenes a dejar por
arriba, por la derecha, por abajo y por la izquierda respectivamente. O para acordarnos,
la primera cifra es la de arriba y las dems van en sentido de las agujas del reloj (arriba,
derecha , abajo e izquierda).
Nosotros, para el caso de los mrgenes del men vamos a escoger la ltima forma, con
las cuatro cifras, pues as podemos retocar muy fcilmente y ver como va quedando.
Empezamos como siempre, abrir tu Html-Kit, abrir la Hoja de Estilos y escribir dentro de
los corchetes de la capa #menu li lo siguiente:
#menu li {list-style:none; margin:0px 0px 0px 0px;}
Lo he puesto todos a cero (en realidad ya estaban todos a cero pues hicimos el
formateo con el asterisco hace muy poco) y vamos probando con distintos valores para
ver como va quedando.
As que, tras varias pruebas (te invito a que hagas tus experimentos poniendo valores
un poco exagerados para ver mejor los efectos) lo vamos a dejar as:
Sigo echando de menos algo... Ah! claro, lo de eliminar el subrayado y hacer que
cambien de color los enlaces cuando pasas el ratn por encima! Eso mola, vamos a verlo
en la pgina siguiente, es muy sencillo tambin, y es gratis! je je je.
Estoy seguro de que esto era algo que siempre quisiste hacer, je je. Vamos a ver cmo
eliminar el subrayado de los enlaces y cmo resaltar los enlaces del men cuando pasas
el ratn por encima, oki? Eso s, primero un poco de base para que no te pierdas luego.
Los enlaces como ya sabes, de escriben con la etiqueta <a> y por tanto est claro que
para modificar sus propiedades basta con escribir una "a" en la Hoja de Estilos y modificar
cosas entre los corchetes. Las caractersticas que definamos as para los enlaces se
aplicarn a todos ellos sea cual sea su estado. Ahora te cuento qu es eso de los estados.
Se distinguen cuatro estados posibles para los enlaces, que son los siguientes:
- Link: Es el estado normal que tiene un enlace cuando no est en ninguno de los otros
tres estados.
- Visited: Imagino que te habrs fijado que en algunas webs se colorean de otro color
los enlaces que ya has visitado antes, verdad? Pues "visited" es el estado del enlace
cuando ste ya ha sido visitado por el usuario anteriormente.
- Hover: Es el estado del enlace cuando el cursor del ratn est justo encima de l,
pero sin apretar el botn an. Tambin lo has debido ver, pasas el ratn sobre un men y
se van coloreando o poniendo en negrita los enlaces que sealas.
- Active: Y este es el estado de un enlace o vnculo cuando est siendo presionado por
el ratn y mientras no se suelta el dedo.
Hay que ver cuanto ests aprendiendo eh? Y gratis! No te quejars, je je je. Bueno,
pues como te deca antes, si en la Hoja de Estilo solo indicas la "a" de enlace seguido de
los corchetes con sus propiedades, entonces todas esas propiedades afectarn a todos los
enlaces sean cuales sean sus estados. Se hara as (en la Hoja de Estilos, claro):
En este ejemplo de arriba le hemos indicado que TODOS los enlaces, sean cuales sean
sus estados, han de ser azules (color:blue), han de tener un tamao de letra de 1,3 veces
lo que correspondera normalmente (font-size:1,3em) y finalmente que no deben tener
ningn tipo de decoracin, esto es, el subrayado (text-decoration: none). Por defecto
siempre salen subrayados, propiedad que se define con text-decoration: underline
Si no quieres destacar los enlaces segn los estados que te he explicado antes, basta
con definirlos en esa nica lnea, no obstante si quieres darle algn toque diferente en
funcin de alguno de esos estados, se vuelve obligatorio definir en la Hoja de Estilos los
cuatro estados (aunque alguno tenga los corchetes vacios) y adems en ese mismo orden
que te he puesto.
Con estos estilos los enlaces nunca aparecen subrayados hasta que se coloca el cursor
del ratn sobre ellos. Esto es bueno, para destacar al usuario que son enlaces. Adems
pasan de color marrn (brown) a color rojo (red) cuando se pasa el ratn sobre ellos.
Fjate cmo defino todos los estados aunque deje vacios algunos estados. Siempre hay
que ponerlos todos y en ese orden adems.
Para que se note que controlamos esto un montn, vamos a aplicar un par de
propiedades ms a los enlaces del men. Lo primero ser tratar estos enlaces como
bloques, lo segundo ponerles un color de fondo.
Aade esta ltima propiedad dejando el estilo de enlaces de la Hoja de Estilos estilo-
general.css as:
Ocurren dos cosas ahora. La primera es buena, es el efecto que te acabo de comentar,
que situando el cursor en la misma lnea del enlace pero lejos del texto, tambin se
activa el enlace. La segunda es mala, y es que se nos han separado demasiado los enlaces
verticalmente. Por qu ser?
Como te veo con los ojos perdidos mirando al techo... te dejo una imagen para que
veas a qu me refiero con ponerlos seguidos. Antes estaban as:
Bueno, en realidad es a los enlaces en estado Hover. Vamos a hacer que al poner el
cursor sobre un enlace del men, este aparezca sombreado, con un fondo de color....
gris. Se hace retocando el cdigo de los enlaces de antes, pero solo la lnea del hover,
dejndola as:
Veamos realmente como funciona esta estructura que hemos hecho. Vamos a insertar
ms texto en la parte principal de la pgina web para ver como se comporta el men
lateral en el caso de que haya mucho ms texto en la parte derecha. Abre el Html-Kit y
abre tu plantilla.html
Va a ser dificil, pues no est encerrada entre ningna etiqueta concreta, luego ni es un
prrafo, ni un enlace, ni n de n. Nosotros pretendemos que sea un prrafo, verdad?
Pues vamos a indicrselo ponindole a esa frase la etiqueta <p> al incio y como no, la
etiqueta </p> de cierre al final. Ale, dale al teclado! Ha de quedar as:
Ms contenidos
Ups, los prrafos se ven centrados y eso parece una poesia ms que una web, je je je.
Eso es por que le pusimos align:center a body en la Hoja de Estilo. Pero no pasa nada, lo
arreglamos rpido definiendo un estilo justificado para todos los prrafos de la web. Si
ms tarde nos interesa alguno con otra alineacin, lo crearemos en su momento.
Por ahora, abre tu Hoja de Estilo e incluye esta nueva lnea, por ejemplo al final de su
contenido:
p {text-align:justify;}
Con esto los textos quedan justificados. Esto significa que se reparten para que
empiecen justo en la parte izquierda y terminen todas las lneas justo en el margen
derecho, sin huecos. A mi me gusta as, pero si lo prefieres, en tus pginas puedes
definirlo como text-align: left o text-align:right o text-align:center, como quieras. En el
ejemplo lo dejamos con Justify.
La cosa va mejorando pero ahora vemos como los textos se pegan demasiado tanto al
men lateral como a los extremos de la pgina. Eso no queda muy bien, as que vamos a
arreglarlo.
Tienes dos opciones, una es definirle el margen concreto a cada uno de los prrafos de
todas tus pginas web, o algo un poco ms sencillo, poner un par de palabras en la Hoja
de Estilo y listo. Qu prefieres? je je je.
Vaya... los mrgenes no estn mal del todo, pero vemos que los dos primeros prrafos
no parece que hayan tomado el margen izquierdo para separarse del men principal. Esto
es por que se cuenta el margen desde la parte izquierda de la capa #contenido, mientras
que en esos dos prrafos debera contarse desde la derecha del men, verdad? Vamos a
ver como solucionamos esto.
Para eso tendramos que poner un margen por la derecha para el men, y como
pertenece a la capa #menu tocara retocar esa lnea en estilo-general.css aadindole
esto ltimo que he subrayado:
Se aplica colocando "text-indent: XXpx" entre los corchetes del elemento al que se lo
queremos aplicar.
Vamos a aplicarlo a todos los prrafos de la parte principal, que eso queda muy bien.
Un indentado de 15px creo que es suficiente. Como va a ser una propiedad para los
prrafos (p) de dentro de la capa #contenido, incluimos el text-indent en esta lnea (lo
subrayo para que lo veas claro):
Para estar seguros de que estamos haciendo el ejemplo segn las lecciones aprovecho
ahora para dejaros los cdigos de la plantilla.html y de la hoja estilo-general.css segn
han quedado hasta ahora (en realidad lo hago para llenar hueco, que esta pgina se me
haba quedado muy cortita, je je je je)
plantilla.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html>
<head>
<title>Page title</title>
<link rel="stylesheet" href="estilo-general.css" type="text/css" media="all">
</head>
<body>
<div id="global">
<div id="cabecera">Bienvenidos a mi Web</div>
<div id="navegacion">Barra de Navegacin</div>
<div id="contenido">
<div id="menu">
<ul><li><a href="#">Enlace 1</a></li><li><a href="#">Enlace 2</a></li><li><a href="#">Enlace
3</a></li></ul>
</div>
<p>Esta ser la zona principal de la web</p>
<p>Este es mi segundo prrafo. Acabo de poner un punto y en cambio sigue siendo un prrafo
pues no le he colocado an la etiqueta de cierre. Voy a ponersela justo aqu.</p>
<p>Y este es el tercer prrafo. En pocas lecciones aprender a darle margenes para separarlos
unos de otros, e incluso hacerles sanguias por la izquierda a la primera lnea, que queda mucho
mejor.</p>
<p>Anda, fijate! Salen todos centrados, que cosa. Espero que Jorgens nos ensee a ponerlos
alineados a la izquierda, o justificados. As esto parece una poesia! je je je.</p>
</div>
<div id="pie">Este es el pi de pgina</div>
</div>
</body>
</html>
estilo-general.css
* {text-indent:0px; margin:0px; padding:0px; border:0px;}
body {text-align:center;}
#global {width:800px; margin:4px auto;}
#cabecera {background-color:pink;}
#navegacion {background-color:gray;}
#contenido {background-color:orange; width:800px; float:left;}
#contenido p {padding:5px 10px 5px 10px; text-indent:15px;}
#menu {background-color:yellow; width:150px; float:left; text-align:left; margin-right:10px;}
#menu li {list-style:none ; margin: 4px 0px 4px 6px;}
#pie {background-color:brown;}
a {color:brown; text-decoration:none; display:block;}
a:link {}
a:visited {}
a:hover {color:red; text-decoration:underline; background-color:silver;}
a:active {}
p {text-align:justify;}
A estas alturas y aunque no lo creas, pocas capas ms tendremos que crear para tener
completa nuestra pgina web. El resto ser contenido vuestro, propio y ya no tendremos
que tocar mucho ms la plantilla.html aunque realmente, poco la hemos tocado, verdad?
El resto del trabajo lo tendremos con la hoja de estilo, que se encargar de darle
vistosidad al Html. Repito de nuevo que lo bueno de las Hojas de Estilo es que si un da te
cansas del aspecto de la web, con solo cambiar un poco la Hoja de Estilos tendrs una
web con el mismo contenido (pues no tocaremos el html) pero con una apariencia
totalmente distinta. Para eso claro, hay que saberse los trucos del CSS y por eso vamos a
profundizar t y yo ahora con tres propiedades muy importantes que si no quedan claras
nos van a dar muchos dolores de cabeza. Estas propiedades son margin, padding y border.
Border
Si en una capa solo definimos su contenido en Html, esta solo mostrar eso, el
contenido, ya sea una imagen, un prrafo o lo que sea. Pues bien, la propiedad border
dibuja un borde alrededor justo de ese contenido. El borde estar pegadito pegadito al
contenido, como en este caso de la derecha. El borde por defecto, si no se indica otra
cosa, es una lnea continua de 1 pixel de grosor y de color negro.
Padding
Margin
Ahora tenemos otra distancia ms. El margin es la distancia de separacin que se va a
dejar entre el borde y la parte exterior del elemento de la capa. En este caso no se ve,
pues es una zona exterior al dibujo en la que no se permite que aparezca nada. Por eso
se usa para separar unos prrafos de otros, como vimos en las lecciones primeras. En este
caso solo hay definido el margin en el ejemplo de la derecha. Como ves, hay una
separacin entre la imagen y este mismo prrafo, aunque no se ve.
El trio Margin-Padding-Border
En la imagen de abajo puedes ver mejor a qu zona corresponde cada una de estas
propiedades.
Puedes ver el borde, que le he puesto color azul para distinguirlo. Entre el borde y el
contenido est la separacin creada por el padding y entre el borde y el exterior el
espaciado dejado por el margin.
As, si ponemos dos imgenes una junto a la otra y queremos separarlas, usaremos por
ejemplo el margin. Lo mismo para los prrafos etc. Si quisieramos separar un elemento A
de los que tiene alrededor, le pondriamos a A un margin.
Es un cuento muy tonto, je je je, pero quizs te ayude a recordar para qu es cada
uno.
En la pgina siguiente lo entenders mejor al aplicrselo a nuestro men lateral, ya
vers.
Como lo que queremos es separar la capa #menu (la amarilla) de los elementos
exteriores, tenemos que aplicar margin. Si aplicramos padding a la capa #menu el
efecto sera crear una separacin entre el borde amarillo y los enlaces de dentro, no?
Esto es lo mismo que poner solo margin: 10px, pero mejor lo dejamos del otro modo as
podemos poner margenes diferentes en los cuatro lados si vemos que el mismo para todos
los lados no nos gusta.
Realmente parece que por debajo es mucho y por arriba y la izquierda me he pasao un
poco. Vamos a probarlo con estos otros valores (recuerda el orden de las dimensiones del
margin, arriba-derecha-abajo-izquierda)
Y haciendo de nuevo vista previa sobre plantilla.html vemos que queda mucho mejor,
dnde va a parar, je je je.
An no hemos aplicado ningn borde a ninguna capa. Esto es por que cada navegador
interpreta el borde de un modo distinto y vamos a evitarlo todo lo posible. En su lugar
usaremos imagenes de fondo con el borde ya dibujado y en los casos en los que no sea
posible ya nos buscaremos las maas para poder usar bordes sin problemas, pero eso ser
ms adelante.
No estara de ms que crearas una pgina aparte e investigaras los efectos del margin,
el border y el padding por tu cuenta. Para distinguir una cosa de otra lo mejor es ponerle
un color al body (a estas alturas debes saber hacerlo), creas una capa a la que pones
nombre y le aplicas otro color diferente y luego le aplicas otro color distinto ms al
elemento que pongas dentro de la capa, que puede ser una imagen, un prrafo, una lista,
etc, etc. Seguro que te resultar curioso observar los cambios que produce variar esos
datos en la hoja de estilo y seguro que aprendes un montn.
Yo por mi parte intentar ponerte algunos ejemplos en cuanto pueda para esclarecer
estos conceptos, oki? Pero recuerda, no lo pruebes en los archivos de este ejemplo para
no perdernos en las lecciones, hazlo en un archivo aparte.
Fjate como de nuevo, tiene una etiqueta de apertura al inicio y otra de cierre al final
con la contrabarra.
Si aplicamos esas etiquetas sin ms obtendremos una simple frase pero en negrita y con
un tamao mayor de lo normal para que se vea destacado. Si no nos gusta cmo queda
por defecto, podemos siempre cambiar su aspecto indicando las propiedades que nos de
la gana en la Hoja de Estilo, que para eso est.
Si hacemos vista previa a la plantilla no veremos ningn cambio. Por qu crees que
puede ser? Pinsalo. Pues claro, porque como no hemos dicho a ningn elemento de la
plantilla que es un ttulo, no hay nada que mostrar con estos cambios en la Hoja de
Estilo. Lgico no? Vamos ahora a crear un ttulo (h1) y un subttulo (h2).
El ttulo est claro, va a ser el texto donde pone "Esta ser la zona principal de la
web". Una frase no debera ser a la vez prrafo y ttulo, o una cosa o la otra, de modo
que le cambiamos las etiquetas a esa frase, eliminamos la "p" y ponemos un "h1", tanto al
principio como al final. No te olvides de la contrabarra en la etiqueta de cierre, que te
veo... Veremos esto en la vista previa:
El subttulo, de etiqueta h2, lo vamos a poner en el texto "Y este es el tercer prrafo"
(en realidad ahora es el segundo, pues el pimero lo hemos convertido en un ttulo h1,
pero bueno). Para convertir ese trozo en subttulo, ya sabes que no debe estar entre las
etiquetas <p> y </p>, de modo que lo encerramos entre <h2> y </h2> y pasamos la
etiqueta <p> de ese prrafo despus de ese trozo de texto, quedando as:
Los ttulos aparecen como elementos de una sola lnea, o mejor dicho, no dejan que
otra cosa como por ejemplo un prrafo, continue a su derecha, mandndolo
directamente a la lnea siguiente. Lo ves en la vista previa?
Aunque en el cdigo Html pongamos un prrafo seguido de un ttulo (en la misma lnea
de cdigo), el prrafo siempre aparecer debajo, en la siguiente lnea, pues para eso es
un ttulo, no? Pues ya est. Ya sabemos ms cosas. Si te gustan los ttulos alineados a la
izquierda ya sabes como cambiar la Hoja de Estilo para conseguirlo (text-align: left). Lo
mismo para el resto de propiedades.
Pues si, si que puedes, pero est muy bien usar las etiquetas de ttulos por lo siguiente.
Cuando una persona hace una bsqueda con Google por ejemplo y escribe "como crear
pginas web" Google le muestra una serie de pginas (espero que tambin la ma, je je
je). Pero cmo sabe Google qu pginas ha de mostrar? Bien fcil. Google y el resto de
buscadores se pasean continuamente por la red leyendo las palabras de cada pgina web.
Si en mi web ven que aparecen las palabras "como", "crear", "pginas" y "web", lo
memorizan y mostraran mi web en sus listas cuando alguien haga una bsqueda con
alguna de esas palabras.
Y porqu unas pginas aparecen ms arriba y otras ms abajo en esas listas? Los
motivos son muchos, pero uno de ellos (hay muchos ms motivos) es que algunas de esas
palabras aparezcan destacadas y destacadas es, o bien que aparezcan en negrita o bien
que aparezcan dentro de un ttulo tipo h1, h2 etc. Por eso es mejor hacer los titulos
usando h1, pues si lo hacemos como prrafos los buscadores nunca sabrn que se trata de
un ttulo y no tomarn esa palabra tan en cuenta (tambin la tienen en cuenta, pero
menos).
El resto de motivos los iremos viendo en lecciones sucesivas. Eso si, no por lo dicho
antes vamos a poner toooodos los textos dentro de un ttulo, pues los buscadores pueden
pensar (con razn) que estamos haciendo trampas y en lugar de posicionarnos mejor en
sus listas, apareceramos los ltimos. No se debe abusar.
Otra cosa importante. Ya que sabemos la importancia de las palabras de los ttulos, es
bueno incluir en estos aquellas palabras por las que queremos ser encontrados. Es por eso
que en los ttulos de CCTW se intenta colocar estas palabras clave. En esta seccin por
ejemplo, he aprovechado el ttulo de arriba para colocar palabras que me interesan,
como "titulos" (alguien puede estar buscando cmo insertar ttulos en una web y me
interesa que aparezca esta pgina en ese caso), tambien he colocado la palabra
"posicionamiento" (me interesa que quien busque por esa palabra encuentre mi web) y
por supuesto algo que no puede faltar en mi caso, las palabras "pgina web". Lo pillas?
Repito, no es cuestin de saturar con ttulos, es suficiente con aprovecharlos muy bien,
y saber qu palabras poner sin que el texto del ttulo pierda su sentido, claro. Ha de
tener que ver a la vez con el texto que hay debajo de l, sino, ser muy bueno para el
buscador pero los visitantes pensarian que se te ha ido la cabeza... je je je.
By Adrin Albarracn.