Foros del Web » Creando para Internet » CSS »

[SOLUCIONADO] Contenido de dos div's horizontales

Estas en el tema de Contenido de dos div's horizontales en el foro de CSS en Foros del Web. Buenas, Me estoy peleando con un tema y no lo consigo. Me gustaría hacer como una tabla con dos columnas y el texto alineado, verticalmente, ...
  #1 (permalink)  
Antiguo 09/05/2014, 06:08
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 3 meses
Puntos: 4
Contenido de dos div's horizontales

Buenas,
Me estoy peleando con un tema y no lo consigo.
Me gustaría hacer como una tabla con dos columnas y el texto alineado, verticalmente, arriba. Pero en lugar de usar tablas html, lo quiero hacer con div's y css.
En una columna sólo hay texto y en la otro incluyo un mapa con diseño adaptable y no hay manera de entender porqué el mapa me sale con una altura de 19píxeles, tal como puede verse en la siguiente imagen:



Alguna sugerencia por favor? Gracias

El código html es el siguiente:
Código HTML:
Ver original
  1.         <article>
  2.             <div id="espaiContacte">
  3.                 <div id=col1>
  4.                     Texto .....
  5.                 </div>
  6.                 <div id="col2">
  7.                     <iframe src="https://maps.google.es/maps?f=q&amp;source=s_q&amp;hl=es&amp;geocode=&amp;q=rifos,+13,+sabadell&amp;aq=&amp;sll=41.779505,1.746826&amp;sspn=3.350703,7.13562&amp;ie=UTF8&amp;hq=&amp;hnear=Passatge+dels+Rif%C3%B3s,+13,+08203+Sabadell,+Barcelona&amp;t=m&amp;z=14&amp;iwloc=A&amp;ll=41.532617,2.117664&amp;output=embed"></iframe>
  8.                     <p><small><a href="https://maps.google.es/maps?f=q&amp;source=embed&amp;hl=es&amp;geocode=&amp;q=rifos,+13,+sabadell&amp;aq=&amp;sll=41.779505,1.746826&amp;sspn=3.350703,7.13562&amp;ie=UTF8&amp;hq=&amp;hnear=Passatge+dels+Rif%C3%B3s,+13,+08203+Sabadell,+Barcelona&amp;t=m&amp;z=14&amp;iwloc=A&amp;ll=41.532617,2.117664"><?php echo $mapa[$idioma] ?></a></small>
  9.                 </div>
  10.             </div>
  11.         </article>
  12.         <footer>
  13.             <?php include("includes/inc_peu.php") ?>
  14.         </footer>  
  15.     </section>

Y el código css:
Código CSS:
Ver original
  1. #espaiContacte{
  2.     width:100%;
  3.     background:#FFF;
  4. }
  5. #col1{float:left;
  6.       width:50%
  7. }
  8. #col2{
  9.     float:right;
  10.     width:50%
  11. }
  12. #col2 {
  13.     position:relative;
  14.     height:0;
  15.     overflow:hidden;
  16. }
  17. #col2 iframe{
  18.     position:absolute;
  19.     top:0;
  20.     left:0;
  21.     width:100%;
  22.     height:100%;
  23.     max-width:450px;
  24.     max-height:350px;
  25. }
  26. #col2 a{text-decoration:none;
  27.     color:#000;
  28.     text-align:center;
  29.     font: bold 1.2em/1.0 'Century Gothic';
  30.     width:100%;
  31. }
__________________
Qué fácil cuando lo sabes y qué difícil cuando no
  #2 (permalink)  
Antiguo 09/05/2014, 06:14
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Contenido de dos div's horizontales

Tienes un párrafo sin cerrar.

Si quieres imitar el comportamiento de tablas y celdas, usa display: table y display: table-cell.

Además, estás indicando que #col2 tenga una altura de cero.
  #3 (permalink)  
Antiguo 09/05/2014, 06:51
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: Contenido de dos div's horizontales

