Foros del Web » Creando para Internet » Diseño web »

Maquetación con XHTML y CSS

Estas en el tema de Maquetación con XHTML y CSS en el foro de Diseño web en Foros del Web. Hola a todos. Antes que nada, puse este tema aquí porque pensé que era mejor ponerlo en XHTML o CSS ya que son muy específicos. ...
  #1 (permalink)  
Antiguo 13/05/2009, 13:25
 
Fecha de Ingreso: julio-2008
Ubicación: Córdoba, Argentina
Mensajes: 266
Antigüedad: 15 años, 9 meses
Puntos: 26
Maquetación con XHTML y CSS

Hola a todos.
Antes que nada, puse este tema aquí porque pensé que era mejor ponerlo en XHTML o CSS ya que son muy específicos. Por otra parte, sé que estoy muy lejos de ser el primero en preguntar sobre este tema, pero me parece que mi caso es algo especial y no sé si me recomiendan intentar con div o seguir usando tablas.
El tema es el siguiente: soy uno de los tantos usuarios que deciden probar las capas para reemplazar a las tables, ya que por lo visto, hay muchos argumentos en contra de éstas últimas como única forma de maquetación. He intentado, pero lamentablemente sólo s eve el logo y el resto no aparece; sin dudas me falta mucho por saber para lograrlo, por eso recurro a ustedes.
Dejo una imagen para que vean cómo está formada mi web usando tablas y más abajo explico con más datos:



NOTA: Si se fijan, al sumar los valores de ancho en los menúes, contenido y líneas 1 y 2, se obtiene 758 y no 760, eso es porque quiero dejar un pixel a cada extremo para un borde que engloba toda la página.

Mi web está formada básicamente de un logo en la parte superior (que es sólo una imagen de 760x152 px), otro espacio debajo del mismo muy pequeño que contiene una imagen con un vínculo (línea 3), y 5 columnas debajo que son 2 menúes laterales, el contenido al centro y entre ellos unas líneas que los dividen, las mismas son imágenesp ara darle más decoración.
He intentado pasar de la tabla a div pero se me hace complicado, sólo he visto ejemplos con hasta 3 columnas, pero no tantas como yo busco.
He pensado juntar el logo con la línea 3 que hay debajo (la llamo línea, pero en realidad es un espacio que lleva una imagen como dije antes), y también juntar cada menú lateral con la línea separativa que tienen al lado usando una imagen de fondo en ese div que incluya tanto el fondo del menú como la línea. La verdad suena más sencillo hacerlo como acabo de decir, pero mi intención es diseñar la web tal cual estaba antes, como se ve en la imagen de arriba.
Otro detalle... si se fijan en la imagen que he colocado, en la parte que dice línea 1 hay un pequeño espacio en la parte inferior, esa celda es donde tengo una imagen con flechas que sirven para ir al top de la página (#); supongo que esto no es problema ya que iría un div dentro del div de linea 1.
También me gustaria agregar un pie debajo para el copyright, aunque eso no lo he colocado en la imagen y estaría, visualmente, fuera de la "tabla".
Bueno, para finalizar, dejo el código XHTML y el CSS para que lo analicen, ya sé que debe tener muchos errores y por eso lo dejo, a ver si me pueden ayudar.
Código html:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml"
  4. xml:lang="es" lang="es">
  5.  
  6. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  7. <title>Titulo</title>
  8. <link href="estilo.css" rel="stylesheet" type="text/css" />
  9. </head>
  10. <div id="contenedor">
  11.     <div id="logo"></div>
  12.     <div id="lineatres"></div>
  13.     <div id="menuizquierdo"></div>
  14.     <div id="lineauno"></div>
  15.     <div id="contenido"></div>
  16.     <div id="lineados"></div>
  17.     <div id="menuderecho"></div>
  18.     <div id="pie"></div>
  19. </div>
  20. </body>
  21. </html>

NOTA: En el CSS sólo incluyo lo referido a los div, ya que considero innecesario mostrar el formato de a, p, h1, h2, h3, etc. porque no tienen nada raro. Los colores son a modo de ejemplo.

Código css:
Ver original
  1. body {
  2.     background-color: #000;
  3.     color: #FFF;
  4.     font-family: Verdana, Geneva, Arial, helvetica, sans-serif;
  5.     font-size: 9px;
  6. }
  7.  
  8. #contenedor {
  9.     width: 760px;
  10.     margin: 0px auto;
  11.     text-align: left;
  12. }
  13.  
  14. #logo {
  15.     background-image: url(imagenes/logo.jpg);
  16.     width: 760px;
  17.     height: 152px;
  18. }
  19.  
  20. #lineatres {
  21.     background-image: url(imagenes/linea_3.jpg);
  22.     width: 760px;
  23.     height: 13px;
  24. }
  25.  
  26. #menuizquierdo {
  27.     background-color: #FF0000;
  28.     width: 158px;
  29.     float: left;
  30. }
  31.  
  32. #lineauno {
  33.     background-image: url(imagenes/linea_1.jpg);
  34.     margin-left: 158px;
  35.     width: 17px;
  36. }
  37.  
  38. #contenido {
  39.     background-color: #000;
  40.     width: 484px;
  41. }
  42.  
  43. #lineados {
  44.     background-image: url(imagenes/linea_2.jpg);
  45.     margin-right: 93px;
  46.     width: 9px;
  47. }
  48.  
  49. #menuderecho {
  50.     background-color: #F00;
  51.     width: 93px;
  52.     float: right;
  53. }
  54.  
  55. #pie {
  56.     clear: both;
  57. }
No quiero márgenes entre los div, en la tabla usaba borde 0 y cellspacing igual para dejar todo pegado.
Siento haber sido tan complicado al explicarme, espero que se entienda
Saludos y gracias de antemano.
  #2 (permalink)  
Antiguo 16/05/2009, 06:40
Avatar de jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 21 años, 9 meses
Puntos: 361
Respuesta: Maquetación con XHTML y CSS

Hola:

Deberías haber puesto tu duda en el foro de CSS, te habrían contestado antes.

Yo te aconsejo que maquetes con CSS como estás intentando y en tu caso compara este código con el que tu tienes:

Código:
body {
    background-color: #000;
    color: #FFF;
    font-family: Verdana, Geneva, Arial, helvetica, sans-serif;
    font-size: 9px;
}
 
#contenedor {
    width: 760px;
    margin: 0px auto;
    text-align: left;
}
 
#logo {
    background-image: url(imagenes/logo.jpg);
    width: 760px;
    height: 152px;
}
 
#lineatres {
    background-image: url(imagenes/linea_3.jpg);
    width: 760px;
    height: 13px;
}
 
#menuizquierdo {
    background-color: #FF0000;
    width: 158px;
    float: left;
}
 
#lineauno {
    background-image: url(imagenes/linea_1.jpg);
    /*margin-left: 158px;*/
    float:left;
    width: 17px;
}
 
#contenido {
    background-color: #000;
    width: 483px;
    float:left;
}
 
#lineados {
    background-image: url(imagenes/linea_2.jpg);
    /*margin-right: 93px;*/
    float:left;
    width: 9px;
}
 
#menuderecho {
    background-color: #F00;
    width: 93px;
    float: left;
}
 
#pie {
    clear: both;
}
En el caso del width del contenido lo he reducido un px porque sino no cabe en los 760px del contenedor y rompe el flujo de la página y se situa a la izquierda. Eso lo adaptas tu según los margin, padding y border que pongas.

Saludos.

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:38.