CSS-Sprites-Technologie integriert mehrere Hintergründe in ein PNG-Bild CSS-Positionierung

CSS-Sprites-Technologie integriert mehrere Hintergründe in ein PNG-Bild CSS-Positionierung

Die Bildintegrationstechnologie, die von YAHOO in den USA bei der Seitenerstellung verwendet wird. Obwohl es eine gewisse Zeit in Anspruch nimmt, diese Symbole, Spaltenhintergründe und Bildschaltflächen regelmäßig zusammenzuführen, um CSS-Aufrufe zu ermöglichen, ist es definitiv kostengünstig und notwendig. YSlow wird ebenfalls dringend empfohlen.

Implementierungsmethode :
Integrieren Sie zunächst die kleinen Bilder in ein großes Bild und positionieren Sie dann den Hintergrund entsprechend der Position des jeweiligen Symbols auf dem großen Bild. Hintergrundposition: -8px -95px;
Eine kurze Diskussion über die CSS-Sprites-Technologie und Bildoptimierung (Integration von Hintergrundbildern)
Wie viel können wir tun, um die CSS-Sprites-Technologie zu optimieren und wie sehr können wir die Anzahl der Anfragen reduzieren? Dies kann nicht einseitig erfolgen; alles hängt von der Koordination zwischen XHTML-, CSS- und CSS-Sprites-Bildern ab. Bisher gibt es keine absolut optimierte Methode. Aus diesem Grund wäge ich in meinen Projekten häufig die Beziehung zwischen CSS-Sprites-Bildern und XHTML ab, z. B.: „Ein Hintergrund, um ein adaptives Neun-Quadrate-Raster zu erreichen“. Im Folgenden sind einige Methoden zum Bildschneiden und zur Bildoptimierung zusammengefasst.

Bildoptimierung <br />1. Für nicht animierte GIFs wird die Verwendung von PNG8 empfohlen, da Sie damit den gleichen Effekt erzielen und 10–30 % der Dateigröße einsparen können.
2. Im Vergleich zu Fireworks sind PNG-Bilder gleicher Qualität, die aus Photoshop exportiert werden, etwas größer. Obwohl Fireworks entsprechende Komprimierungsoptimierungen vorgenommen hat, wurde nicht die beste Komprimierung erreicht.
3. Soweit mir bekannt ist, erreicht die Designsoftware, die PNG-Bilder verarbeitet, nicht die beste Komprimierung, und es besteht noch Raum für eine Komprimierung der Bildgröße. Sie können versuchen, mit dem unten vorgestellten „Bildoptimierungstool“ eine verlustfreie Komprimierungsoptimierung durchzuführen.
4. Bezüglich der Bildgröße und -abmessungen wird empfohlen, dass die Größe unter 100 KB bleibt (was eher der in China am häufigsten nachgefragten GRÖSSE entspricht) und die Größe 800 Pixel beträgt (die optimale Größe). (Aus einer maßgeblichen Quelle erfahren, die Details können jedoch nicht überprüft werden)