Gracias pzin,
- Párrafo sin cerrar te refieres a poner </p> después de small?:
Código HTML:
Ver original
  1. <div id="col2">
  2.                     <iframe src="https://maps.google.es/maps?f=q&amp;source=s_q&amp;hl=es&amp;geocode=&amp;q=rifos,+13,+sabadell&amp;aq=&amp;sll=41.779505,1.746826&amp;sspn=3.350703,7.13562&amp;ie=UTF8&amp;hq=&amp;hnear=Passatge+dels+Rif%C3%B3s,+13,+08203+Sabadell,+Barcelona&amp;t=m&amp;z=14&amp;iwloc=A&amp;ll=41.532617,2.117664&amp;output=embed"></iframe>
  3.                     <p><small><a href="https://maps.google.es/maps?f=q&amp;source=embed&amp;hl=es&amp;geocode=&amp;q=rifos,+13,+sabadell&amp;aq=&amp;sll=41.779505,1.746826&amp;sspn=3.350703,7.13562&amp;ie=UTF8&amp;hq=&amp;hnear=Passatge+dels+Rif%C3%B3s,+13,+08203+Sabadell,+Barcelona&amp;t=m&amp;z=14&amp;iwloc=A&amp;ll=41.532617,2.117664"><?php echo $mapa[$idioma] ?></a></small></p>
  4.                 </div>

En cuanto a indicar height = 0 en col2, es el código que me he descargado para hacer el mapa responsive. Si lo elimino no pasa nada.

Ya he usado display:table, display:table-row y display:table-cell pero consigo lo mismo:

Código HTML:
Ver original
  1.             <div id="espaiContacte">
  2.                 <div id="filaContacte">
  3.                     <div id=col1>
  4.                         <?php echo $contacte[$idioma]; ?>
  5.                     </div>
  6.                     <div id="col2">
  7.                         <iframe src="https://maps.google.es/maps?f=q&amp;source=s_q&amp;hl=es&amp;geocode=&amp;q=rifos,+13,+sabadell&amp;aq=&amp;sll=41.779505,1.746826&amp;sspn=3.350703,7.13562&amp;ie=UTF8&amp;hq=&amp;hnear=Passatge+dels+Rif%C3%B3s,+13,+08203+Sabadell,+Barcelona&amp;t=m&amp;z=14&amp;iwloc=A&amp;ll=41.532617,2.117664&amp;output=embed"></iframe>
  8.                         <p><small><a href="https://maps.google.es/maps?f=q&amp;source=embed&amp;hl=es&amp;geocode=&amp;q=rifos,+13,+sabadell&amp;aq=&amp;sll=41.779505,1.746826&amp;sspn=3.350703,7.13562&amp;ie=UTF8&amp;hq=&amp;hnear=Passatge+dels+Rif%C3%B3s,+13,+08203+Sabadell,+Barcelona&amp;t=m&amp;z=14&amp;iwloc=A&amp;ll=41.532617,2.117664"><?php echo $mapa[$idioma] ?></a></small></p>
  9.                     </div>
  10.                 </div>
  11.             </div>
  12.         </article>

Y el código css:
Código CSS:
Ver original
  1. #espaiContacte{
  2.     display:table;
  3.     width:100%;
  4. }
  5. #filaContacte{
  6.     display:table-row;
  7. }
  8. #col1{
  9.     display:table-cell;
  10.     float:left;
  11.     width:50%;
  12. }
  13. #col2{
  14.     display:table-cell;
  15.     float:right;
  16.     width:50%;
  17. }
  18. #col2 {
  19.     position:relative;
  20.     height:0;
  21.     overflow:hidden;
  22. }
  23. #col2 iframe{
  24.     position:absolute;
  25.     top:0;
  26.     left:0;
  27.     width:100%;
  28.     height:100%;
  29.     max-width:450px;
  30.     max-height:350px;
  31. }
  32. #col2 a{text-decoration:none;
  33.     color:#000;
  34.     text-align:center;
  35.     font: bold 1.2em/1.0 'Century Gothic';
  36.     width:100%;
  37. }
