J'utilise une image 1x1 transparente avec une image d'arrière-plan, pour pouvoir utiliser des sprites et toujours fournir un texte alternatif pour certaines icônes.
Je souhaite utiliser un URI de données pour l'image afin de réduire le nombre de requêtes HTTP, mais quelle serait la plus petite chaîne possible pour produire une image transparente ?
Je me rends compte que je pourrais utiliser des URI de données: s pour les images réelles au lieu de sprites, mais c'est plus facile à maintenir lorsque tout est conservé dans le CSS au lieu d'être dispersé.
css
css-sprites
Jacob Rask
la source
la source
Réponses:
Après avoir joué avec différents GIF transparents, certains sont instables et provoquent des problèmes CSS. Par exemple, si vous avez un
<img>
et que vous utilisez le plus petit GIF transparent possible, cela fonctionne bien, cependant, si vous voulez ensuite que votre GIF transparent ait unbackground-image
, alors c'est impossible. Pour une raison quelconque, certains GIF tels que les suivants empêchent les arrière-plans CSS (dans certains navigateurs).Plus court (mais instable - 74 octets)
Je conseillerais d'utiliser la version légèrement plus longue et plus stable comme suit:
⇊ Stable ⇊ (mais légèrement plus long - 78 octets)
Autre astuce, ne l'omettez pas
image/gif
comme le suggère un commentaire. Cela va casser dans plusieurs navigateurs.la source
La longueur finale dépend de ce avec quoi il est gzippé.
la source
width: auto;
, un SVG prendra la largeur de son parent. Une image statique telle que GIF ou PNG, lorsqu'elle a une hauteur et une largeur fixes automatiques, conservera son rapport hauteur / largeur.Je pense que ce doit être un fichier GIF 1x1 transparent compressé (82 octets):
Généré avec les données dopiaza.org: générateur d'URI .
la source
Plus petit PNG - 114 octets:
la source
Ce gars résout le problème via la spécification GIF. Sa solution pour le
transparent.gif
serait 37 octets:Il va encore plus petit en supprimant d'abord la transparence, puis la table des couleurs ...
Spécification GIF89a
En-tête (6 octets)
Descripteur d'écran logique (7 octets)
Table de couleurs globale (6 octets)
Extension de contrôle graphique (8 octets)
Descripteur d'image (10 octets)
Données d'image (5 octets)
Bande-annonce GIF (1 octet)
Source: Le plus petit GIF jamais créé .
la source
Vous pouvez essayer les données SVG suivantes (60 octets):
Le fichier svg autonome ressemblerait à (62 octets):
Voir également:
la source
content
propriété favicon ou CSS .C'est le plus petit que j'ai trouvé (26 octets):
la source
J'utilise l'URI de données suivant pour obtenir une image vide:
//:0
la source
Pour une image vide:
(cela se traduira par
src=(unknown)
)la source