Technik zum Zuschneiden von CSS-Sprites-Bildern <br />1. Die Bildreihenfolge von CSS-Sprites und die Bilder werden von oben nach unten und von links nach rechts hinzugefügt. Die Hintergrundposition wird im Allgemeinen in Form einer digitalen Kombination positioniert, wodurch unnötiger Wartungsaufwand reduziert werden kann.
2. Es wird nicht empfohlen, in CSS-Sprites-Bildern einen bestimmten Abstand beizubehalten, da dadurch die Dateigröße zunimmt.
3. Das Kombinieren von Bildern mit ähnlichen oder identischen Farben in CSS-Sprites kann die Anzahl der Farben reduzieren, da die Dateigröße von Bildern mit weniger Farben relativ klein ist.
4. Wenn Sie in CSS-Sprites-Bildern gleicher Größe große Lücken lassen, wird das Volumen in den meisten Fällen bis zu einem gewissen Grad erhöht. Daher sollten in CSS-Sprites-Bildern keine Lücken vorhanden sein.
5. Bei CSS-Sprites-Bildern gleicher Größe sind vertikal angeordnete Bilder größer als horizontal angeordnete.
6. Bei CSS-Sprites-Bildern haben horizontal angeordnete Bilder größere Dateien als vertikal angeordnete Bilder.
7. Gleichwertige Bilder zusammenführen: Wenn Sie CSS-Sprites-Bilder verwenden, führen Sie gleichwertige Bilder entsprechend zusammen, um Platz zu sparen und das Volumen zu reduzieren.
8. Unterscheiden Sie Bilder, die nicht zusammengeführt werden müssen: Wenn der aktuelle Benutzer festlegt, nur einen Status oder eine Ebene anzuzeigen, müssen Bilder anderer Ebenen oder Status nicht zusammengeführt werden.
9. Goldene Schnittposition: Die Position ganz rechts oder ganz links des CSS-Sprites-Bildes ist die flexibelste Position und eignet sich am besten, um das Symbol vor dem Text zu platzieren. Daher wird es nicht von anderen CSS-Sprites-Bildern gestört und es ist nicht erforderlich, eine bestimmte Linienbreite zu reservieren.

Im Internet kursieren zahlreiche entsprechende Bildoptimierungstools, beispielsweise:
ImageMagick, PNGGauntlet, pngcrush, pngrewrite, Optipng, PNGOut usw.
Wie wir alle wissen, besteht eine der effektivsten Möglichkeiten zur Verkürzung der Ladezeit einer Website darin, die Anzahl der von der Website gestellten HTTP-Anfragen zu verringern. Dieses Ziel lässt sich effektiv durch CSS-Sprites erreichen – das Kombinieren mehrerer Bilder zu einem Bild und deren anschließende Positionierung mithilfe von CSS.
Der Zweck von CSS-Sprites besteht darin, das Laden von Seiten durch die Konsolidierung von Bildern und die Reduzierung der Anzahl der Anfragen an den Server zu beschleunigen.

Implementierungsmethode :
Integrieren Sie zunächst die kleinen Bilder zu einem großen Bild. Der Einfachheit halber können Sie mehrere Bilder in die gleiche Spalte setzen, sodass die x-Achse als 0 definiert werden kann.
Positionieren Sie dann den Hintergrund entsprechend der Position des jeweiligen Symbols auf dem Gesamtbild. Hintergrundposition: -8px -95px;
Beispiel:
Wenn wir auther.gif im obigen Bild als Hintergrund verwenden, lautet der Code wie folgt:

Code kopieren
Der Code lautet wie folgt:

<div class="max">Maximieren</div>

Beide Klassen verwenden dasselbe Bild:

Code kopieren
Der Code lautet wie folgt:

.max {
Breite: 16px;
Höhe: 16px;
Hintergrundbild:URL(/images/css-sprites.gif);
background-repeat: no-repeat; //Wir wollen nicht, dass es gekachelt wird
text-indent:-999em; //Eine Möglichkeit, Text auszublenden
}

Der Effekt besteht darin, dass das Bild in tag_icon.gif im obigen Bild nur als Hintergrund verwendet werden kann und der von uns benötigte Hintergrund überhaupt nicht erhalten werden kann. Da wir keine Hintergrundposition angegeben haben, ist der Standardwert 00. Sie können das Bild oben sehen, bei dem es sich um das Bild tag_icon.gif handelt. Okay, wir müssen die Position des Bildes finden, das auther.gif im Gesamtbild darstellt. Nach der Messung liegt der Button bei 350px auf der Y-Achse und bei 50px auf der X-Achse. Wie können wir sie sichtbar machen? Offensichtlich sieht der Code wie folgt aus:

Code kopieren
Der Code lautet wie folgt:

.max {
Hintergrundposition: 50 -350px;
}

