Foros del Web » Creando para Internet » CSS »

[SOLUCIONADO] Problema con web responsive

Estas en el tema de Problema con web responsive en el foro de CSS en Foros del Web. Buenos días, tengo este código: < @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original !DOCTYPE html> < html lang = "es" > < head >   < ...
  #1 (permalink)  
Antiguo 20/12/2017, 03:37
 
Fecha de Ingreso: enero-2011
Ubicación: Zaragoza
Mensajes: 98
Antigüedad: 13 años, 2 meses
Puntos: 1
Problema con web responsive

Buenos días, tengo este código:

<
Código HTML:
Ver original
  1. !DOCTYPE html>
  2. <html lang="es">
  3.   <title>Cafetería-Bar Tonik</title>
  4.   <meta charset="utf-8">
  5.   <meta name="viewport" content="width=device-width, initial-scale=1">
  6.   <link rel="stylesheet" href="css/bootstrap.min.css">
  7.   <link href="css/bootstrap-theme.css" rel="stylesheet">
  8.   <script type="text/javascript" src="js/jquery.min.js"></script>



Código CSS:
Ver original
  1. <style>
  2.  
  3.   @import url('https://fonts.googleapis.com/css?family=Lobster');
  4.   body {
  5.     font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
  6.     -webkit-background-size: cover;
  7.     -moz-background-size: cover;
  8.     background-size: cover;
  9.     -o-background-size: cover;
  10. }
  11.   #inicio {padding-top:40px;height:700px;}
  12.   #carta {padding-top:50px;height:700px; overflow:auto;}
  13.   #galeria {padding-top:50px;height:700px; overflow:auto;}
  14.   #menu {padding-top:50px;height:700px;}
  15.   #contacto {padding-top:50px;height:700px;}
  16.   .display-3
  17.   {
  18.       text-align:center;
  19.       font-family: "Avant Garde", Avantgarde, "Century Gothic", CenturyGothic, "AppleGothic", sans-serif;
  20.      color: #e0dfdc;
  21.  
  22.   letter-spacing: .1em;
  23.   text-shadow: 0 -1px 0 #fff, 0 1px 0 #2e2e2e, 0 2px 0 #2c2c2c, 0 3px 0 #2a2a2a, 0 4px 0 #282828, 0 5px 0 #262626, 0 6px 0 #242424, 0 7px 0 #222, 0 8px 0 #202020, 0 9px 0 #1e1e1e, 0 10px 0 #1c1c1c, 0 11px 0 #1a1a1a, 0 12px 0 #181818, 0 13px 0 #161616, 0 14px 0 #141414, 0 15px 0 #121212, 0 22px 30px rgba(0, 0, 0, 0.9);
  24. }
  25. .direccion
  26. {
  27.     text-align:center;
  28.       font-family: "Avant Garde", Avantgarde, "Century Gothic", CenturyGothic, "AppleGothic", sans-serif;
  29.      color: #e0dfdc;
  30.  
  31.   letter-spacing: .1em;
  32.   text-shadow: 0 -1px 0 #fff, 0 1px 0 #2e2e2e, 0 2px 0 #2c2c2c, 0 3px 0 #2a2a2a, 0 4px 0 #282828, 0 5px 0 #262626, 0 6px 0 #242424, 0 7px 0 #222, 0 8px 0 #202020, 0 9px 0 #1e1e1e, 0 10px 0 #1c1c1c, 0 11px 0 #1a1a1a, 0 12px 0 #181818, 0 13px 0 #161616, 0 14px 0 #141414, 0 15px 0 #121212, 0 22px 30px rgba(0, 0, 0, 0.9);
  33. }
  34. .col-centrada{
  35.     float: none;
  36.     margin: 0 auto;
  37.     font-family: 'Lobster', cursive;
  38. }
  39.  
  40. </style>