__________________
Qué fácil cuando lo sabes y qué difícil cuando no
  #4 (permalink)  
Antiguo 09/05/2014, 06:55
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Contenido de dos div's horizontales

Cuando flotas un elemento, el display es computado automáticamente como block, anulando cualquier otro valor de ese atributo.
  #5 (permalink)  
Antiguo 09/05/2014, 07:35
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: Contenido de dos div's horizontales

Gracias pzin,
He cambiado el float por align.
__________________
Qué fácil cuando lo sabes y qué difícil cuando no
  #6 (permalink)  
Antiguo 09/05/2014, 07:56
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: Contenido de dos div's horizontales

Buenas,
Me falla un pequeño detalle,la altura de las celdas es de 238píxeles. Porqué no es lo que ocupa el mapa, que debería ocupar 350píxeles?

Gracias.

Código CSS:
Ver original
  1. #espaiContacte{
  2.     display:table;
  3.     width:100%;
  4.     height:100%;
  5. }
  6. #filaContacte{
  7.     display:table-row;
  8. }
  9. #col1{
  10.     display:table-cell;
  11.     align:left;
  12.     vertical-align:top;
  13.     width:50%;
  14. }
  15. #col2{
  16.     display:table-cell;
  17.     align:right;
  18.     width:50%;
  19. }
  20. #col2{
  21.     position:relative;
  22.     height:0;
  23.     overflow:hidden
  24. }
  25. #col2 iframe{
  26.     position:absolute;
  27.     top:0;
  28.     left:0;
  29.     width:100%;
  30.     height:100%;
  31.     max-width:450px;
  32.     max-height:350px;
  33. }
  34. #col2 a{
  35.     text-decoration:none;
  36.     color:#000;
  37.     text-align:center;
  38.     font: bold 1.2em/1.0 'Century Gothic';
  39.     width:100%;
  40. }

Queda así:


Gracias.
__________________
Qué fácil cuando lo sabes y qué difícil cuando no
  #7 (permalink)  
Antiguo 09/05/2014, 08:14
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Contenido de dos div's horizontales

Cita:
Iniciado por mblascog Ver Mensaje
He cambiado el float por align.
No existe eso en CSS. Quítalo. No hace falta que flotes nada, ya que el comportamiento de esos elementos son los de una celda.

Cita:
Iniciado por mblascog Ver Mensaje
Me falla un pequeño detalle,la altura de las celdas es de 238píxeles. Porqué no es lo que ocupa el mapa, que debería ocupar 350píxeles?
He probado tu código y la altura del mapa siempre dependerá del contenido de la celda de la izquierda, ¿cuál es el problema?
  #8 (permalink)  
Antiguo 09/05/2014, 08:19
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: Contenido de dos div's horizontales

Gracias pzin, pero justo lo que quiero es que la altura del mapa marque la altura de las celdas.
La celda de la derecha siempre será menos alta, pero ya me está bien.
__________________
Qué fácil cuando lo sabes y qué difícil cuando no
  #9 (permalink)  
Antiguo 09/05/2014, 10:43
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: Contenido de dos div's horizontales

Gracias pzin,
Dices que align no existe en CSS, pero si quiero alinear el texto de la celda de la izquierda a la izquierda, y el de la derecha a la derecha, cómo se hace?
__________________
Qué fácil cuando lo sabes y qué difícil cuando no
  #10 (permalink)  
Antiguo 09/05/2014, 12:41
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Contenido de dos div's horizontales

Con text-align.

Deberías mirarte algún manual de CSS. En librosweb.es alguno hay.
  #11 (permalink)  
Antiguo 10/05/2014, 02:47
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: Contenido de dos div's horizontales

Buenas,
Fue un fallo, quería decir text-align en lugar de align.

He conseguido que el mapa de google sea responsive, pero no consigo que los horarios y dirección queden a la izquierda y el mapa a la derecha.

