Estoy usando una imagen transparente de 1x1 con una imagen de fondo, para poder usar sprites y aún así proporcionar texto alternativo para algunos iconos.
Quiero usar un URI de datos para la imagen para reducir el número de solicitudes HTTP, pero ¿cuál sería la cadena más pequeña posible para producir una imagen transparente ?
Me doy cuenta de que podría usar URI: s de datos para las imágenes reales en lugar de sprites, pero es más fácil de mantener cuando todo se mantiene en el CSS en lugar de dispersarse.
css
css-sprites
Jacob Rask
fuente
fuente
Respuestas:
Después de jugar con diferentes GIF transparentes, algunos son inestables y causan fallas en CSS. Por ejemplo, si tiene un
<img>
y usa el GIF transparente más pequeño posible, funciona bien, sin embargo, si quiere que su GIF transparente tenga unbackground-image
, entonces esto es imposible. Por alguna razón, algunos GIF como los siguientes evitan los fondos CSS (en algunos navegadores).Más corto (pero inestable - 74 bytes)
Aconsejaría usar la versión un poco más larga y estable de la siguiente manera:
⇊ Estable ⇊ (pero un poco más largo - 78 bytes)
Como otro consejo, no omita
image/gif
como sugiere un comentario. Esto se romperá en varios navegadores.fuente
La longitud final depende de con qué está comprimida.
fuente
width: auto;
un SVG tomará el ancho de su padre. Una imagen estática como GIF o PNG, cuando se le da una altura y ancho automáticos fijos, conservará su relación de aspecto.Creo que debe ser un archivo GIF transparente comprimido 1x1 (82 bytes):
Generado con datos de dopiaza.org: generador de URI .
fuente
PNG más pequeño - 114 bytes:
fuente
Este chico analiza el problema a través de la especificación GIF. Su solución para el
transparent.gif
sería de 37 bytes:Se vuelve aún más pequeño al eliminar primero la transparencia, luego la tabla de colores ...
Especificación GIF89a
Encabezado (6 bytes)
Descriptor de pantalla lógica (7 bytes)
Tabla global de colores (6 bytes)
Extensión de control gráfico (8 bytes)
Descriptor de imagen (10 bytes)
Datos de imagen (5 bytes)
Tráiler GIF (1 byte)
Fuente: El GIF más pequeño de todos .
fuente
Puede probar los siguientes datos SVG (60 bytes):
El archivo svg independiente se vería así (62 bytes):
Ver también:
fuente
content
propiedad.Este es el más pequeño que encontré (26 bytes):
fuente
Estoy usando los siguientes datos uri para obtener una imagen vacía:
//:0
fuente
Para imagen vacía:
(se traducirá a
src=(unknown)
)fuente