Código HTML:
Ver original
  1. </head>
  2. <body data-spy="scroll" data-target=".navbar" data-offset="50">
  3.  
  4. <nav class="navbar navbar-inverse navbar-fixed-top" style="font-family: 'Lobster', cursive; font-size:20px;">
  5.   <div class="container-fluid">
  6.     <div class="navbar-header">
  7.         <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
  8.           <span class="sr-only">Menú</span>
  9.           <span class="icon-bar"></span>
  10.           <span class="icon-bar"></span>
  11.           <span class="icon-bar"></span>                        
  12.       </button>
  13.       <a class="navbar-brand" href="#">Menú</a>
  14.     </div>
  15.     <div>
  16.       <div class="collapse navbar-collapse" id="myNavbar">
  17.         <ul class="nav navbar-nav">
  18.           <li class="active"><a href="#inicio">Inicio</a></li>
  19.           <li><a href="#carta">Carta</a></li>
  20.           <li><a href="#galeria">Galería</a></li>
  21.           <li><a href="#menu">Menu Especial</a></li>
  22.           <li><a href="#contacto">Contacto</a></li>
  23.         </ul>
  24.       </div>
  25.     </div>
  26.   </div>
  27. </nav>    
  28.  
  29. <div id="inicio" class="container-fluid" style="background-color:#804040;">
  30.     <div class="jumbotron" style="background-color:#804040;">
  31.         <h1 class="display-3">Cafetería Tonik</h1>
  32.         <p class="direccion">Avda. Puerta de Sancho, 12 - Zaragoza</p>
  33.     </div>
  34.    
  35.     <div class="row">
  36.         <div class="col-sm-4">
  37.             <p> Esto es para probar </p>
  38.         </div>
  39.         <div class="col-sm-4">
  40.             <img class="center-block" alt="Bootstrap Image Preview" width="450px" src="fondo/Cafeteria-tonik-fondo-transparente-sin-letra.png">
  41.         </div>
  42.         <div class="col-sm-4">
  43.             <p> Esto es para probar </p>
  44.         </div>
  45.     </div>
  46. </div>
  47.  
  48. <div id="carta" class="container-fluid" style="background-color:#000;">
  49. <div class="col-sm-12">
  50.     <p style="font-family: 'Lobster', cursive; font-size:58px; text-align:center; color:#C63;">Carta</p>
  51.     <br>
  52. </div>
  53. <div class="container-fluid">
  54.         <div class="col-sm-12 col-centrada">
  55.         <table class="table">
  56.          <tr>
  57.            
  58.          </tr>

Código HTML:
Ver original
  1. <?php
  2.     include ("cafeteria_tonik_conexion.php");
  3.      $mi_id = 0;
  4.      
  5. $consulta1 = "SELECT * FROM secciones_carta";
  6. $resultado = mysqli_query($cafeteria_tonik_conexion, $consulta1);
  7. while ($fila=mysqli_fetch_array($resultado))
  8. {
  9.      
  10.      echo '<thead style="font-size:25px; color:#093;">
  11.     <tr>
  12.       <th>'.$fila['seccion_carta'].'</th>
  13.     </tr>
  14.   </thead>';
  15.    
  16.     $consulta2 ="SELECT * FROM platos WHERE id_secciones = '".$fila['id_secciones_carta']."'";
  17.     $resultado2 = mysqli_query($cafeteria_tonik_conexion, $consulta2);
  18.     while ($fila2=mysqli_fetch_array($resultado2))
  19.     {
  20.         if ( $fila2['id_secciones'] == 1 or $fila2['id_secciones'] == 2 or $fila2['id_secciones'] == 3 or $fila2['id_secciones'] == 7)
  21.         {
  22.             echo '<tr style="color:#FFF; font-size:20px;">
  23.                         <td style="color:#C63;">'.$fila2['titulo'].'</td>
  24.                         <td>'.$fila2['plato'].'</td>
  25.                         <td>'.$fila2['precio'].'€</td>
  26.             </tr>';      
  27.         }
  28.         else
  29.         {
  30.             echo '<tr style="color:#FFF; font-size:20px;">
  31.                         <td>'."".'</td>
  32.                         <td>'.$fila2['plato'].'</td>
  33.                         <td>'.$fila2['precio'].'€</td>
  34.             </tr>';
  35.         }
  36.     }
  37.    
  38.  }
  39.  mysqli_free_result($resultado);
  40.  mysqli_free_result($resultado2);
  41.   ?>
Código HTML:
Ver original
  1. </div>
  2. </div>
  3.  
  4. </div>
  5.  
  6. <div id="galeria" class="container-fluid">
  7.     <link href="bootstrap.min.css" rel="stylesheet">
  8.     <link href="css/bootstrap-theme.css" rel="stylesheet">
  9.     <!--<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet">-->
  10.     <link href="css/jquery.bsPhotoGallery.css" rel="stylesheet">