He probado todo, cuando consigo que salga el horario a la derecha y el mapa a la izquierda luego el mapa no es responsive.

Ya no sé que más hacer, si me sugeris algo, estaré agradecida.
Se puede ver el ejemplo aquí

Gracias.

El codigo css es este:
Código CSS:
Ver original
  1. section article div#contenidorContacte{
  2.     max-width:560px;
  3.     margin:0 auto;
  4.     text-align:left;
  5. }
  6. section article div#espaiContacte{position:relative;
  7.     margin:0 auto;
  8.     height:0px;
  9.     width:100%;
  10.     padding-top:56.25%
  11. }
  12. section article div#espaiContacte iframe {position:absolute;
  13.     top:0;
  14.     left:0;
  15.     width:100%;
  16.     height:100%;
  17. }

Y el código html:
Código HTML:
Ver original
  1.         <article>
  2.             <div id="contenidorContacte">
  3.                 <?php echo $contacte[$idioma];?>
  4.                 <div id="espaiContacte">
  5.                     <iframe src="https://maps.google.es/maps?f=q&amp;source=s_q&amp;hl=es&amp;geocode=&amp;q=rifos,+13,+sabadell&amp;aq=&amp;sll=41.779505,1.746826&amp;sspn=3.350703,7.13562&amp;ie=UTF8&amp;hq=&amp;hnear=Passatge+dels+Rif%C3%B3s,+13,+08203+Sabadell,+Barcelona&amp;t=m&amp;z=14&amp;iwloc=A&amp;ll=41.532617,2.117664&amp;output=embed" width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0"></iframe>
  6.                     <br/><small><a href="https://maps.google.es/maps?f=q&amp;source=embed&amp;hl=es&amp;geocode=&amp;q=rifos,+13,+sabadell&amp;aq=&amp;sll=41.779505,1.746826&amp;sspn=3.350703,7.13562&amp;ie=UTF8&amp;hq=&amp;hnear=Passatge+dels+Rif%C3%B3s,+13,+08203+Sabadell,+Barcelona&amp;t=m&amp;z=14&amp;iwloc=A&amp;ll=41.532617,2.117664"><?php echo $mapa[$idioma] ?></a></small>
  7.                 </div>
  8.             </div>
  9.         </article>
  10.         <footer>
  11.             <?php include("includes/inc_peu.php") ?>
  12.         </footer>  
  13.     </section>
__________________
Qué fácil cuando lo sabes y qué difícil cuando no
  #12 (permalink)  
Antiguo 10/05/2014, 03:08
 
Fecha de Ingreso: julio-2010
Ubicación: A Coruña
Mensajes: 505
Antigüedad: 13 años, 8 meses
Puntos: 60
Respuesta: Contenido de dos div's horizontales

Toda la info de contacto metela dentro de un div y le pones un float: left (acuerdate de ponerle un ancho).... y al mapa le metes tambien un float: left con un ancho que sumado al ancho del div que añadiste no sean más grandes que su contenedor.
__________________
http://zeromm.es/
Diseñador Web | Experto en Responsive Design, CSS3 y Optimización Web.
  #13 (permalink)  
Antiguo 10/05/2014, 06:58
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: Contenido de dos div's horizontales

Gracias pzin, he hecho lo que me has dicho, pero hay algo que me fastidia el alto de article. El fondo de la información i del mapa, tiene que ser gris claro. El gris oscuro es el color del footer. Así queda:



Dejo un ejemplo aquí
__________________
Qué fácil cuando lo sabes y qué difícil cuando no
  #14 (permalink)  
Antiguo 11/05/2014, 14:14
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: Contenido de dos div's horizontales

Ya he visto lo que pasaba. Al final lo he incluido absolutamente todo dentro de un div, y problema resuelto
__________________
Qué fácil cuando lo sabes y qué difícil cuando no

Etiquetas: background, color, contenido, html
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 14:24.