Juhuu, wir haben es geschafft:
(Hinweis: Der Einfachheit halber wird in diesem Beispiel der Stil direkt in HTML eingebettet. Verwenden Sie diese Methode nicht, es sei denn, es handelt sich in der Praxis um einen Sonderfall.)

Vorteile <br />Aus dem vorherigen Teil haben wir gelernt, dass CSSSprites deshalb plötzlich populär wurden, weil sie die Website-Leistung verbessern können. Dies ist offensichtlich einer seiner großen Vorteile. Dabei werden zahlreiche auf herkömmliche Weise erstellte Bilder zu einem Bild zusammengefügt, was die Anzahl der HTTP-Verbindungen deutlich reduziert. Die Anzahl der HTTP-Verbindungen hat erheblichen Einfluss auf die Ladeperformance der Website.

Nachteile <br />Was die Wartbarkeit betrifft, ist dies im Allgemeinen ein zweischneidiges Schwert. Manchen Leuten gefällt das vielleicht, anderen nicht, denn bei jeder Änderung des Bildes muss man Inhalt aus dem Bild löschen oder hinzufügen, was etwas umständlich erscheint. Und das Berechnen der Position von Bildern (insbesondere von Bildern mit Tausenden von Pixeln) ist auch eine sehr unangenehme Sache. Natürlich können diese unter dem Schlagwort Leistung überwunden werden.

Da die Position des Bildes auf einen bestimmten absoluten Wert festgelegt werden muss, geht dadurch die Flexibilität, beispielsweise hinsichtlich der Mitte, verloren.
Wie bereits erwähnt, müssen wir bei der Verwendung von CSSSprites die Größe der Box begrenzen, da es sonst zu Störungen im Bild kommen kann. Dies bedeutet, dass CSSSprites in manchen Situationen nicht geeignet sind, in denen nicht unidirektionale Kachelhintergründe und eine Skalierung von Webseiten erforderlich sind. Die Lösung von YUI besteht darin, den Abstand zwischen den Bildern zu vergrößern, sodass eine begrenzte Skalierung beibehalten werden kann.

Zusammenfassung <br />Leistung ist alles. CSSSprites ist eine Technologie, die es wert ist, gefördert zu werden. Besonders geeignet für FIR, beispielsweise den Austausch von Symbolen mit fester Größe. Um die Kompatibilität zu wahren, empfiehlt es sich, zwischen den Bildteilen etwas Abstand zu lassen.

<<:  Die umfassendste Erklärung des Sperrmechanismus in MySQL

>>:  TypeScript verwendet vscode, um den Codekompilierungsprozess zu überwachen

Artikel empfehlen

So implementieren Sie das Beobachtermuster in JavaScript

Inhaltsverzeichnis Überblick Anwendungsszenarien ...

Einige Front-End-Praxiszusammenfassungen der neuen Homepage von Alipay

Natürlich fließen auch einige persönliche Erfahrun...

So finden Sie langsame MySQL-Abfragen

Vorwort Ich glaube, dass jeder in seiner tägliche...

jQuery implementiert den Tabellen-Paging-Effekt

In diesem Artikel wird der spezifische Code von j...

Einstellungen für den Ubuntu-Boot-Autostart-Dienst

So erstellen Sie einen Dienst und starten ihn aut...

Detaillierte Schritte zum Einrichten des Hosts Nginx + Docker WordPress Mysql

Umfeld Linux 3.10.0-693.el7.x86_64 Docker-Version...

Eine vollständige Aufzeichnung eines Mysql-Deadlock-Fehlerbehebungsprozesses

Vorwort Die Datenbank-Deadlocks, die ich zuvor er...

Analyse von MySQL-Beispielen für doppelte und redundante Indizes

In diesem Artikel werden MySQL-Duplikatsindizes u...

web.config (IIS) und .htaccess (Apache) Konfiguration

xml <?xml version="1.0" encoding=&qu...

Ein kurzes Verständnis der MySQL SELECT-Ausführungsreihenfolge

Die vollständige Syntax der SELECT-Anweisung laut...