Layout XHTML y CSS I

09 / julio / 2006

2columnslayout_part1

Como se los había comentado en el tutorial anterior, vamos a crear nuestro primer layout xhtml strict , este layout que haremos será de 2 columnas y lo que haremos en este primer tutorial, será definir todo nuestro xhtml para después aplicarle por medio de CSS todo el formato.

Comenzamos, espero ser lo bastante claro en esta primera parte, sino ya saben que cualquier duda aquí estamos.

Abrimos nuestro editor de html el que más les acomode, en mi caso Dreamweaver y ponemos el siguiente código:

HTML:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head profile="http://gmpg.org/xfn/11">
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  5. <title>Infected-FX - Standards layouts</title>
  6. <meta name="description" content="Infected-FX" />
  7. <link href="style.css" rel="stylesheet" type="text/css" media="screen" title="default" />
  8. </head>
  9. <body>
  10. <!-- INICIA SITIO -->
  11. <div id="wrapper">
  12.   <!-- INICIA HEADER -->
  13.   <div id="header">
  14.     <!-- INICIA MENU -->
  15.     <div id="menu">
  16.       <ul id="menuList">
  17.         <li id="active"><a href="#">Home</a></li>
  18.         <li><a href="#">Foros </a></li>
  19.         <li><a href="#">Archivos</a></li>
  20.         <li><a href="#">Contacto</a></li>
  21.         <li><a href="#">Login</a></li>
  22.       </ul>
  23.     </div>
  24.     <!-- TERMINA MENU -->
  25.     <h1><a href="#">Infected-FX </a></h1>
  26.   </div>
  27.   <!-- TERMINA HEADER -->
  28.   <!-- INICIA CONTENIDO -->
  29.   <div id="container">
  30.     <div class="post">
  31.       <h2><a href="#">Contenido &amp; links </a></h2>
  32.       <p> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque  vitae orci. Mauris malesuada, orci non convallis malesuada, risus purus  tempus mauris, sed placerat justo tortor non nibh. Integer commodo nibh  non ante. Class aptent taciti sociosqu ad litora torquent per conubia  nostra, per inceptos hymenaeos. Suspendisse aliquam, erat sit amet  mattis consequat, erat nulla bibendum metus, id ullamcorper ipsum lorem<a href="#"> rhoncus</a> erat. Nunc a nulla at mauris dictum dapibus. Suspendisse  potenti. Nunc laoreet accumsan urna. Quisque non velit. Cras eleifend  commodo felis. Nullam sem. Pellentesque molestie. Mauris congue. Nulla  aliquam. Cras ut ipsum nec risus tincidunt ornare.<a href="#"> Morbi hendrerit</a>,  pede a gravida facilisis, ligula sapien sodales nulla, quis congue dui  odio vel dolor. Vivamus rhoncus, nulla a porttitor hendrerit, metus  velit adipiscing purus, sed aliquam lectus enim id purus. Nunc pede  enim, eleifend at, pulvinar eu, pulvinar eget, metus. Donec felis pede,  tincidunt quis, pellentesque vel, malesuada at, pede. Pellentesque  aliquam risus eu turpis.
  33.       <p>Quisque mauris. Ut nulla neque, tincidunt ac, sagittis eu, rutrum  eget, lectus. Vivamus et felis.<a href="#"> Mauris vel elit eget augue condimentum  nonummy</a>. In hac habitasse platea dictumst. Nullam viverra. Maecenas  massa dolor, lobortis ut, gravida vitae, viverra et, diam. Maecenas mi.  Pellentesque orci nisi, tincidunt quis, semper eget, blandit id, diam.  Curabitur sit amet enim. Phasellus congue orci ac nisl. Pellentesque eu  magna. Praesent gravida. Suspendisse erat felis, tincidunt vitae,  facilisis nec, tincidunt malesuada, diam.
  34.     </div>
  35.     <div class="post">
  36.       <h2><a href="#">Blockquote</a></h2>
  37.       <blockquote>
  38.         <p>Etiam suscipit consectetuer mi. Aliquam pede felis, egestas molestie,  fermentum at, scelerisque eu, neque. Aenean aliquet aliquam lacus.  Vivamus gravida leo quis neque. Cras semper, pede nec venenatis  condimentum, mi diam pulvinar tellus, vestibulum bibendum nibh nisi  fringilla pede. Vivamus molestie pharetra sem. Cras ac leo. Suspendisse  nunc justo, pulvinar pharetra, faucibus ac, aliquet et, quam. Etiam  posuere metus non arcu. Donec quis odio eget erat porta convallis.
  39.       </blockquote>
  40.       <p>Phasellus pellentesque justo. Mauris et nibh. Aliquam dictum enim  vestibulum elit. Ut dui velit, fermentum a, pulvinar quis, vestibulum  pharetra, quam. Aenean faucibus. Pellentesque at ante et sapien  sollicitudin imperdiet. Ut rutrum fringilla elit. Proin nec turpis.  Aliquam aliquet ullamcorper orci. Aenean tincidunt sem at nisl. Nulla  placerat tempor sem. In nec nisl at lectus euismod convallis. In  euismod, nunc sit amet dictum accumsan, est mauris tempus ante, eget  varius ante sem dapibus lacus. Vivamus ac ipsum at felis porttitor  mollis. Fusce ac nibh rhoncus libero imperdiet viverra. Vestibulum  tincidunt gravida dui. Nulla tellus nibh, ullamcorper vel, congue sit  amet, sollicitudin a, justo. Praesent euismod auctor sem. Vestibulum  consequat, quam a pellentesque varius, diam diam faucibus urna, porta  imperdiet mauris massa nec arcu.
  41.     </div>
  42.     <div class="post">
  43.       <h2><a href="#">Lista ordenada y desordenada </a></h2>
  44.       <ul>
  45.         <li>Pink Floyd</li>
  46.         <li>Placebo</li>
  47.         <li>Radiohead</li>
  48.         <li>Depeche Mode</li>
  49.         <li>A Perfect Circle</li>
  50.       </ul>
  51.       <ol>
  52.         <li>Uno</li>
  53.         <li>Dos</li>
  54.         <li>Tres</li>
  55.         <li>Cuatro</li>
  56.         <li>Cinco</li>
  57.       </ol>
  58.     </div>
  59.   </div>
  60.   <!-- TERMINA CONTENIDO -->
  61.   <div class="clearfix"></div>
  62.   <!-- INICIA SIDEBAR -->
  63.   <div id="sidebar">
  64.     <h2>Tutoriales</h2>
  65.     <ul>
  66.       <li> <a href="http://infectedfx.net/2006/06/26/contenido-centrado/" rel="bookmark"> Contenido Centrado</a></li>
  67.       <li> <a href="http://infectedfx.net/2006/06/18/valid-flash-object/" rel="bookmark"> Valid Flash Object</a></li>
  68.       <li> <a href="http://infectedfx.net/2006/06/16/zebratables/" rel="bookmark"> ZebraTables</a></li>
  69.       <li> <a href="http://infectedfx.net/2006/06/12/illustrator-pentool/" rel="bookmark"> Illustrator - PenTool</a></li>
  70.       <li> <a href="http://infectedfx.net/2006/06/02/crea-tu-theme-para-wordpress/" rel="bookmark"> Crea tu theme WP </a></li>
  71.       <li> <a href="http://infectedfx.net/2006/04/12/disenando-tablas/" rel="bookmark"> Dise&ntilde;ando tablas</a></li>
  72.       <li> <a href="http://infectedfx.net/2006/04/07/disenando-formularios/" rel="bookmark"> Dise&ntilde;ando formularios</a></li>
  73.     </ul>
  74.     <h2>Weblinks</h2>
  75.     <ul>
  76.       <li><a href="http://localhost/wp/ifx/new">Infected-FX</a></li>
  77.       <li><a href="http://www.lyricsfx.com">LyricsFX</a></li>
  78.       <li><a href="http://www.blogaritmo.com">Blogaritmo</a></li>
  79.       <li><a href="http://www.konceptoradio.com">KonceptoRadio</a></li>
  80.       <li><a href="http://www.zetaweb.net">ZetaWeb</a></li>
  81.       <li><a href="http://www.lamagiadepotter.com">La magia de Potter </a></li>
  82.     </ul>
  83.     <h2>BUSCADORES</h2>
  84.     <ul>
  85.       <li> <a href="http://www.google.com" rel="bookmark"> Google </a></li>
  86.       <li> <a href="http://mx.yahoo.com" rel="bookmark"> Yahoo </a></li>
  87.       <li> <a href="http://www.t1msn.com" rel="bookmark"> T1MSN </a></li>
  88.     </ul>
  89.   </div>
  90.   <!-- TERMINA SIDEBAR -->
  91.   <div class="clear"></div>
  92.   <!-- INICIA FOOTER -->
  93.   <div id="footer">
  94.     <div id="searchForm">
  95.       <fieldset>
  96.       <form id="buscaForm" method="post" action="">
  97.         <p>
  98.           <input type="text" name="textfield" />
  99.           <input type="submit" name="Submit" value="Buscar" />
  100.        
  101.       </form>
  102.       </fieldset>
  103.     </div>
  104.     <ul>
  105.       <li><a href="#">CC</a></li>
  106.       <li><a href="#">Copy</a></li>
  107.       <li><a href="#">Home</a></li>
  108.       <li><a href="#">Contacto</a></li>
  109.       <li><a href="#">About</a></li>
  110.     </ul>
  111.   </div>
  112.   <!-- TERMINA FOOTER -->
  113. </div>
  114. <!--TERMINA SITIO -->
  115. </body>
  116. </html>

 

