Ist das Einbetten von Hintergrundbilddaten in CSS als Base64 gut oder schlecht?

War ich bei der Suche die Quelle für ein greasemonkey userscript und bemerkte Folgendes in Ihre css:

.even { background: #fff url(data:image/gif;base64,R0lGODlhBgASALMAAOfn5+rq6uvr6+zs7O7u7vHx8fPz8/b29vj4+P39/f///wAAAAAAAAAAAAAAAAAAACwAAAAABgASAAAIMAAVCBxIsKDBgwgTDkzAsKGAhxARSJx4oKJFAxgzFtjIkYDHjwNCigxAsiSAkygDAgA7) repeat-x bottom}

Kann ich nachvollziehen, dass ein greasemonkey-script wäre bündeln wollen-alles, was es kann innerhalb der Quelle im Gegensatz zu hosten auf einem server, das ist klar genug. Aber da hatte ich nicht gesehen, diese Technik, die zuvor, als ich seine Verwendung, und es scheint attraktiv für eine Reihe von Gründen:

  1. Es verringert sich die Menge der HTTP-requests beim laden der Seite, somit eine Verbesserung der Leistung
  2. Wenn kein CDN, dann verringert sich die Menge des Verkehrs, die durch cookies gesendet werden, neben der Bilder
  3. CSS-Dateien zwischengespeichert werden können
  4. CSS-Dateien GZIP -

Wenn man bedenkt, dass der IE6 (zum Beispiel) Probleme mit cache für hintergrund-Bilder, das scheint es nicht die schlechteste Idee...

So, ist das eine gute oder schlechte Praxis ist, warum WÜRDEN Sie NICHT verwenden, und welche Instrumente würden Sie verwenden, um die base64-Kodierung der Bilder?

update - die Ergebnisse der Prüfung

Schön, aber es wird etwas weniger nützlich für kleinere Bilder, denke ich.

UPDATE: Bryan McQuade, software-Ingenieur bei Google, arbeiten auf PageSpeed, ausgedrückt in ChromeDevSummit 2013, Daten:uris in CSS wird als render-blocking anti-pattern für die Bereitstellung wichtiger/minimal-CSS während seiner Rede #perfmatters: Instant mobile web apps. Sehen http://developer.chrome.com/devsummit/sessions und denken Sie daran - eigentliche Folie

InformationsquelleAutor der Frage Dimitar Christoff | 2009-07-14

Schreibe einen Kommentar