Búsqueda en el Foro:
Buscar


Autor Mensaje
Mensaje24-06-2011, 23:21 (UTC)    
Título del mensaje: Te enseño a crear tu plantilla para CSS-Design desde 0

En esta ocasion te guiare en el proceso de crear una web desde 0.
La web sera sencilla, con partes como cabezera,pie,contenido, y menu.

Es posible que ya sepas que toda web se compone por:
Cita:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head> <title>TITULO</title> </head>

<body>

<!--CONTENIDO->

</body>
</html>

Esta es la estructura base de toda web, si ya la conocias
talvez se te hizo raro el codigo en color rojo.
Este es el DOCTYPE, y es necesario agregarlo para que nuestra web sea vista igual por todos los navegadores (PWG ya lo trae incluido)
Mas informacion aqui: Cristalab

El codigo en verde sera el lugar donde pondremos nuestro contenido.
Todo el codigo que explique adelante sera puesto ahi, amenos que aclare lo contrario.

Empezare por colocar una capa central (DIV), sera la que contenga a toda nuestra pagina:
Cita:
<div id="madre" >

</div>

Observa el codigo en color rojo, le asigne ala capa una identidad "madre", de esta manera podre aplicarle estilos, llamandola por su ID.

Anteriormente dije que nuestra web tendra cabezera,pie,contenido, y menu, entonces dentro de la capa "madre" agregaremos
mas capas.

Cita:
<div id="madre">

<div id="cabezera">CABEZERA</div>

<div id="cuerpo">CUERPO</div>

<div id="menu">MENU</div>

<div id="pie">PIE</div>

</div>


Atencion:Codigo en Rojo es la identidad de las capas, para poder darle estilos mas adelante. Codigo en azul es el texto que se mostrara
Observa el orden en el que las coloque, primero la cabezera, y al final el pie.
La vista previa de esto seria asi:


O Dios !, que feo se ve !
es por que aun no le hemos agregado estiloss


Los estilos son agregados dentro de <style> </style>, el cual debe ir dentro de <head> </head>


Observa que en la imagen, donde esta la parte del estilo coloque asi: <style type="text/css">
De esta manera le desimos al navegador que nuestros estilos seran CSS, es necesario agregar esa parte, aunque aveces quitarlo no provoque diferencias.

Ahora si lo divertido, dar estilo ala web !
empezaremos por la capa madre, de la siguiente manera nos referimos a ella:

Cita:
<style type="text/css">
#IDENTIDAD { PROPIEDADES ; }
</style>


Mira que para referirme a una capa con id, es necesario colocar el caracter # delante de ella, despues se abren dos llaves { } y dentro de las llaves ira todo nuestro codigo, que seran las propiedades a editar, y ademas, cada propiedad termina en PUNTO Y COMA.

Sabiendo esto, ahora si le dare estilo a la capa madre, quiero que tenga un ancho de 800px, y ademas que aparezca centrada.

Cita:
<style type="text/css">
#madre {
width:800px;
margin:auto;
}
</style>


El ancho se lo dimos con la propiedad width, y logramos que se centre con la propiedad margin
Al momento de poner un margin:auto; dejamos que el navegador calcule el espacio, y centre la web AUTOMATICAMENTE.
Atencion: Tambien pudimos haber utilizado margin-left:auto y margin-right:auto para referirnos especialmente a los lados de la web


En este momento ya tenemos una web centrada y con un ancho de 800px, ahora le daremos estilo alas capas interiores
empezare por la cabezera.

Editando Cabezera
Quiero que mi cabezera tenga una imagen de fondo, que seria mi logo, y ademas le dare una altura de 150px,

Cita:
#cabezera {
height:150px;
background-image:url(http://img.webme.com/pic/a/adan-2994/cabezera.png);
}


mmm.... la imagen no aparece centrada, y ademas se repite !
Arreglemos eso, vamos hacer que la imagen aparezca centrada y ademas sin repetirse:

Cita:
#cabezera {
height:150px;
background-image:url(http://img.webme.com/pic/a/adan-2994/cabezera.png);
background-position:center;
background-repeat:no-repeat;

}

Con la propiedad background-position logre centrar mi imagen, ami me funciono bien por las medidas de mi imagen
si tu tienes problemas tambien puedes hacer lo siguiente

Cita:
background-position:IZQUIERDA ARRIBA;

En este caso queremos editar la distancia que tendra de separacion nuestra imagen de la izquierda, y ademas de arriba, como yo puse solo center, aplico un 50% y 50 %.
Cita:
background-position:50% 50%;


La propiedad background-repeat permite editar la manera en que se repetira la imagen de fondo, como yo quiero que no se repita, coloco el valor no-repeat;
Otra opcion para la imagen de fondo seria colocarla dentro de :
<div id="cabezera"><center><img src="TUIMAGEN"></center></div>

En este momento ya tenemos nuestra web con cabezera !, la vista previa quedaria asi:


Pon atencion en la imagen, en la parte que esta resaltada en amarillo, ese es el texto que puse al inicio ,recuerdas?
Cita:
<div id="cabezera">CABEZERA</div>

