seitenreport
Avatar seitenreport
Themenersteller
Inhaber
TYPO3 Senior Developer
Content Gott (1772 Beiträge)

CSS Sprite Generator

am 18.03.2010, 19:38 Uhr eröffnete seitenreport folgenden Thread
Google    4536 mal gelesen    11 Antwort(en).

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
Avatar UFOMelkor
Student
Content Meister (350 Beiträge)
am 18.03.2010, 20:27 Uhr schrieb UFOMelkor

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
Avatar Raptor
IT-Student
Content Gott (1013 Beiträge)
am 18.03.2010, 20:34 Uhr schrieb Raptor

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
Avatar UFOMelkor
Student
Content Meister (350 Beiträge)
am 18.03.2010, 22:31 Uhr schrieb UFOMelkor

Habs mal mit Firebug durchprobiert, scheint so nicht zu funktionieren.


Naturkosmetik in Bochum

Steppenhahn Ultramarathon-Community

RobbyMe
Avatar RobbyMe
Teamleiter Verkauf Printmedien
Guru (228 Beiträge)
am 18.03.2010, 22:50 Uhr schrieb RobbyMe

Ich habe es auch schon mal probiert, leider ohne Erfolg.

Vielleicht kommst Du mit diesen Links weiter:

www.photoshop-weblog.de/test/


phpperformance.de/css-sprites-einsparung-an-http-requests-durch-kombination-von-hintergrund-bildern/



Der zweite Link ist die Beschreibung sehr gut und spricht zusätzlich noch ein paar Probleme an. Was auch eine Ursache sein kann, dass die Grafiken nicht genügend Platz im Spritebild selbst haben.

Falls Du es hinbekommst, wäre es super wenn Du schreibst welcher Grund vorlag.


Parkplatz Sharing in jeder deutschen St

gerard
Content Gott (1271 Beiträge)
am 18.03.2010, 23:05 Uhr schrieb gerard

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
Avatar UFOMelkor
Student
Content Meister (350 Beiträge)
am 18.03.2010, 23:31 Uhr schrieb UFOMelkor

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)
am 28.03.2010, 21:41 Uhr schrieb gambler

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
Avatar UFOMelkor
Student
Content Meister (350 Beiträge)
am 28.03.2010, 21:54 Uhr schrieb UFOMelkor

Eigentliche sollte dem nicht so sein. Wie groß sind denn die Abstände der Bilder bzw. was für Abmessungen haben die Bilder?


Naturkosmetik in Bochum

Steppenhahn Ultramarathon-Community

RobbyMe
Avatar RobbyMe
Teamleiter Verkauf Printmedien
Guru (228 Beiträge)
am 28.03.2010, 21:58 Uhr schrieb RobbyMe

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)
am 28.03.2010, 21:59 Uhr schrieb gerard

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



« zurück zu: Google

Das Seitenreport Forum hat aktuell 5275 Themen und 36110 Beiträge.
Insgesamt sind 48360 Mitglieder registriert.