Código Javascript:
Ver original
  1. <script>
  2.       $(document).ready(function(){
  3.         $('ul.first').bsPhotoGallery({
  4.           "classes" : "col-lg-2 col-md-4 col-sm-3 col-xs-4 col-xxs-12",
  5.           "hasModal" : true,
  6.          // "fullHeight" : false
  7.         });
  8.       });
  9.     </script>

Código CSS:
Ver original
  1. <style>
  2.     @import url(https://fonts.googleapis.com/css?family=Bree+Serif);
  3.      
  4.       ul {
  5.           padding:0 0 0 0;
  6.           margin:0 0 40px 0;
  7.       }
  8.       ul li {
  9.           list-style:none;
  10.           margin-bottom:10px;
  11.       }
  12.     .text {
  13.       /*font-family: 'Bree Serif';*/
  14.       color:#666;
  15.       font-size:11px;
  16.       margin-bottom:10px;
  17.       padding:12px;
  18.       background:#fff;
  19.     }
  20.   </style>


Código HTML:
Ver original
  1. <div class="container">
  2.         <div class="row" style="text-align:center; border-bottom:1px dashed #ccc;  padding:0 0 20px 0; margin-bottom:40px;">
  3.             <h3 style="font-family:'Bree Serif', arial; font-weight:bold; font-size:30px;">
  4.                 <a style="text-decoration:none; color:#666;">Galería de Imágenes</a>
  5.             </h3>
  6.          </div>
  7.        
  8.        
  9.         <ul class="first">
Código PHP:
Ver original
  1. <?php
  2.                 include ("cafeteria_tonik_conexion.php");
  3.                 $sql = "SELECT * FROM imagenes";
  4.                 $resultado = mysqli_query($cafeteria_tonik_conexion, $sql);
  5.                 $directorio = "imagenes/";
  6.         ?>
  7.                      
  8.  
  9.             <?php
  10.             while ($fila = mysqli_fetch_assoc($resultado)){
  11.                    
  12.                 echo'<li><img alt="'.$fila['titulo'].'" class="img-thumbnail" src="'.$directorio.''.$fila['nombre_imagen'].'">
  13.                  <div class="text">"'.$fila['titulo'].'"</div> 
  14.                 </li>';
  15.                
  16.             }
  17. mysqli_free_result($resultado);
  18.            
  19. ?>
Código HTML:
Ver original
  1. </ul>
  2. </div> <!-- /container -->
  3.  
  4. </div>
  5.  
  6. <div id="menu" class="container-fluid">
  7.  <div class="col-sm-12">
  8.     <p style="font-family: 'Lobster', cursive; font-size:58px; text-align:center; color:#C63;">Menú Especial</p>
  9.     <br>
  10. </div>
Código PHP:
Ver original
  1. <?php
  2.     include ("cafeteria_tonik_conexion.php");
  3.     $consul = "SELECT * FROM menu_especial ORDER BY fecha DESC";
  4.     $res = mysqli_query($cafeteria_tonik_conexion, $consul);
  5.     while ($fila1 = mysqli_fetch_array($res)){
  6.        
  7.     }
  8.   ?>
Código HTML:
Ver original
  1. </div>
  2.  
  3. <div id="contacto" class="container-fluid">
  4.   <h1>Contacto</h1>
  5.   <p>Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!</p>
  6.   <p>Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!</p>
  7. </div>
  8.  
  9. <script src="js/jquery.min.js"></script>
  10. <script src="js/bootstrap.min.js"></script>
  11. <script src="js/script.js"></script>
  12. <script src="js/jquery.bsPhotoGallery.js"></script>
  13. </body>
  14. </html>

Entonces mi pregunta es: ¿cómo puedo hacer para que cada div ocupe el 100% de cualquier dispostivo?
Y otra pregunta: en este archivo hay un div id="galeria" que es una galería, que al hacer click en una imagen, ésta se hace grande. Cuando veo la página en el móvil, la foto sale enorme. ¿Cómo puedo hacer para que se vea según la pantalla que tenga?
Gracias.

Última edición por sergiodueso; 20/12/2017 a las 04:01
  #2 (permalink)  
Antiguo 20/12/2017, 09:08
 
Fecha de Ingreso: enero-2011
Ubicación: Zaragoza
Mensajes: 98
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Problema con web responsive

Buenas tardes, necesito respuesta urgente. Tengo que entregar la página web en esta semana y es lo último que me queda. Gracias
  #3 (permalink)  
Antiguo 20/12/2017, 09:25
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 2 meses
Puntos: 1146
Respuesta: Problema con web responsive

Cita:
Iniciado por sergiodueso Ver Mensaje
Buenas tardes, necesito respuesta urgente. Tengo que entregar la página web en esta semana y es lo último que me queda. Gracias
Aquí nada se responde con calidad de urgente, si bien es muy sencillo lo que pides por a ver salido con lo de urgente ya no te respondo.

Si te urge tanto paga por que te hagan el trabajo $$$$ invierte, nosotros tomamos nuestro tiempo en aprender como para venir a regalar nuestro trabajo y que le paguen a alguien que ni la molestia de estudiar se ha tomado.
  #4 (permalink)  
Antiguo 20/12/2017, 11:24
 
Fecha de Ingreso: enero-2011
Ubicación: Zaragoza
Mensajes: 98
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Problema con web responsive

Siento la respuesta. Necesito vuestra ayuda. Gracias
  #5 (permalink)  
Antiguo 20/12/2017, 18:17
Avatar de g3kdigital  
Fecha de Ingreso: noviembre-2013
Ubicación: En mi apartamento en bogotá
Mensajes: 208
Antigüedad: 10 años, 5 meses
Puntos: 39
Respuesta: Problema con web responsive

Perfecto, cuando necesites algo urgente me preguntas y acordamos un precio: m.me/g3kdigital o en buscame en twitter como @g3kdigital, cuando no lo sea, por favor entiende que si respondemos por este medio, es cuando tenemos tiempo y ganas. Lo digo en buen plan jejeje.

Habiendo dicho esto:

1) Para que un DIV ocupe siempre el 100% de un dispositivo, usa height: 100 vh. y te aconsejo investigar sobre estas unidades de medición: vh y vw, te salvaran en más de un problema responsive.