Pues ami ya no me sirve, asi que lo quitare (la parte en rojo)

Aunque la cabazera ya se ve bien, quiero que tenga una separacion de abajo, de unos 50px, para lograr esto editare su margen inferior (margin-bottom)

Cita:
#cabezera {
height:150px;
background-image:url(http://img.webme.com/pic/a/adan-2994/cabezera.png);
background-position:center;
background-repeat:no-repeat;
margin-bottom:50px;
}

con esto logramos que aparezca separada de el contenido y el menu.



Ahora editaremos el Contenido !!


Editando Contenido (capa cuerpo)
Quiero que el cuerpo, que es la parte donde agregaremos e lcontenido de nuestra web, tenga un ancho de 540px, un color de fondo gris(para distinguirlo)
y ademas estara FLOTANDO ala izquierda.
Atencion:Quiero que el cuerpo y el menu esten juntos,uno al lado de otro, para lograr eso hare que floten uno ala izquierda y el otro ala derecha

Cita:
#cuerpo {
width:540px;
background-color: #CCC;
float:left;
}

Observa la propiedad float, le di un valor left para que flote ala izquierda.
El color de fondo es #CCC, que es igual a gris en codigo Hexadecimal.
La vista previa (con texto e imagenes) se veria asi:


En la vista previa se puede apreciar, ala derecha de la capa cuerpo (color gris) que aparecen el menu y el pie
Esto es causado por el float, mas adelante lo solucionaremos.
Otro detalle que se ve, es que el texto e imagenes de la capa cuerpo, aparecen pegados alos bordes !
Esto se soluciona con un padding, relleno en español.

Cita:
#cuerpo {
width:540px;
background-color:#CCC;
float:left;
padding:36px 12px;
}


El codigo en rojo es el padding , debido a que le di 2 valores estos se aplicaran asi: arriba y abajo (36px) y alos lados (12px)
Vista previa (solo de la capa cuerpo)


Ya separamos el contenido de los bordes, y si aun quieres seguir editandolo puedes modificar los valores de padding

En este momento ya editamos el cuerpo y la cabezera, ahora seguiremos con el menu.


Editando Menu
Ya dije que quiero que el menu aparezca ala derecha del cuerpo, ademas quiero darle un ancho de 200px, y un color de fondo tambien gris, ademas de un padding de 12px en todos sus lados (arriba,derecha,abajo,izquierda).

Cita:
#menu {
width:200px;
background-color:#CCC;
float:right;
padding:12px;
}


El codigo en rojo es para que flote ala derecha.
La vista previa seria asi:


Observa en la imagen previa, que el PIE aparece muy mal acomodado, esto lo solucionaremos mas adelante.
Pon atencion a esto:
Nuestra capa madre tiene un ancho de 800px, la capa cuerpo tiene un ancho de 540px pero ademas tiene un padding de 12px (en los dos lados, osea 24px total)
esto significa que su ancho real (conocido como offsetWidth) es la suma de su ancho+paddingLateral (540+24=564px)
Ahora si a los 800px de la capa madre le restamos 564 resulta 236px.
Y esto que ???
Pues si nuestra capa menu hubiera tenido un ancho mayor a ese espacio de 236px (incluyendo paddingLateral), no hubiera cabido, y por lo tanto tendria que recorrerse hacia abajo.
Imagen de ejemplo (con zoom bajo):

Esta explicacion te servira en tus proximos proyectos.

Ya tenemos nuestra capa menu , pero hace falta colocarle el menu (me refiero a el menu de navegacion)
El menu de la pagina sera una lista UL (<ul> </ul>)

Entonces dentro de la capa menu agregaremos esto:
Cita:

<ul id="menuUl">

<li>Inicio</li>
<li>Entretenimiento</li>
<li>Historia de la web</li>
<li>Libro de visitas</i>
<li>Contacto</li>
<li>Otra cosa</li>
<li>Otra cosa 2</li>

</ul>


Observa el codigo en color rojo, a la lista UL le dimos una identidad menuUl para poder editarla mas adelante con CSS
Imagen Previa:

Por el momento nuestro menu de navegacion no nos dirige a ninguna parte, por que no tiene enlaces.
Para agregarselos solo coloca lo siguiente:
Cita:
<li><a href="#top">Entretenimiento</a></li>


Editando menu de navegacion (identidad menuUl)
En la anterior vista previa podemos ver unas bolitas negras al lado de nuestro menu, vamos a quitarselos con CSS.

Cita:
#menuUl {
list-style:none;
}

Ya se los quite ! , el codigo rojo quita o edita esta bolita negra, tambien puedes usar imagenes distintas.
Usare otra imagen para ponerla al lado izquierdo de cada enlace del menu, al poner el mouse sobre ellos la imagen cambiara por otra.

Pagina con muchos iconos gratis:http://www.iconosgratis.us/coleccion-iconos-16x16/

Pero primero debemos saber como editar los enlaces del menu.
Sabemos que nuestro enlace esta dentro de un LI (<li></li>) el cual esta dentro de un UL (<ul></ul>) entonces para editarlos haremos lo siguiente:

