Foros del Web » Creando para Internet » CSS »

Reemplazar imagen con otra al achicar pantalla CSS

Estas en el tema de Reemplazar imagen con otra al achicar pantalla CSS en el foro de CSS en Foros del Web. Hola a todos, les explico mi problema: En una web responsive tengo una imagen con un logo muy grande, y necesito que al achicar la ...
  #1 (permalink)  
Antiguo 23/12/2015, 09:56
 
Fecha de Ingreso: julio-2015
Mensajes: 11
Antigüedad: 8 años, 9 meses
Puntos: 0
Reemplazar imagen con otra al achicar pantalla CSS

Hola a todos, les explico mi problema:

En una web responsive tengo una imagen con un logo muy grande, y necesito que al achicar la pantalla (o en una pantalla de tablet - smartphone) la imagen en cuestión se cambie por otra, esto se puede hacer desde css??

Mi idea es mas o menos así:

@media screen and (max-width: 500px){
.foto_logo{
background:url(logo2.png);
width:100%;
height: auto;
}


Obviamente, este método no funciona, que puedo hacer?

Muchas gracias!!
  #2 (permalink)  
Antiguo 23/12/2015, 11:29
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Reemplazar imagen con otra al achicar pantalla CSS

el metodo funciona pero no todos tienen las mias resoluciones asi que te recomendaria utilizar una libreria php que detecte el dispositivo y por ende configure la clase a cargar, esta es si mal no recuerdo Mobile Detect master, esta te detecta si la persona visita desde un PC, tablet o Smartphone
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 23/12/2015, 15:47
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: Reemplazar imagen con otra al achicar pantalla CSS

Hombre que te complicas, con CSS tienes 3 opciones

1.- incrusta en html todas tus imagenes y segun la resolucion vas mostrando una u otra, esto seria mas o menos asi:
Código HTML:
Ver original
  1. <a href="#" class="logo">
  2.     <img src="img-t1.jpg" alt="" class="width1">
  3.     <img src="img-t2.jpg" alt="" class="width2">
  4.     <img src="img-t3.jpg" alt="" class="width3">
  5. </a>

Código CSS:
Ver original
  1. .logo img{display:none;}
  2. .logo .width1{display:block;}
  3. @media (max-width:960px){
  4.     .logo .width2{display:block;}
  5.     .logo .width1{display:none;}
  6. }
  7. @media (max-width:760px){
  8.     .logo .width3{display:block;}
  9.     .logo .width2{display:none;}
  10. }


2.- con css ve cambiando el tamaño de la imagen:
Código CSS:
Ver original
  1. @media (max-width:960px){
  2.     .logo img{width:120px;height:auto;}
  3. }
  4. @media (max-width:760px){
  5.     .logo img{width:90px;height:auto;}
  6. }

3.- lo mismo que ya planteaste, solo que hay que utilizar un div, un h1, u otro elemento para asignarle el logo como background, opcionalmente podrias agregar background-size para no cambiarla a cada rato.
  #4 (permalink)  
Antiguo 23/12/2015, 17:25
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: Reemplazar imagen con otra al achicar pantalla CSS

Un caso para usar imágenes responsivas.

Código HTML:
Ver original
  1. <img
  2.  sizes="(min-width: 700px) 468px, 90vw"
  3.  srcset="
  4.    normal.jpg 468w,
  5.    [email protected] 704w,
  6.    [email protected] 938w"
  7. >

Con su correspondiente polyfill. En Chrome anda incluso sin eso ya.
__________________
(:

Etiquetas: background, pantalla, reemplazar, responsive, todo, width
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 05:08.