2) Para que las imágenes ocupen el 100% en un dispositivo, te aconsejo usar la etiqueta picture y usar la imagen como background-image: url('img/imagen.jpg');, en este caso el elemento picture, debe ocupar las medidas que le pongas y siempre que uses: background-size: cover; ocupará todo lo que "mida" el contenedor de la imagen. Yo te recomiendo el elemento picture, pero la verdad puedes usarlo en cualquier etiqueta (DIV, P, SECTION, SPAN, etc), yo lo recomiendo porque es coherente usarla.

3) Si quieres que la imagen sea 100%, pero no como background sino como IMG, pues especifica más tu pregunta, ya que es un poco más complicado que solo usar un atributo en CSS y habrán muchos "depende".

Éxitos!!
__________________
Puedes ser el tipo de persona que se amarga por lo inevitable o aceptar el reto de superarse siempre e ir a la par con el progreso.

WEB: G3K.co | codepen.io/g3kdigital
  #6 (permalink)  
Antiguo 21/12/2017, 00:08
 
Fecha de Ingreso: enero-2011
Ubicación: Zaragoza
Mensajes: 98
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Problema con web responsive

Gracias por tu respuesta. Te voy a poner la URL de la página que aún está sin terminar para que, cuando puedas, la cargues en un móvil y me cuentas. Porque, el href de la imagen, llama a un script en javascript que levanta un div. Ese div es el que quiero que se amolde a cualquier dispositivo. Gracias. www.cafeteriatonik.miptopia.com
  #7 (permalink)  
Antiguo 22/12/2017, 09:25
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Respuesta: Problema con web responsive

la respuesta de g3kdigital es una buena guía.

Tu link no funciona, pero independientemente de funcione o no, es complicado estar viendo el código de alguien más.

Fíjate en esta pregunta tuya: "Entonces mi pregunta es: ¿cómo puedo hacer para que cada div ocupe el 100% de cualquier dispostivo?"
La respuesta es: un div naturalmente ocupa el 100% de cualquier dispositivo. No le hagas nada.

El problema es de con todo el código que has puesto, se nota y es evidente que estás copiando y pegando codigo sin entender que hace, y tu mismo as roto el comportamiento natural del div.

