seitenreport Themenersteller
Inhaber
TYPO3 Senior Developer
Content Gott (1772 Beiträge)
CSS Sprite Generator
Mittels Verwendung von CSS Sprites lässt sich die Webseiten-Performance rel. leicht erhöhen. Der Hintergrundgedanke ist dabei, dass jeder Zugriff auf den Server (=Request) Zeit kostet. Diese liegt zwar im Milli-Sekunden-Bereich, läppert sich aber, wenn über die CSS-Datei oder anderweitig viele kleine Grafiken eingebunden werden.
In einem CSS-Sprite werden mehrere Grafiken zu einer Grafik zusammengefügt (ähnlich wie das bei Texturen in 3D Anwendungen gemacht wird). Die Sprite-Grafik wird bei allen Objekten, die eine der Grafiken benötigen, als Hintergrundbild eingebunden und entsprechend verschoben (beides per CSS). Das Sprite wird nur einmal vom Browser geladen und verbleibt danach im Cache.
Auf SEITENREPORT waren CSS Sprites vor allem für die Menü-Icons sinnvoll. Ich habe dieses gerade in Angriff genommen, wodurch nun pro Seitenaufrufe 6 Requests eingespart werden (demnächst noch einige mehr).
Mittels CSS Sprite Generator geht das Ganze dann auch recht fix. Dazu
a) gehe ich auf die Seite spritegen.website-performance.org
b) erstelle ein ZIP-Archiv mit Bildern, aus denen das CSS Sprite erstellt werden soll
c) lade das ZIP-Archiv hoch und klicke auf "CSS Sprite Image und CSS erstellen"
Nun kann ich das fertige CSS Sprite herunterladen, und die zugehörigen CSS Stile in meine CSS Datei übernehmen. Fertig.
Anhang:
[1] CSS Sprite Grafik
Gruß,
Matthias
SEO Analyse und Website-Check mit Seitenreport
UFOMelkor
Student
Content Meister (350 Beiträge)
Ein echt nettes Tool
Ich nutze auf meinen Seite zur Kennzeichnung von externen Links 3 verschiedene Grafiken, eine die standardmäßig angezeigt wird, eine für den hover- / fokus-Effekt und eine für den visited-Effekt.
Die Links werden wie folgt formatiert:
padding-right: 17px;
background-image: url(\'../../images/link_extern.gif\');
background-repeat: no-repeat;
background-position: right;
Für die hover/fokus/visited-Links werden die Hintergrundbilder entsprechend geändert. Das funktioniert soweit auch super, allerdings kostet mich das 3 Requests.
Sieht jemand eine Möglichkeit, diese 3 Bilder zusammenzufügen und passend zu positionieren? Eine Mischung aus einer Höhenangabe und right funktioniert leider nicht bei FF und Opera.
Naturkosmetik in Bochum
Steppenhahn Ultramarathon-Community
Raptor
IT-Student
Content Gott (1013 Beiträge)
UFOMelkor schrieb:
Sieht jemand eine Möglichkeit, diese 3 Bilder zusammenzufügen und passend zu positionieren? Eine Mischung aus einer Höhenangabe und right funktioniert leider nicht bei FF und Opera.
Ich würde es so wie im Besipiel-Sprite von Matthias machen.
Dass es hier Probleme mit der Position geben kann, ist mir auch schon aufgefallen. Versuch mal die beiden Angaben zu tauschen, also "background-position: -20px right" => "background-position: right -20px" oder umgekehrt.
Edit: Ach ja, das Minus-Zeichen nicht vergessen: right -20px ...
Meine Developer-Website mit den Web-Entwickler-Tools.
Meine Web-Entwicklungs-Dienstleistungen
[url="http://www.seitenreport.de/forum/beitraege/seitenreport_verlosungen/wichtig_neue_regel
UFOMelkor
Student
Content Meister (350 Beiträge)
RobbyMe
Teamleiter Verkauf Printmedien
Guru (228 Beiträge)
gerard
Content Gott (1271 Beiträge)
RobbyMe schrieb:
Vielleicht kommst Du mit diesen Links weiter:
Und hier noch ein Link: www.alistapart.com/articles/sprites/ der mich etwas weiter gebracht hat.
Gérard
http://bretagne-virtuell.de
UFOMelkor
Student
Content Meister (350 Beiträge)
Ich glaube, ich habe die Lösung gefunden
Wären es mehr als drei Zustände, die man verwalten müsste, wäre es wohl nicht möglich, so ist es zum Glück relativ simpel.
Bei dem folgenden Beispielcode gehe ich davon aus, dass oben das Standard-Bild, in der Mitte das hover-/focus-Bild und unten das visited-Bild ist.
Standard:
padding-right: 17px;
background-image: url(\'../../images/link_extern_sprite.gif\');
background-repeat: no-repeat;
background-position: right top;
Focus / Hover:
background-position: right center;
Visited:
background-position: right bottom;
Es sieht nicht 100% so aus wie vorher, dafür müsste man die Bilder wohl noch ein klein wenig korrigieren (das Hover-/Focus-Bild springt ein wenig), aber das merkt man nicht wirklich.
Mir gefällt die Lösung - wieder 2 Requests gespart und ein grüner Pluspunkt mehr beim Traffic-Scanner
Naturkosmetik in Bochum
Steppenhahn Ultramarathon-Community
gambler
Student
Guru (101 Beiträge)
Hi,
versuche mich grade mit CSS-Sprite die Requests für meine Websites zu reduzieren. Nun ist mir aufgefallen, dass meine 4 Bilder einzeln (also noch nicht zusammengeführt zu einem Bild/Sprite) zusammengerechnet ca. 27kb Speicher benötigen, aber als Sprite (Bilder sind nun zusammengeführt) ca. 100kb Platz benötigt. Jetzt meine Frage: Muss ich irgendwelche Einstellungen bei dem von Matthias genannten Sprite-Generator beachten oder ist das normal, dass die Sprite-Datei so groß ist? Da stellt sich mir dann die Frage, ob sich das im Endeffekt lohnt, wenn ich die Requests senke, aber den Traffic doch gleichzeitig erhöhe?!
Gruß Stephan
P.S. Ich werde mal versuchen, die Dateien händisch zusammenzusetzen...
Belegungsplan Ferienwohnung
Blog: Smart-Webentwicklung
UFOMelkor
Student
Content Meister (350 Beiträge)
RobbyMe
Teamleiter Verkauf Printmedien
Guru (228 Beiträge)
Es könnte auch an Deinem Bildformat liegen. Wenn Du statt jpg jetzt png verwendest hast Du natürlich deutlich mehr.
Gruß Robert
Parkplatz Sharing in jeder deutschen St
gerard
Content Gott (1271 Beiträge)
gambler schrieb:
... Nun ist mir aufgefallen, dass meine 4 Bilder einzeln (also noch nicht zusammengeführt zu einem Bild/Sprite) zusammengerechnet ca. 27kb Speicher benötigen, aber als Sprite (Bilder sind nun zusammengeführt) ca. 100kb Platz benötigt.
So sollte es nicht sein. Ich habe die Sprites mit
spritegen.website-performance.org
gemacht. Achte darauf, dass die Abstände zwischen den Einzelbildern in der Gesamtdatei möglichst klein sind und damit die Größe des Gesamtbildes auch so klein wie möglich wird. Mein Ergebnisbild ist etwa halb so "schwer" wie die Summe der Ausgangsbilder.
Gérard
http://bretagne-virtuell.de
Das Seitenreport Forum hat aktuell 5275 Themen und 36110 Beiträge.
Insgesamt sind 48360 Mitglieder registriert.
Beitrag erstellen
EinloggenKostenlos registrieren