Un ejemplo de una linda web // Tutorial HTML – CSS
Bueno he vuelto con la ultima leccion del curso, esta sin duda es la leccion mas importante, porque es donde veran aplicados la mayoria de los conocimientos del curso y quizas algunas cosas mas que ire explicando cuanod haga falta.
Vamos a crear una pagina con la siguiente pinta:
Bueno manos a la obra
El home
Lo primero que vamos a hacer es la pagina principal, y para comenzar vamos a crear la estructura de la pagina que en este caso sera esta:
Por lo que la estructura HTML por ejemplo podria ser asi ya con la informacion cargada:
<html> <head> <title>Ejemplo pagina web</title> </head> <body> <div id="cont"> <div id="encabezado"> <h1>Dacho Fotografias</h1> <h2>Portafolio Personal</h2> </div> <div id="contenido"> <h2>BIENVENIDOS <span>A Mi Sitio Web</span></h2> <p>Soy un amante de la fotografia, en mi tiempo libre me gusta salir con mi camara a capturar esos momentos e imagenes que quiero que queden en mis recuerdos.</p> <p>A lo largo de este sitio encontraras las mejores fotografias que he tomado en los ultimos años, podras ver fotos de Paisajes, Animales y Gente. Te invito a que recorras mi sitio web y disfrutes tanto como yo del arte de la fotografia</p> </div> <div id="menu"> <h3>Menu</h3> <ul> <li><a>Home</a></li> <li><a>Paisajes</a></li> <li><a>Animales</a></li> <li><a>Gente</a></li> <li><a>Contacto</a></li> </ul> </div> <div id="pie"> <h2>ULTIMAS <span>fotografias tomadas</span></h2> <div id="fotos"> <div id="foto1">Fotografia 1</div> <div id="foto2">Fotografia 2</div> <div id="foto3">Fotografia 3</div> <div id="foto4">Fotografia 4</div> <div id="foto5">Fotografia 5</div> <div id="foto6">Fotografia 6</div> </div> <p>Todos los derechos reservados // <a>Curso de HTML / CSS</a> <a href="http://www.blogdelaweb.com.ar">blogdelaweb.com.ar</a></p></div> </div> </body> </html>
¿Porque la pagina tiene esta estructura?¿Es la unica?
Bueno la pagina tiene esta estructura de HTML porque es la que se me ocurrio a mi, eso no quiere decir que sea la unica forma ni tampoco la mejor, simplemente es una buena estructura que me permitira obtener lo que se ve en la primera imagen, como siempre te invito a que la pruebes y la veas sin nada de CSS porque despues de eso empezaremos a darle el formato correspondiente!…
Centrando la pagina y colocando un ancho fijo
Bueno lo siguiente para que valla quedando con forma es centrar la pagina web y darle un ancho. Como verán toda la pagina web esta rodeada con un div que posee el id=”cont” este div nos servira para:
- Centrar la Pagina
- Colocarle el Ancho fijo!
Bueno para centrar la pagina lo primero que tenemos que hacer es decirle a los exploradores que la pagina tiene un ancho fijo y que ademas ese ancho es mas chico que la pantalla. es decir en este caso el ancho fijo sera de 693 pixeles, y si te preguntas ¿como centrar una pagina de por ejemplo 1200px de ancho para un monitor de 1024 pixeles de ancho? Pues la respuesta es obvia, pues la pagina es ams ancha que el monitor y lo que pasara es que se pondra el scoll horizontal en el navegador y centrar una pagina mas grande que la pantalla carece de sentido en el 99% de los casos.
Bueno una vez que le decimos que la pagina tiene 693px de ancho le tenemos que decir que se centre, esto se logra con la propiedad margin de el elemento #cont. Y ademas para arreglar el problema de internet explorer 6 agregaremos al body un text-align: center para que lo centre y a el elementeo #cont un text-align: left para que los textos no queden todos centrados!
En limpio el archivo quedaria:
<html> <head> <title>Ejemplo pagina web</title> <style type="text/css"> body{ text-align: center; } #cont{ width: 693px; margin: 0 auto 0 auto; text-align: left; } </style> </head> <body> <div id="cont"> <div id="encabezado"> <h1>Dacho Fotografias</h1> <h2>Portafolio Personal</h2> </div> <div id="contenido"> <h2>BIENVENIDOS <span>A Mi Sitio Web</span></h2> <p>Soy un amante de la fotografia, en mi tiempo libre me gusta salir con mi camara a capturar esos momentos e imagenes que quiero que queden en mis recuerdos.</p> <p>A lo largo de este sitio encontraras las mejores fotografias que he tomado en los ultimos años, podras ver fotos de Paisajes, Animales y Gente. Te invito a que recorras mi sitio web y disfrutes tanto como yo del arte de la fotografia</p> </div> <div id="menu"> <h3>Menu</h3> <ul> <li><a>Home</a></li> <li><a>Paisajes</a></li> <li><a>Animales</a></li> <li><a>Gente</a></li> <li><a>Contacto</a></li> </ul> </div> <div id="pie"> <h2>ULTIMAS <span>fotografias tomadas</span></h2> <div id="fotos"> <div id="foto1">Fotografia 1</div> <div id="foto2">Fotografia 2</div> <div id="foto3">Fotografia 3</div> <div id="foto4">Fotografia 4</div> <div id="foto5">Fotografia 5</div> <div id="foto6">Fotografia 6</div> </div> <p>Todos los derechos reservados // <a>Curso de HTML / CSS</a> <a href="http://www.blogdelaweb.com.ar">blogdelaweb.com.ar</a></p></div> </div> </body> </html>
A partir de este momento todos los cambios que haremos seran para lo que se encuentra entre en la pagina por lo que no volvere a incluir todo el html, sino que colocare el css correspondiente!
Cada cosa en su lugar
Seguimos dando el formato a la pagina ahora estructuraremos cada cosa en su lugar con la forma que vimos en la imagen de colores mas arriba: Esto se logra basicamente utilizando las siguientes propiedades:
- Width
- Margin
- Float
- Clear
- Height
- Padding
body{ text-align: center; } #cont{ width: 693px; margin: 0 auto 0 auto; text-align: left;} #encabezado{ height: 32px; margin-bottom: 40px; width: 693px;} #contenido{ width: 500px; float: left; margin-bottom: 70px;} #menu{ width: 180px; float: left; text-transform: uppercase} #pie{ clear: both; height: 296px;}
Como se ve ahora la cosa empieza a toma forma como aclaraciones la propiedad text-transform: uppercase de css hace que el texto se vea todo en letra mayuscula.
Elijiendo colores, tipografias y tamaños de letras
El siguiente paso es elegir el todo lo nombrado en el subtitulo anterior, la tipografia elegida para toda la web es Tahoma, por lo que al elemento body (que es toda la pagina web) le asignamos esa tipografia por medio de font-family: Tahoma; y ya que esta elegimos otras tipografias en caso de que esa no este incluida en el sistema operativo del usuario por lo que quedaria font-family: Tahoma, Arial, Geneva, sans-serif;
Tambien casi todo el texto de la web tendra el color #797979 por lo que asignaremos al body la propiedad color: #797979
Con respecto a los tamaños les asignaremos a cada elemento en particular el que corresponda, lo podran ver en el codigo (es la propiedad font-size), no pongo la lista porque es algo extensa y no tiene sentido porque nos tenemos que ir acostumbrando a leer el css, entonces el css con todos los cambios quedaria asi:
body{ text-align: center; font-family: Tahoma, Arial, Geneva, sans-serif; color:#797979;} #cont{ width: 693px; margin: 0 auto 0 auto; text-align: left;} #encabezado{ height: 32px; margin-bottom: 40px; width: 693px;} /*los textos del encabezado lo dejamos para mas adelante porque tenemos que hacer reemplazo de texto por imagen*/ #contenido{ width: 500px; float: left; margin-bottom: 70px;} #contenido h2{ font-size: 18px; color: #464545; font-weight: normal } #contenido h2 span{ color: #a7a7a7; } /*esto nos sirve para cambiar el color a gris en los titulos cuando colocamos la etiqueta span!*/ #contenido p{font-size: 13px;} #menu{ width: 180px; float: left; text-transform: uppercase} #pie{ clear: both; height: 296px;} #pie h2{ font-size: 18px; color: #464545; font-weight: normal } #pie h2 span{ color: #a7a7a7; } #pie p{ text-align: center; font-size: 13px; padding-top: 10px; clear: both;}
Bueno Ya tenemos armada la estructura basica de la pagina y ahora nos queda por hacer:
- Dar estilo al menu!
- Colocar imagenes en donde estan los divs de fotografias
- Reemplazar texto por imagenes en el encabezado
- colocar un background en el pie de pagina!
Debido a que la leccion se esta extendiendo demasiado vamos a darle formatos a los divs que contendran las imagenes y dejaremos todo lo otro para la siguiente leccion!
Bueno la estructura que tiene las fotografias que estan en el pie de pagina es la siguiente
<div id="fotos"> <div id="foto1">Fotografia 1</div> <div id="foto2">Fotografia 2</div> <div id="foto3">Fotografia 3</div> <div id="foto4">Fotografia 4</div> <div id="foto5">Fotografia 5</div> <div id="foto6">Fotografia 6</div> </div>
Por lo que para que cada div se ponga uno al lado del otro le colocaremos la propiedad Float: left; y ademas como las imagenes tendran un tamaño de 100px de ancho por 69px de alto, esos seran los valores del las propiedades width y height. Por otra parte estaran separados por un margen de 10px superior, 9px a la derecha, 15px inferior y 9px a la izquiera, por lo que la propiedad margin para cada elemento sera margin: 10px 9px 15px 9px; . Y ademas como queremos que se muestren 2 filas por 3 columnas el contenedor con id=”fotos” tendra un width que supere los 100*3 + 9*3*3 px esto es 100 de cada width asignado a cada elemento y 9 por cada margen izquierdo de cada y elemento y 9 por cada margen derecho de cada elemento. En total puede tener un ancho de 360px. Por lo que id=”fotos” quedaria con un width: 370px; Si te quedan dudas de todo esto comenta y lo aclaro mas!
En fin de todo esto quedaria mas o menos asi el css:
body{ text-align: center; font-family: Tahoma, Arial, Geneva, sans-serif; color:#797979;} #cont{ width: 693px; margin: 0 auto 0 auto; text-align: left;} #encabezado{ height: 32px; margin-bottom: 40px; width: 693px;} /*los textos del encabezado lo dejamos para mas adelante porque tenemos que hacer reemplazo de texto por imagen*/ #contenido{ width: 500px; float: left; margin-bottom: 70px;} #contenido h2{ font-size: 18px; color: #464545; font-weight: normal } #contenido h2 span{ color: #a7a7a7; } /*esto nos sirve para cambiar el color a gris en los titulos cuando colocamos la etiqueta span!*/ #contenido p{font-size: 13px;} #menu{ width: 180px; float: left; text-transform: uppercase} #fotos {width: 370px;} #fotos div{ width: 100px; height: 69px; float: left; margin: 10px 9px 15px 9px; background: silver; } /*Coloco el background:silver; para que se vean los cambios despues colocaremos las imagenes*/ #pie{ clear: both; height: 296px;} #pie h2{ font-size: 18px; color: #464545; font-weight: normal } #pie h2 span{ color: #a7a7a7; } #pie p{ text-align: center; font-size: 13px; padding-top: 10px; clear: both;}
Bueno dejamos los otros tres puntos para la siguiente leccion en donde veremos como reemplazar texto con imagenes sin perder semantica web, mejorar el menu y los colores de los enlaces y por ultimo colocar fondos a los elementos que hagan falta.
La web en este momento se deberia ver mas o menos de esta forma:





19 enero 2010 at 0:50 | jorge
exelente muy claro aunke claro de todos modos le doy varias pasadas para aprenderlo bien en lo ke llegan las demas entregas del tutorial
19 enero 2010 at 19:11 | jorge
toy en el segundo repaso pero no entiendo que es esto
#contenido h2 span{ color: #a7a7a7; }
19 enero 2010 at 19:43 | dacho
@jorge, esa linea hace que el texto que esta en #contenido h2 span sea de color #a7a7a7.
La propiedad color del css nos permite cambiar el color de los textos.
Saludos
27 enero 2010 at 11:58 | Codu
Damian: segun tu ejemplo el body debe quedar blanco, si se copia tu ejemplo quedaria gris de fondo, segun tengo entendi es porque en el css body pusiste el fondo gris.
Como seria para asignar una imagen desde el css a esta linea
Fotografia 1
Buen laburo con la pagina
27 enero 2010 at 12:46 | dacho
Hola Codu,fijate de nuevo ahora, debe haber algo que copiaste mal porque yo lo probe y el color de fondo es blanco…
Gracias a tu aviso me di cuenta que por unos problemas del wordpress estaban mal los htmls, por lo que te recomiendo que te fijes si esta bien el HTML y te agradezco
…
La propiedad body no tiene propiedad background-color, por lo que deberia ser con fondo blanco…
Para asignar una imagen por medio de css al elemento por ejemplo fotografia1 se utiliza una tecnica llamada image-replacement, aca te dejo un enlace, de todas formas en el dia de hoy (a ultima hora) voy a subir la ultima leccion del curso basico, donde explico todo hecho para el ejemplo!
Reemplazo de texto por imagen <– Visita el articulo de image-replacement
31 mayo 2010 at 0:42 | dmozop
Dacho,
Excelente! esta clase es la que mas me ha gustado. Poco a poco me estoy ganando confianza, apenas termine este tutorial empiezo a hacer mi propia pagina web.
Saludos,
22 junio 2010 at 21:04 | j0se
Muy bueno el tutorial, la verdad uno se asusta a ver el cogido fuente de las paginas web, pero con esto estoy entendiendo como funciona, gracias.