Cita:
#menuUl li a {

En el codigo Azul estamos indicando que queremos editar el UL, PERO como delante colocamos LI (color marron) desimos que queremos editar todos los LI que esten dentro del UL.
PERO como delante aun existe un a estamos diciendo que queremos editar todos los a (enlaces) que esten dentro de un LI (elemento) que esta dentro de un UL (lista desordenada).
Sabiendo esto , este seria el codigo:
Cita:
#menuUl li a {
background-image:url(http://img.webme.com/pic/a/adan-2994/flechablanca.png);
}

El resultado seria este:


Que feo se ve !!!

En primer lugar la imagen se repite, y ademas aparece el texto encima de la imagen, y lo que yo quiero es que el texto aparezca separado.
Solucion:

Cita:
#menuUl li a {
background-image:url(http://img.webme.com/pic/a/adan-2994/flechablanca.png);
background-repeat:no-repeat;
padding-left:20px;

}

En el codigo rojo le estoy diciendo que no se repita (background-repeat:none) ademas que quiero que tenga un padding de 20px ala izquierda (padding-left:20px)
Resultado:


Quedo como queria, ahora quiero que al tener el mouse encima la imagen cambie por esta
Eso lo logro de la siguiente manera.
Cita:
#menuUl li a:hover {
background-image:url(http://img.webme.com/pic/a/adan-2994/flechaazul.png);
}

El codigo en rojo , es para indicarle al navegador que me cambie la imagen de fondo (por la que especifique en codigo azul) en el momento que el raton este encima (hover).

Entonces el codigo completo para la imagen del menu de navegacion quedaria asi:
Cita:
#menuUl li a {
background-image:url(http://img.webme.com/pic/a/adan-2994/flechablanca.png);
background-repeat:no-repeat;
padding-left:20px;
}


#menuUl li a:hover {
background-image:url(http://img.webme.com/pic/a/adan-2994/flechaazul.png);
}

Resultado:



Y ya para terminar con el menu de navegacion, quiero que los enlaces esten separados de abajo, unos 10px.
Cita:
#menuUl li{
margin-bottom:10px;
}

Observa que estoy editando todos los LI dentro de menuUl.
Recuerda que el margin-bottom crea una separacion hacia abajo, tambien permite valores negativos, permitiendo acercar en vez de alejar.

Ahora pasemos a editar el PIE

Editando pie (identidad pie)
en las imagenes anteriores (vistas previas) se vio que el pie estaba mal acomodado, esto es causado por que estaba colocado despues de elementos flotantes.
Para poder solucionar estoo se utiliza una propiedad del CSS llamada CLEAR, la cual permite que nuestro pie ignore los espacios de flotacion, y siga colocandose abajo.
Cita:

#pie {
clear:both;
text-align:center;
padding-top:80px;
font-size:10px;

}

Observa que ala propiedad clear le di el valor both (ambos en español) mas informacion aqui http://www.ignside.net/man/css/float.php
La propiedad text-align:center la utilizo para centrar el texto.
Y el padding-top:80px; para agregar un relleno arriba, esto es para simular el margin-top, pero debido a que se trata de elementos flotantes este no nos servira (a menos que tu capa pie esta fuera de la capa madre, para eso tendrias que alinearla tambien al centro y ya podrias darle un margin-top)

El font-size:10px es para el tamaño de la fuente, la mayoria de los pies de pagina tienen una letra mas pequeña, por eso agregue font-size:10px; tu puedes editarlo a tu gusto tambien.

bueno pues el pie fue facil de editar, aun sele pueden agregar mas cosas claro.


Ahora editare el tipo de letra y tamaño de toda la pagina asi como enlaces para que no esten subrayados.

Cita:
body {
font-family:Verdana,tahoma,Arial;
background-color: #0a2d5c;
font-size:14px;
}
a {
color:blue;
text-decoration:none;
}
a:hover {
color:red;
}


Mira el codigo en rojo, la primera propiedad en el Body que es font-family se utiliza para especificar que fuente quieres, siempre utiliza varias, separadas por coma, si el visitante no tiene instalada en su PC la primera fuente, entonces el navegador asignara la siguiente.
Luego edito el tamaño de letra de el body (pagina completa) con la propiedad font-size la cual ya vimos.

Ahora observa el codigo en color rojo en los elementos a (enlaces). Les agregue un color de letra azul con la propieedad color.
Tambien quite el subrayado que tienen por defecto, gracias ala propiedad text-decoration:none;
cuando el mouse esta posicionado encima de ellos cambiaran su color de letra por rojo.


La pagina ya esta terminada, o al menos lo esencial.
Todo depende siempre de la creatividad que tu tengas al diseñar, te dejare una imagen vista previa de como arregle la pagina despues.


Puedes descargar el archivo HTML: Fileserve


.
.
.
______________
COLECCION DE EMOTIKONOS PARA TU WEB PWG


Ultima edición por adan-2994 el Sab Sep 10, 2011 3:10 am; editado 1 vez
Mostrar mensajes anteriores:   


Powered by phpBB © 2001, 2005 phpBB Group