Le puse comentarios a cada parte para que más o menos se identifiquen con cada parte.

Desde este paso ya podemos checar que nuestro xhtml strict es totalmente válido, para comprobarlo pueden checarlo aquí Validator W3

Lo que hicimos primero fué definir nuestro DOCTYPE para que se interprete como xhtml strict.
Después definimos lo que es nuestro charset si tienen duda sobre esto les dejo esta liga sobre los tipos de charset
Noten que en justo arriba de la etiqueta head estamos mandando llamar nuestra CSS que se llama style.css pueden cambiarlo si gustan.

Ahora si comienza nuestra estructura:

  • wrapper esta será la que controle el ancho del layout.
  • header dentro de este irá el título y meteremos el menú.
  • menu , menuList el menú por eso la existencia del tutorial anterior
  • container aquí pondremos todo nuestro contenido principal
  • post cada una de nuestras entradas será dividida por la clase post
  • sidebar la barra lateral de nuestro layout
  • footer el pie de nuestro layout

Hemos terminado con la primera parte, la siguiente será darle formato a nuestro header y menú.

Demo Download

+

7 comentarios para Layout XHTML y CSS I

  1. Sin ganas de querer darte la contraria, creo que estas usando demasiados (e inútiles) divs. Igual y es para explicar mejor, pero muchas de las cosas que piensas hacer son fácilmente logradas sin necesidad de usar tanto div (como el div wrapper). ¡Espero ver el CSS pronto! :)

  2. Que onda MeTal_oRgY, me parece interesante tu idea de que se usen menos divs, ¿cómo crees que podrían disminuirse? el wrapper es por que el layout que haremos en el tutorial puede ser tanto fijo como líquido para quienes gustan de tenerlo a un tamaño ó que se adapte a la resolución de su pantalla solo con cambiar un valor. ^^

  3. Me alegra que no lo tomaras a mal. El wrapper, por ejemplo, puede ser eliminado completamente y aún así tener la posibilidad de hacer el diseño líquido o fijo; solo hay que asignarle el width (y margin, si es necesario) al body.

    body {
    margin: 0px auto;
    width: 730px;
    }

    Ya sé lo que pensarás ¿Y si tengo que poner un fondo que se repita en X? ¡No hay problema! Esto lo puedes aplicar a la tag html.

    html {
    background: url(imagenes/imagen.jpg) repeat-x;
    }

    Otro div que a primera vista creo se puede eliminar es el div “menu”. La tag “ul” ya es considerada un elemento de bloque, y cualquier valor que quieras aplicar al div menu se puede aplicar a la tag ul, por ejemplo:

    #header ul {
    background-color: #444;
    }

    #header ul li {
    display: inline;
    float: left;
    text-align: center;
    }

    Estoy seguro que la cantidad de divs puede disminuir todavía más, es solo cuestión de analizar bien. Solo te doy la idea, seguramente encontrarás la manera de disminuir los divs. :)

  4. me parece ke metal_orgy está en lo cierto pero aun asi te la curraste hongo. tal como lo tienes es muy bonito de ver y esta muy organizado, pero si lo ke keremos es optimizar codigo y kitar lo maximo posible es mejor reducirlo, aunke daria el mismo resultado y solo cambiarian unas milesimas de segundo mas en cargar la web jijijiji

    espero el css pronto carnal ^^! gracias!

  5. MeTaL_oRgY: Realmente muy interesante, para nada lo tomo a mal, todo lo contrario siempre he dicho que uno nunca acaba de aprender y ni de broma me consideraría medianamente experto en algún tema y está genial la propuesta tal vez podríamos seguir con el tutorial a partir de ahí.

    Eden: Muchas gracias brother hace tiempo que no te veía por estos lados y totalmente deacuerdo con la optimización del código pero en realidad creo que si es importante tratar de hacer el sitio mucho más liviano por si en algún momento llegaras a tener muchísimas páginas seguro adorarías esas milésimas de segundo.

    Ya no tarda mucho en venir la segunda parte ^^

  6. w0w, felicidades por el layout :D y por los comentarios que han surgido a raíz, ya agregué a mi lector de RSS la web jeje :)

    Muy muy interesante, expectante de la hoja de estilos, que seguro que no defrauda!

  7. QUe onda amigos, estoy de los Layouts me interesa muchisimo ya que yo todavia programo con mis tablitas antiguas. alguien tiene mas info sobre esto.

ShowTracksTrackbacks/Pings

  1. [...] Desde Infected-FX traigo estos tutoriales para introducirnos en los layouts XHTML de forma facil. Primera Parte y Segunda Parte. Muy buen trabajo (Que diseño más bonito tiene este blog) [...]

Agrega tu opinión Invitado, tu puedes registrarte o ingresar a tu cuenta .

No será publicado

Get your own Gravatar
Sign up for free