CSS: Bilddatei bei hover mittig zentrieren (mittig Gerät)

  • Hallo allerseits

    Erbitte Hilfe beim Zentrieren von Bildern beim Hovern, mittig von Gerät und nicht von Bilddatei ausgehend.

    Was ich bisher habe, ist folgendes:

    Vielen Dank im Voraus für jegliche Schützenhilfe.

    Greez

    Tamaleus

  • Hi Tamaleus,


    zum einen ist "center" ausgestorben und sollte nicht mehr verwendet werden.

    Zum anderen müssen die Abmessungen des Elterncontainers entsprechend sein, wenn man ein Bild drinne mittig vom Gerät aus zentrieren will.

    Sind die Abmessungen nicht 100% und verwendet man auch nicht "position: absolute", wird es wohl schlecht gehen.


    Btw. ein Bildhover zoomen, aber ausgehend vom Gerät? Ist das Bild immer an der Position auf der Seite das einzige Element und "Seiten"-zentriert?

    Stelle ich mir grad etwas komisch vor. Vielleicht hab ich dich auch falsch verstanden...

  • @ nextuser

    Danke für Deinen Input. Ich muss eingestehen, dass es sich bei dem, was ich bisher hinbekommen habe, um den Rest unzähliger Versuche handelt. Ich lasse mich ja gerne beraten. Daher mein Input hier. Zum Gedanken dahinter: Wenn auf einer Seite ein kleines Bild fast am linken Rand steht und dieses mittig über diesem Bild vergrössert wird, hängt der linke Teil des vergrösserten Bildes über den linken Bildschirm-Rand hinaus. Und daher soll das vergrösserte Bild in der Mitte des Gerätes platziert und von dort aus vergrösserte werden. Vielleicht kannst Du mir zeigen, wie das geht.

  • Reden wir jetzt wirklich von dem Hover-Effekt (Maus drüber. | Sieht das dann nicht komisch aus, wenn die Vergrößerung dann so versetzt ist)?

    Oder soll das Bild bei einem Klick (flächenfüllend) vergrößert werden?

  • Ein Bild kannst Du so zentrieren:

    Ungetestet, aber so habe ich es schon häufig gemacht.

    Dies ist zunächst mal eine sehr einfache Lösung. Wenn Du erreichen möchtest, dass das Bild von der alten, kleinen Positon ausgehend an die neue, vergrößerte, explodiert, wird es ein wenig komplizierter.

  • nextuser

    Lass uns bitte nicht darüber diskutieren, was der Hintergrund ist. Ich habe versucht, das zu erklären. Mehr kann ich dazu nicht sagen. Frage ist nun, ob Du mir helfen kannst.

    Das war keine Diskusion, sondern eine Nachfrage. Und "position: absolute" hatte ich auch schon Anfangs erwähnt um dir zu helfen.


    Was bist denn du so gereizt?

  • Hallo Sempervivum

    Vielen Dank für Deine Hilfe. Ich habe den von Dir angegebenen Teil in meinem "<style>"-Bereich im <head> wie ganz oben gezeigt, eingefügt. Schon im Preview (arbeite mit Visual Studio Code), aber auch in der in den Browser (Chrome und Edge, bei Firefox wird bei Maus-over gar kein weiteres Bild angezeigt, bzw. ist nicht sichtbar) geladenen Datei erhalte ich ein unheimliches "Ge-Flacker" zwischen dem Ausgansbild oben in der Mitte und dem "ge-hoverten" Bild, welches sich bei mir aber noch nicht in der Mitte des Bildschirmes zeigt, sondern mit der linken oberen Ecke in der Mitte des Bildschirmes (nach rechts unten) hängt. Auch wenn ich das Label <center></center> vor und nach dem <div> deaktiviere, ändert das am Problem selbst nichts. Das Ausgangsbild wird dann bloss anstatt in der Mitte oben links angezeigt. Doch das Geflacker erscheint nach wie vor. Und das Bild ist auch nicht mittig des Bildschirms, sondern hängt quasi mit seiner linken oberen Ecke in der Mitte des Bildschirms (nach unten rechts)

  • Das Geflacker wundert mich nicht, es ist so zu erklären:

    Wenn das Bild vergrößert wird, bewegt es sich auch in die Mitte und dann liegt die Maus nicht mehr drauf --> :hover trifft nicht mehr zu und das Bild wird wieder kleiner usw.

    Ein typisches Problem bei Hover-Effekten. Es gibt noch einen anderen Nachteil beim Hover: Heute ist die Mehrzahl der Benutzer mit Touch-Geräten unterwegs und dabei gibt es kein Hover. Daher empfehle ich, statt des :hover in CSS das Klick-Event in Javascript zu verwenden. Dann wird das Bild stabil an seiner Position stehen bleiben bis ein Close-Button gedrückt wird oder außerhalb des Bildes geklickt wird, z. B.

  • Moin Sempervivum

    Danke für Deine Anregung betr. JS. Werde ich dann so befolgen, weiss bloss leider gar nicht, wie das zu bewerkstelligen ist. Ausserdem endet Deine letzte Mitteilung abrupt, so dass ich denke, es könnte nach "außerhalb des Bildes geklickt wird, z. B." noch etwas fehlen. Oder war das so beabsichtigt?

  • Zitat

    es könnte nach "außerhalb des Bildes geklickt wird, z. B." noch etwas fehlen. Oder war das so beabsichtigt?

    Nein, war so beabsichtigt. Ich hätte auch schreiben können:

    Zitat

    bis z. B. ein Close-Button gedrückt wird oder außerhalb des Bildes geklickt wird.

    Ich zeige dir später, wie das geht mit dem Klick-Event.

  • ... hier eine einfache Lösung mit Javascript und Klick. Das ist noch stark verbesserungsfähig, denn so verschwindet das Bild an seiner ursprünglichen Position und die anderen verschieben sich.

  • Vielen Dank! Verstehe, was Du meinst. Nicht anfreunden kann ich mich damit, dass das geklickte (kleine) Bild verschwindet, was die gesamte Seite (die z. T. recht gross ist) im Erscheinungsbild ändert. Dann ist auch für mich gewöhnungsbedürftig, dass ich *nicht* auf das grosse Bild klicken muss, um es wieder zu verkleinern, sondern gerade ausserhalb dessen.

    Ich bin mir bewusst, dass es meist nicht gut daher kommt, erst um Rat zu bitten und es dann doch selber besser zu wissen. So ist es auch nicht gemeint. Ich denke bloss, mir würde nur ein ganz kleines Stück fehlen, weshalb ich mich erdreiste, hier anbei den letzten Stand der Dinge anzufügen. Mouse - hover - enlarged image. Und bei Klick auf (grosses) Bild, zurück in Ausgangssituation. Es fehlt halt bloss, dass das vergrösserte Bild - und ich denke jetzt dürfte allen Lesern klar sein, warum es so sein soll - mittig des Bildschirms gezoomt werden soll.

    Wäre sehr dankbar, gezeigt zu bekommen, wie das Zoomen von der Mitte des Gerätes aus gehen würde. Dessen, dass heute die Mehrheit mit Handhelds unterwegs ist, bin ich mir bewusst.

  • Versuche dieses, so explodiert das Bild von der Mitte aus und verschwindet, wenn man drauf klickt:

  • Ich ziehe meinen Hut, oh Erleuchteter. Danke Dir recht herzlich für Deine ganze Arbeit! Verstehe also, dass "auf-zoomen" an anderer Stelle - mit meinem Ansatz - nicht möglich ist.

  • Zitat

    Verstehe also, dass "auf-zoomen" an anderer Stelle - mit meinem Ansatz - nicht möglich ist.

    Meinst Du mit Hover? Das ist allerdings problematisch. Wenn Du etwas anderes meinst, könnte gelten "geht nicht, gibt's nicht" und ich würde gern gucken ob es so auch möglich ist.

  • Eine andere Möglichkeit wäre z.B.:

  • Wollte meinen Post oben noch bearbeiten, um Kommentare zu ergänzen.

    Geht aber nicht, da ich keine Berechtigung habe???


    Naja, deshalb hier nochmal die JS:

  • Kleine Anpassung:


    Ich habe das Seitenverhältnis nicht vollständig beachtet und nur mit "Orientation" gearbeitet, daher

    so wie bei Sempervivum angepasst:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!