Voraus entschuldigung, wenn dieser Thread in der falschen Kategorie gelandet sein sollte.
Ich habe schon immer ein kleines Problem beim guten alten CSS. Ich habe mit dem „:hover“ Befehl ein Mouseover mit Bilddateien erstellt, wenn man jetzt die Website besucht und über das Objekt fährt, also einen Mouseover auslöst, dann lädt das Mouseover Bild erst nach. Soll heißen beim Mouseover flackert es kurz, da das Background-Bild nachlädt.
Vllt. wisst ihr ja wie man die Bilder im voraus lädt oder in den Cache des Browser ect.
PS: Ausschnitt aus dem Mouseover habe ich mir mal gespart, da dieser 100 pro valid ist. Also keine Schreibfehler ect.
:arrow: Hoffe mal jemand kennt das Problem :mrgreen:
September 14:41
Achja bitte nicht böse sein, wenn das Problem schon behandelt wurde :X
Am einfachsten ist es wohl, beide Bilder in eine Datei zu setzen und bei :hover die background-position zu verschieben. Ein Beispiel dazu habe ich hier noch liegen.
Ja, gut. Aber der Link erfüllt wenigstens noch einen gewissen Zweck, während die versteckten Mouseover-Bilder lediglich überflüssige Tags sind und bei deaktivierten Stylesheets und vielen Mouseover-Effekten richtig Raum einnehmen. Ist ein sehr theoretisches Argument, gebe ich zu. Ich mag einfach CSS-Layouts die im deaktivierten Zustand ein möglichst sauberes, lineares Dokument ergeben.
Bei der „Verstecken“-Methode sehe ich erstmal nur die Nachteile. Mag aber auch Fälle geben, wo es die bessere Wahl ist.
Habe ich in meinem vorherigen Post doch aufgezählt. Die beim Verstecken zusätzlich benötigten Tags ergeben semantisch keinen Sinn (gehören nicht zur Seitenstruktur) und machen Probleme, wenn die Seite in einem Kontext verarbeitet wird, in dem kein CSS verfügbar ist. Dann können die Tags nicht einfach „ausgeblendet“ werden, weil nicht zwischen einem regulären img-Tag und einem „Preload“-img-Tag unterschieden werden kann. In diesem Fall befinden sich schließlich irgendwo auf der Seite 20 Bilder mit verschiedenen MouseOver-States oder so. Das kann man in Kauf nehmen, klar, muss man aber nicht, da es reine CSS-Lösungen gibt, die den HTML-Code überhaupt nicht berühren.
Darüber kann man lange streiten, schätze ich. Theoretisch dürften die Argumente eher für „meinen“ Ansatz sprechen, aber praktisch spielt so etwas selten eine Rolle, da HTML-Seiten eben in aller Regel grafisch dargestellt werden und Browser das CSS interpretieren.