¿Hay alguna forma de ocultar la imagen de fondo en CSS sin eliminarla? Para mayor comodidad, uso CSS para cambiar si se muestra o no, y confiar en una clase para que se muestre. Entonces, por defecto, estaría oculto, pero la clase lo haría mostrar. Debido a esto, la imagen de fondo no puede ser alterada. ¿Qué propiedades de fondo puedo usar para lograr esto? Cambiar el tamaño a "0 0" en realidad lo hizo 1px en la esquina superior izquierda, no completamente oculto. Se aceptan soluciones CSS3.Ocultar sin eliminar la imagen de fondo
Respuesta
usted podría intentar posicionar la imagen de fondo fuera del área visible, como el establecimiento
background-position: -9999px -9999px
o algo menos drástico dependiendo del área visible.
Puede usar background-position
y simplemente moverlo fuera de la vista del elemento.
element.class{
background-position:-9999px;
}
o
element.class{
background:transparent;
}
Esa segunda solución debería funcionar. No lo he probado y no estoy seguro de si eso califica como "eliminarlo".
Creo que las respuestas de posición de fondo son probablemente las mejores soluciones, pero quería dar visibilidad a la mezcla. El ajuste visible: hidden
lo eliminará de la vista, pero mantendrá la estructura intacta.
background-position: -9000 -9000
es mejor opción que pienso
Suponiendo que está usando JavaScript, podría utilizar eso para modificar las propiedades. En el ejemplo que publico a continuación, asumo que usted también tiene jQuery lib, si no, una manipulación DOM directa también funcionaría. También estoy llamando al elemento que desea alternar su nodo de entrada de imagen de fondo. Y finalmente este método usa cookies.
=> Para ocultar
setCookie(inputNode.name, $(inputNode).css("background-image"),1);
$(inputNode).css("background-image", "url()");
=> Para mostrar
$(inputNode).css("background-image",getCookie(inputNode.name));
Dónde
function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x==c_name)
{
return unescape(y);
}
}
}
Esto funcionó para mí. Hope te ayuda.
Un giro en el diseño web retro es utilizar el clásico spacer.gif
para reemplazar/ocultar su imagen de fondo. Recordemos que spacer.gif was used como una forma de diseñar un sistema de grillas (con tablas) en los primeros (horribles) días de CSS. Es una imagen de un píxel con un píxel transparente.
Puede utilizar spacer.gif en el siglo 21 como esto:
#ImageBox
{
background: url(../images/my-regular-background.png) no-repeat center center;
&.ImageLoaded
{
background-image: url(../images/spacer.gif);
}
}
acaba de conocer el mismo problema. que utilizo:
background-size: 0 0;
Creo que es un poco más amigable que el uso de algunos valores negativos huuuuge para background-position
.
Para agregar a esto, también puede mostrar el fondo usando el tamaño de fondo: auto –
¡Gracias! Gran truco que funcionó perfectamente para mí. –
¡Funcionó perfectamente para mí, gracias! –
Crear un atributo css y utilizar toggleClass:
.class {
background-image: url(...);
}
.class.toggle {
background-image: none;
}
$('.class').toggleClass('toggle');
sólo para añadir a la mezcla, se puede colocar 2 imágenes en la propiedad de estilo, y cuando se desea ocultar uno, basta con cambiar el orden de ellas en la propiedad Esto satisfará las necesidades de no manipular la imagen.
Su hider.gif puede ser un solo píxel o una imagen completamente diferente.
<!DOCTYPE html>
<html>
<head>
<style>
bg_hidden {
background-image: url(hider.gif), url(realImage.jpg);
}
bg_shown {
background-image: url(realImage.jpg), url(hider.gif);
background-repeat: repeat, repeat;
}
</style>
</head>
<body>
<div class="bg_shown">
<button onclick="this.parent.className='bg_hidden'">Hide BG</button>
</div>
</body>
</html>
No he comprobado el código de errores, por lo que el comprador tenga cuidado ;-)
- 1. eliminar la imagen de fondo del estilo
- 2. ¿Cómo uso el efecto de jquery "resaltar" sin ocultar temporalmente la imagen de fondo?
- 3. css con imagen de fondo sin repetir la imagen
- 4. Eliminar imagen de fondo en UINavigationBar
- 5. ¿Cómo eliminar la imagen de fondo estándar de ImageButton?
- 6. ¿Esquinas de la mesa de redondeo sin imagen de fondo?
- 7. Div con imagen de fondo y sin contenido sin mostrar
- 8. Ocultar el título de la barra de navegación sin quitarlo
- 9. ¿Cómo puedo eliminar un atributo de imagen de fondo?
- 10. En Flot, ¿es posible eliminar u ocultar marcas de cuadrícula sin eliminar la etiqueta correspondiente?
- 11. ocultar Android y la eliminación de la imagen en IMAGEVIEW
- 12. Precargar imagen de fondo
- 13. Ubicación de la imagen de fondo
- 14. Extracción de fondo/escena de la imagen
- 15. Eliminar/ocultar una preferencia de la pantalla
- 16. ¿Cómo ocultar parte de la imagen?
- 17. ¿Cómo deshacer, ocultar, eliminar o eliminar una imagen de un lienzo html?
- 18. usando la imagen de fondo para li
- 19. Imagen de fondo UIViewController
- 20. fondo de la imagen: cómo repetir la imagen como fondo en lugar de estirarla
- 21. Span con imagen de fondo y sin contenido
- 22. UITableViewController Imagen de fondo
- 23. imagen de fondo transparente
- 24. Jquery - Eliminar() después de ocultar()
- 25. Iphone/iPad Fondo de imagen
- 26. tabla de imagen de la fila fondo
- 27. tamaño de la imagen de fondo iphone
- 28. Android fondo de la imagen de repetición
- 29. imagen de fondo usando jQuery
- 30. cómo ocultar el fondo de JButton (¿qué imagen de icono contiene)?
Está pidiendo sólo una solución de imagen de fondo. Eso escondería todo el elemento. –
Y? Sin ver su marcado, puede que no tenga contenido en el elemento y esta sería una opción perfectamente viable. –
"¿Qué propiedades de fondo puedo usar para lograr esto?" ... "ocultar la imagen de fondo en CSS" Está bastante claro que está buscando una solución puramente de fondo. Esta respuesta simplemente no es útil para la situación. –