Comunidad de diseño web y desarrollo en internet online

Centrar 3 divs. Novato Inside

Citar            
MensajeEscrito el 24 Jun 2008 08:28 am
Buenas, sigo aprendiendo a maquetar usando CSS pero muchas veces pese a tener guías y demás no doy con la tecla. He probado con varios ejemplos de la web pero al final ninguno me ha surgido efecto.

http://img170.imageshack.us/my.php?image=80149212kz7.jpg

Os comento, como podeis ver en la foto, tengo un div contenedor y dentro, 3 fotos, 3 separadores y 3 columnas de texto. No se si estoy planteando bien la maquetación, lo que tengo pensado es, crear un div para cada imagen, un div para cada separador y un div para cada columna de texto. Lo he intentado así y no hay manera. El maldito explorer muestra lo que le da la gana. La foto es el template hecho en Photoshop, pero es que estoy ya algo desesperado, me gustaría que alguien me hechara un cablecito encaminandome al código correcto. Gracias!

Por charliechin

19 de clabLevel



 

opera
Citar            
MensajeEscrito el 24 Jun 2008 09:34 am
Pon el código con el que estés trabajando, y te iremos ayudando.

tips:
Necesitarás usar tres divs, uno para cada columna, y el CSS "float", para que se pongan una columna tras otra.
Dentro de cada columna, no tienes que poner más divs. Todo puede ir dentro:

Código :

<div class="columna">
<img class="foto" />
<span class="title"></span>
<hr class="separador" />
<p class="descripción"></p>
</div>

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox
Citar            
MensajeEscrito el 24 Jun 2008 10:35 am
Gracias por responder, ahora mismo pongo el código.

HTML

Código :

<div id="contenedor">
<div id="uno">Primero iría aqui la foto

   <p>Luego un titulo y debajo el separador</p>
   <hr />
    <p>Y aquí la descripción entera de la foto</p>
</div>
<div id="dos">Primero iría aqui la foto

   <p>Luego un titulo y debajo el separador</p>
   <hr />
    <p>Y aquí la descripción entera de la foto</p></div>
<div id="tres">Primero iría aqui la foto

   <p>Luego un titulo y debajo el separador</p>
   <hr />
    <p>Y aquí la descripción entera de la foto</p></div>
</div>


Y CSS en cuestión

Código :


#contenedor{
   border:1px solid red;
   width: 900px;
   margin: 0px auto;
   border: solid 1px #000;
   height:260px;
   
}

#uno, #dos, #tres{
   width:182px;
   float:left;
   margin-left:30px;
   margin-top:40px;
}

#uno{
   border:1px solid black;
}
#dos{
   border:1px solid black;
   
}
#tres{
   border:1px solid black;
   
}


Lo que no me queda claro:

1) ¿Cómo podría hacer que se distribuyan las 3 divs al centro y centrado?
2) Pese a que le paso el validador, en Dreamweaver el div #uno me sale subrallado y me dice lo siguiente:

"Cuando se aplica un margen a un cardro flotante en el lado de la dirección de flotación, el margen se duplica. Este error sólo afecta al primer cuadro flotante de una serie de uno o varios cuadros flotantes"

no acabo de entender este "error" Gracias por responder y por leerme :D Así da gusto.

Por charliechin

19 de clabLevel



 

opera
Citar            
MensajeEscrito el 24 Jun 2008 12:23 pm
Pon la URL de la página también.
Así es más fácil para nosotros hacer cambios en ella, online, sin tener que pasar al Notepad.

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox
Citar            
MensajeEscrito el 24 Jun 2008 12:39 pm

Por charliechin

19 de clabLevel



 

opera
Citar            
MensajeEscrito el 24 Jun 2008 01:08 pm
Debes controlar el ancho del "#contenedor"
El "#contenedor" te queda centrado, pero lo que hay dentro, no. Eso es porque se alinea a la izquierda. Y no tiene solución.
Lo que debes hacer, es poner el ancho del "#contenedor", adecuado a su contenido (es decir: ANCHO FIJO)
¿cuánto?

Pues mides lo que hay dentro, y lo pones.
En tu caso:
(182[px/columna]+1*2[px/borde/columna] + 30[px/margen]) x 3[columnas] = 642[px] (de ancho estricto)
Pero como quieres que tenga un margen a la derecha también (o eso me imagino), pues se lo has de sumar:
642[px] + 30[px/margen_derecho] = 672[px]

Así, con un ancho de 672px para el "#contenedor" te quedará "bien"

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.