Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Paso 2 Preparndonos
Qu necesitamos?
Este tutorial fue escrito asumiendo que usted nunca ha codificado un sitio web antes, o slo lo ha hecho un par de veces. Si usted sigue los pasos y va comprendiendo cada uno de ellos, al finalizar podr considerar que conoce la mayora de conceptos acerca de XHtML y CSS. Para completar este tutorial, necesitar lo siguiente:
Un editor de cdigo: Notepad++, Sublime text 2 Conocimientos bsicos de cmo funciona HTML, la sintaxis bsica y etiquetas. Conocimientos de Hojas de Estilos, cmo funcionan los selectores y estar familiarizado con las caractersticas bsicas. Un navegador: Firefox, Chrome
Layout
Vamos a elaborar un sitio web simple, con 4 elementos bsicos: Encabezado, Contenido, Barra lateral y Pie, el layout tiene la siguiente apariencia:
Paso 3 - Comenzando
Para comenzar necesitamos las imagines a utilizar que con anterioridad se elaboraron en un Editor grfico como Photoshop, Fireworks o algn otro. La carpeta de imagines estn incluidas dentro del material que se ha descargado para realizar este tutorial. A continuacin la lista de imagines a utilizar.
1. 2. 3. 4.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> </html>
Entre las etiquetas HTML, necesitamos una seccin de "Encabezado", que contiene todo tipo de informacin importante sobre el sitio, que no aparece en el cuerpo de la pgina. Para nosotros, en este momento todo lo que va a contener es el ttulo de la pgina, as:
1. 2. 3. <head> <title>MySite</title> </head>
Bajo el encabezado, lgicamente, colocamos el cuerpo, tambin contenida en las etiquetas <html>. Bueno, hasta ahora tenemos:
1. 2. <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1strict.dtd"> 3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 4. <head> 5. <title>MySite</title> 6. </head> 7. <body> 8. <!-- content goes here --> 9. </body> 10. </html>
Esta es la configuracin bsica de la pgina, puede tomar esto como estndar para uso futuro. Recordemos que segn nuestro diseo inicial tendramos secciones de encabezado, contenido, barra lateral, y pie de pgina, para lo cual vamos a colocar cada seccin dentro de su propio <div>, y se les dar una identificacin apropiada.
1. <body> 2. <div id="header"> 3. </div><!--end header --> 4. 5. <div id="content"> 6. </div><!--end content--> 7. 8. <div id="sidebar"> 9. </div><!--end sidebar--> 10. 11. <div id="footer"> 12. </div><!--end footer--> 13. </body>
NOTA: es una buena idea, especialmente cuando empiece, aadir comentarios a cada </ div> para que pueda realizar un seguimiento de la jerarqua de los divs. Segn nuestro diseo, recordemos cmo queremos que las secciones de pie de pgina y el encabezado se extiendan hacia los lados, pero al mismo tiempo, la seccin de
contenido principal se encuentre dentro de un ancho especfico en el centro de la pantalla. Para hacer esto necesitamos un gran div que envuelva nuestros elementos en expansin y un div que contiene el contenido principal. Tambin hay que notar que el texto del pie se centra tambin, as que hay que repetir el mismo proceso para el pie de pgina. Para lograr esto tenemos que envolver algunos divs dentro de los que ya tenemos. Tendremos 2 divs con clase container, uno en el div main y otro en footer.
Y el marcado es el siguiente:
1. <body> 2. <div id="main"> 3. <div id="header"> 4. </div><!--end header --> 5. 6. <div id="content"> 7. </div><!--end content--> 8. 9. <div id="sidebar"> 10. </div><!--end sidebar--> 11. 12. </div><!--end main--> 13. 14. <div id="footer"> 15. </div><!--end footer--> 16. 17. </body>
Pareciera que todos estos divs envolventes son redundantes, pero van a ser relevante cuando empecemos a dar estilo a la pgina.
Encabezado
En la parte superior tenemos nuestro encabezado, y dentro tenemos 3 elementos: un logotipo, un eslogan y un men de navegacin. Vamos a crear un div para nuestro encabezado, y para mantener la limpieza vamos a poner el logotipo y el lema en sus propios divs.
1. 2. 3. 4. 5. 6. <div id="header"> <div id="logo"> </div> <div id="tagline"> </div> </div><!--end header -->
Debido a que es el ms importante ttulo de la pgina, el logotipo va dentro de una etiqueta <h1>. Tenemos ms opciones para el lema (tagline), dependiendo de qu tan relevante es su sitio. En este caso, estoy usando una etiqueta <h3>. Para la navegacin, la prctica habitual es colocar los elementos de men en una lista no ordenada, con cada elemento de la lista que contiene una etiqueta de enlace. As tenemos:
1. <div id="header"> 2. <div id="logo"> 3. <h1>Logo</h1> 4. </div> 5. <div id="tagline"> 6. <h3>And a little tagline, too.</h3> 7. </div> 8. <ul id="menu"> 9. <li><a href="#">Home</a></li> 10. <li><a href="#">About</a></li> 11. <li><a href="#">Portfolio</a></li> 12. <li><a href="#">Contact</a></li> 13. </ul> 14. </div><!--end header -->
NOTA: el valor "href" en las etiquetas de enlace, especificara normalmente el url del link a visitar, pero en este caso, el smbolo # slo significa "vnculo al inicio de la pgina."
Contenido principal
En nuestra rea de contenido principal, contamos con 4 diferentes estilos de tipo: un gran ttulo en la parte superior, una ms pequea, y un encabezado para los ttulos de las noticia, adems de algunos prrafos y para las fechas en las noticias uno an ms pequeo. Vamos a llamar a estos <h2>, <h3>, <h4>, <p> y <small>, respectivamente. Ahora es slo una cuestin de pegar el siguiente texto en su contenido
1. 2. 3. 4. 5. 6. <div id="content"> <h2>Lorem ipsum, Dolor sit</h2> <h3>Nullam vulputate felis id odio interdum nec malesuada mi pretium. </h3> <p>Praesent luctus egestas nisl, vitae vehicula eros rhoncus vel. Phasellus consequat arcu eu neque convallis eu vulputate diam vehicula. In eget venenatis nisl. Vestibulum id nulla eu sapien pellentesque malesuada pharetra ac lacus.
7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
Curabitur et ultricies quam. Aenean pretium aliquet velit, gravida vulputate urna tempus vel. </p> <p>Proin tempor erat sit amet nisl porta nec vulputate arcu imperdiet. Praesent luctus egestas nisl, vitae vehicu la eros rhoncus vel. Phasellus consequat arcu eu neque convallis eu vulputate diam vehicula. In eget venenatis nisl. Vestibulum id nulla eu sapien pellentesque malesuada pharetra ac lacus. Curabitur et ultricies quam. Aenean pretium aliquet velit, gravida vulputate urna tempus vel. Proin tempor erat sit amet nisl porta nec vulputate arcu imperdiet. </p> <div id="news"> <h3>Latest Updates</h3> <h4>Vestibulum id nulla eu sapien pellentesque</h4> <small>June 1, 2009</small> <p>Ut vel turpis a orci pulvinar tincidunt. Mauris id purus turpis. Aliquam metus arcu, facilisis quis pellentesque vitae, dapibus non nulla. Nulla suscipit sagittis sodales. Etiam laoreet ante in purus laoreet id malesuada dui pretium.<a href="#"> Read More</a></p> <h4>Vestibulum id nulla eu sapien pellentesque</h4> <small>June 1, 2009</small> <p>Ut vel turpis a orci pulvinar tincidunt. Mauris id purus turpis. Aliquam metus arcu, facilisis quis pellentesque vitae, dapibus non nulla. Nulla suscipit sagittis sodales. Etiam laoreet ante in purus laoreet id malesuada dui pretium.<a href="#"> Read More</a></p> </div><!--end news--> </div><!--end content-->
Hemos agregado etiquetas de enlace con el texto Read More al final de cada noticia.
Barra lateral
La barra lateral tiene tres elementos, cada uno de los cuales ser envuelto en su propia div. Cada div contendr un encabezado <h3> y una lista desordenada, y cada elemento de la lista volver a contener una etiqueta de enlace.
1. <div id="sidebar"> 2. <div id="subscribe"> 3. <h3>Subscribe!</h3> 4. <ul> 5. <li><a href="#">Subscribe via RSS</a></li> 6. <li><a href="#">Get Email Updates</a></li> 7. <li><a href="#">Follow us on Twitter</a></li> 8. </ul> 9. </div> 10. <div id="popular"> 11. <h3>Popular Items</h3> 12. <ul> 13. <li><a href="#">Lorem ipsum dolor site amet</a></li> 14. <li><a href="#">Ulvinar tincidunt, Mauris id</a></li> 15. <li><a href="#">Lorem ipsum dolor site amet</a></li> 16. <li><a href="#">Proin tempor erat sit tene</a></li> 17. </ul> 18. </div> 19. <div id="contributors"> 20. <h3>Contributors</h3> 21. <ul> 22. <li><a href="#">John Smith, freelance writer</a></li> 23. <li><a href="#">Jack McCoy, designer</a></li> 24. <li><a href="#">Lenny Briscoe, editor</a></li> 25. <li><a href="#">John Smith, martketing</a></li> 26. </ul> 27. <a href="#">Join Our Team</a> 28. </div> 29. </div><!--end sidebar-->
Pie
Tambin ponemos el texto del pie. Cabe sealar que cualquier smbolo que desea utilizar en el texto tiene cdigos especiales en html, por ejemplo, el smbolo de copyright se codifica como
1. 2. 3. 4. 5. 6. <div id="footer"> <div class="container"> <p>Copyright 2009 MySite <br /> All Rights Reserved</p> </div><!--end footer container--> </div><!--end footer-->
Ahora nuestro archivo html puede acceder al contenido del archivo css, por lo que cualquier cambio que hagamos en el CSS afectar al archivo html.
A continuacin, vamos a definir el ancho y los mrgenes de nuestro div clase container.
1. 2. 3. 4. .container { width: 800px; margin: 0 auto; }
La propiedad margin: 0 auto indica que no hay margen en la parte superior, y que se centra automticamente horizontalmente. Veamos como queda:
Se ve mucho mejor. El siguiente paso va a hacer que se vea peor, pero sigamos.
Reinicio CSS
Todos los navegadores utilizan valores de relleno y margen por defecto para cada elemento, lo que hace que las pginas sin estilo se vean bien, pero para nosotros, que estamos creando nuestros propios estilos no sirven. Para deshacerse de todos estos mrgenes desordenados, vamos a utilizar un simple reinicio CSS, que es slo una regla que elimina el relleno y los mrgenes por defecto en los elementos que estamos usando. Escriba esto en la parte superior de su archivo css:
1. 2. ' body, div, h1, h2, h3, h4, h5, h6, p, ul, img {margin:0px; padding:0px; }
Veamos:
Paso 9 - Encabezado
Muy bien, todo est aplastado y listo para que empecemos a manipularlo. Ahora tenemos que empezar a agregar nuestros propios estilos, de nuevo, de arriba a abajo. Primero establecemos las imgenes de fondo para el encabezado. Vamos a empezar con la repeticin de la imagen del encabezado, dicha imagen de repeticin va a estar dentro del div "main", que tiene un ancho indefinido. Tenemos que indicar al navegador la ubicacin de la imagen, y qu hacer con ella (repetir o no repetir). Para establecer una imagen de fondo, se utiliza la propiedad " background " y se especifica la ubicacin de la imagen o 'url', en nuestro caso, la imagen est en nuestra carpeta de imgenes, por lo que especifique la ubicacin de esta manera:
1. url (images/header_slice.gif)
Veamos:
Impresionante, verdad? Intente estirar su navegador, simplemente sigue y sigue y sigue ...
Si observamos en el navegador, vers que nuestro logotipo ha sido cortado por la mitad. Esto se debe a que no hemos dado dimensiones, esto lo podemos resolver especificando las dimensiones de la imagen:
1. 2. 3. 4. 5. #logo { background: url(images/logo.gif) no-repeat; height: 84px; width: 235px; }
Mejor, pero todava observamos el texto <h1> original, para corregirlo vamos a ajustar el indentado del texto a un valor ridculo, como-9999px, muy lejos de la pgina, as que nadie va a verlo, excepto los robots de los motores de bsqueda.
1. 2. 3. #logo h1 { text-indent: -9999px; }
Si observamos, ahora la imagen del logotipo est ubicada en el mismo lugar que nuestro texto <h1>. Pero todava se ve bastante mal, todo apretado en la parte superior. Cuando queremos mover un elemento de su posicin original en la pgina, se puede utilizar tanto las propiedades margen y relleno. Vamos a probar los dos para ver la diferencia En primer lugar, vamos a tratar de aadir un margen a la parte superior de la etiqueta h1.
1. 2. 3. 4. 5. #logo h1 { text-indent: -9999px; margin-top: 40px; }
Oops! Nos las arreglamos para mover el logo, pero nos llev toda la pgina con el! Vamos a tratar de ajustar el relleno en su lugar:
1. 2. 3. 4. #logo h1 { text-indent: -9999px; padding-top: 40px; }
Veamos ahora y el elemento volvi al punto inicial, esto es porque la propiedad margen mueve todo el elemento, pero el relleno slo se mueve el contenido del elemento, dejando el fondo donde est. Por lo tanto, si nuestra pantalla era, digamos, 19999px amplia, veramos el margen de nuestro encabezado <h1> movido 40px, pero esto no es lo que estbamos buscando. As, para mover la imagen de fondo del logotipo, hay que mover el div por encima, porque el div completo del logo est contenido dentro del div header. Veamos:
1. 2. 3. 4. 5. 6. 7. #logo h1 { text-indent: -9999px; } #header { padding-top: 40px; }
Ahora nuestro logo se ve igual que en nuestro diseo inicial. Solo debemos acomodar la lnea del slogan