Foros del Web » Creando para Internet » CSS »

[SOLUCIONADO] Elementos responsive

Estas en el tema de Elementos responsive en el foro de CSS en Foros del Web. Hola buenas Estoy haciendo una web y me gustaría tener 3 bloques en horizontal y si la web se ve desde dispositivos móviles que estos ...
  #1 (permalink)  
Antiguo 02/05/2015, 10:11
 
Fecha de Ingreso: abril-2015
Mensajes: 37
Antigüedad: 9 años, 8 meses
Puntos: 0
Elementos responsive

Hola buenas
Estoy haciendo una web y me gustaría tener 3 bloques en horizontal y si la web se ve desde dispositivos móviles que estos bloques se pusiesen uno debajo del otro y ocupasen el ancho entero de la pantalla
Un saludo!
  #2 (permalink)  
Antiguo 02/05/2015, 10:19
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 4 meses
Puntos: 2114
Respuesta: Elementos responsive

Pues pones que para ancho largo sea:
Código CSS:
Ver original
  1. float: left;
  2. width: 33.3%;

Y para móviles
Código CSS:
Ver original
  1. float: none;
  2. width: auto;
__________________
(:
  #3 (permalink)  
Antiguo 02/05/2015, 10:26
 
Fecha de Ingreso: abril-2015
Mensajes: 37
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Elementos responsive

Pero como hago para que se ajuste automáticamente si es móvil?
  #4 (permalink)  
Antiguo 02/05/2015, 10:31
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 4 meses
Puntos: 2114
Respuesta: Elementos responsive

Usando media-queries.
__________________
(:
  #5 (permalink)  
Antiguo 02/05/2015, 10:52
Avatar de AngelKrak  
Fecha de Ingreso: noviembre-2014
Mensajes: 917
Antigüedad: 10 años, 1 mes
Puntos: 91
Respuesta: Elementos responsive

algo asi amigo?
http://codepen.io/AngelKrak/pen/zGGmpO
  #6 (permalink)  
Antiguo 02/05/2015, 11:06
 
Fecha de Ingreso: abril-2015
Mensajes: 37
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Elementos responsive

Si algo asi, bootstrap no tiene una funcion para eso?
Muchas gracias!
  #7 (permalink)  
Antiguo 02/05/2015, 11:30
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 4 meses
Puntos: 2114
Respuesta: Elementos responsive

Un mal código Angel. No es lo mismo width:auto que width:100%. Que por cierto, deberías de publicar el código aquí en el foro en lugar de publicar solo fuera del foro.

Bootstrap trae su propio sistema de grillas que es responsivo: http://getbootstrap.com/examples/grid/
__________________
(:
  #8 (permalink)  
Antiguo 02/05/2015, 11:50
Avatar de AngelKrak  
Fecha de Ingreso: noviembre-2014
Mensajes: 917
Antigüedad: 10 años, 1 mes
Puntos: 91
Respuesta: Elementos responsive

grax por rectificarme pzin, no sabia las diferencias antes :(

HTML:
Código HTML:
Ver original
  1. <div class="block1"><span>Bloque 1</span></div>
  2. <div class="block2"><span>Bloque 2</span></div>
  3. <div class="block3"><span>Bloque 3</span></div>

CSS:
Código CSS:
Ver original
  1. div {
  2.   width: 33%;
  3.   height: 150px;
  4.   background: black;
  5.   color: white;
  6.   border-right: 2px white solid;
  7.   float: left;
  8. }
  9. span {
  10.   padding: 6px;
  11. }
  12.  
  13. @media all and (max-width: 612px) {
  14.   div {
  15.     float: none;
  16.     width: auto;
  17.     border-bottom: 2px white solid;
  18.   }
  19. }

Online:
http://codepen.io/AngelKrak/pen/zGGmpO
  #9 (permalink)  
Antiguo 02/05/2015, 12:14
Avatar de fede5426  
Fecha de Ingreso: diciembre-2014
Ubicación: Córdoba
Mensajes: 446
Antigüedad: 10 años
Puntos: 208
Respuesta: Elementos responsive

Lo que tiene bootstrap es que es Mobile First.. dalfageme si no sabes que significa esto, es que trabaja de pantallas de menor a mayor tamaño.. es decir, si aplicas un estilo para móviles, usando por ejemplo col-xs-5, se va a ver así para todos los dispositivos, pero si usas solo col-lg-5, solo va ocupar 5 columnas en pantallas grandes, me explico?

Para tu proyecto, debería quedarte así:

Código HTML:
Ver original
  1. <div class="row">
  2.   <div class="col-xs-12 col-sm-4"></div>
  3.   <div class="col-xs-12 col-sm-4"></div>
  4.   <div class="col-xs-12 col-sm-4"></div>
  5. </div>

Con col-xs-12 indicas que cuando se vea en pantallas de móviles (xs) ocupen todo el ancho de la pantalla.. y con col-sm-4 indicas que en móviles horizontal y el resto de dispositivos (de small en adelante), se vean 3 elementos por fila, es decir que ocupen solo 4 columnas (4 + 4 + 4 = 12 del total de bootstrap).

Soy nuevo en BS, pero de esa manera lo tengo entendido, si me equivoque en algo por favor que alguien me corrija.

Saludos
  #10 (permalink)  
Antiguo 02/05/2015, 15:23
 
Fecha de Ingreso: abril-2015
Mensajes: 37
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Elementos responsive

Muchas gracias a todos ya funciona perfectamente! Un saludo
  #11 (permalink)  
Antiguo 03/05/2015, 03:55
 
Fecha de Ingreso: abril-2015
Mensajes: 37
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Elementos responsive

Cita:
Iniciado por pzin Ver Mensaje
Un mal código Angel. No es lo mismo width:auto que width:100%. Que por cierto, deberías de publicar el código aquí en el foro en lugar de publicar solo fuera del foro.

Bootstrap trae su propio sistema de grillas que es responsivo: [url]http://getbootstrap.com/examples/grid/[/url]
Una última duda, como puedo añadirle un margin? Es que al hacerlo el último bloque se baja a la siguiente línea?
  #12 (permalink)  
Antiguo 03/05/2015, 04:30
Avatar de fede5426  
Fecha de Ingreso: diciembre-2014
Ubicación: Córdoba
Mensajes: 446
Antigüedad: 10 años
Puntos: 208
Respuesta: Elementos responsive

Si usaste "width:33%;" bajale el valor.. Anda probando 32% 31% .. Al ocupar cada bloque el 33% de los pixeles, suman 99%, si agregas un margen son mas pixeles que cubrir y solo te queda el 1%. Por eso, bajale el valor hasta que se acomoden.


Etiquetas: Ninguno
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 20:29.