Puedes depurar un poco tu problema:

1) Entender conceptos de las unidades como g3kdigital te ha comentado.

2) En una copia, ir eliminando poco a poco las cosas que no tengan que ver con el problema específico, hasta localizar el código que te está afectando. Normalmente acaba siendo un sólo párrafo de html y uno de css.

Pero en realidad la metodología que tienes que usar es:

1) Planear tu resultado final. Hacer un dummy o esqueleto bien definido.

2) Ir agregando cosas conforme lo vayas necesitando y probarlo en el momento. Si algo se "rompe" inmediatamente sabes que cosa sucedió.
  #8 (permalink)  
Antiguo 22/12/2017, 11:40
 
Fecha de Ingreso: enero-2011
Ubicación: Zaragoza
Mensajes: 98
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Problema con web responsive

Perdón me confundí. www.cafeteriatonik.mipropia.com/index.php

Última edición por sergiodueso; 23/12/2017 a las 01:07
  #9 (permalink)  
Antiguo 26/12/2017, 09:32
Avatar de g3kdigital  
Fecha de Ingreso: noviembre-2013
Ubicación: En mi apartamento en bogotá
Mensajes: 208
Antigüedad: 10 años, 5 meses
Puntos: 39
Respuesta: Problema con web responsive

Cita:
Iniciado por sergiodueso Ver Mensaje
He visto tu página y lo que te respondí, es relacionado a tu pregunta, pero aún así, no va a resolver tu problema:
Cita:
Iniciado por sergiodueso Ver Mensaje
¿cómo puedo hacer para que cada div ocupe el 100% de cualquier dispostivo?
Cualquier DIV siempre va a ocupar el 100% del ancho y alto de la ventana si usas width: 100vw & height: 100vh o encapsular estas en una clase "fullscreen" así:

Código CSS:
Ver original
  1. html body .fullscreen{
  2. width: 100vw;
  3. height: 100vh;
  4. }

Y aplicarlas a cualquier DIV o etiqueta bloque (section, p, figure, header, etc) que quieras, incluso puedes añadir la propiedad: display:block o display:inline-block; a cualquier otras etiqueta no bloque (span, i, strong) y también obedecerá la clase.

Tu otra pregunta:

Cita:
Iniciado por sergiodueso Ver Mensaje
en este archivo hay un div id="galeria" que es una galería, que al hacer click en una imagen, ésta se hace grande. Cuando veo la página en el móvil, la foto sale enorme. ¿Cómo puedo hacer para que se vea según la pantalla que tenga?
¿Sale enorme? En mi móvil se ve normal.

Ahora para que se vea bien en cada dispositivo, la manera más simple de corregir una imagen en etiqueta img, es colocarle width: 100% o width: 100vw y height: auto; yo te dije que puedes colocar la url de la imagen en un figure y usar background-size: cover; y eliminar la etiqueta img, es la mejor manera ya que esta se adaptará siempre al tamaño del contenedor sin importar las medidas.

También veo que en la página esto se realiza mediante un modal y hay varios div envolviendo la etiqueta img, si a todos estos div le aplicas la clase que te puse arriba lograras que ocupen el 100% de ancho y alto, pero la imagen se distorsionará eso es seguro, ya que perderá su proporcion. Puedes dejarle solo el ancho al 100% y el alto en automático.

Sí ves que te coloco un montón de opciones a posibles errores, es por lo desordenado de tu post, para más ayuda con respecto a tu caso debes hacer caso al consejo de Rafael, debes entender que el código html, css, php y js deben ir al menos agrupados en un mismo fragmento de código que coloques en hightlight o aislar el código que realmente necesitas modificar en un jsfiddle o codepen para nosotros entenderlo y ayudarte bien.
__________________
Puedes ser el tipo de persona que se amarga por lo inevitable o aceptar el reto de superarse siempre e ir a la par con el progreso.

WEB: G3K.co | codepen.io/g3kdigital
  #10 (permalink)  
Antiguo 31/12/2017, 05:51
 
Fecha de Ingreso: enero-2011
Ubicación: Zaragoza
Mensajes: 98
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Problema con web responsive

Muchas gracias. Lo intentaré

Etiquetas: color, html, javascript, responsive
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:45.