Bildwechsel mit css

  • Hallo
    Ich habe im Netz eine schöne Variante für einen Bildwechsel ohne Java gefunden. Nur habe ich das Problem. dass es nur mit 3 Bilder funktioniert - ich möchte aber deren 8. Ich habe #gallery figure:nth-of-type werweitert - ohne gewünschtes Resultat. Kann mir jemand sagen was ich ändern muss?

    Vielen Dank und sonnige Grüsse, nebbiolo


    2 Mal editiert, zuletzt von nebbiolo (16. Juni 2017 um 08:10)

  • Hallo,
    ich glaube nicht, dass das wirklich das erzeugt, was du haben möchtest.
    Du erzeugst mit @keyframes eine Animation, die sich unendlich wiederholt.
    dann weist du den #gallery figure:nth-of-type(x) (das müsstest du im Übrigen für alle 8 deiner Bilder machen) ein Delay zu, getaktet in 5s Schritten... aber irgendwann ist dann der Delay für das letzte Bild abgelaufen und deine Animation würde weiter laufen und immer nur das letzte Bild anzeigen.
    Außerdem müssen alle deine Bilder die selbe Größe haben, denn mit dieser Variante werden eigentlich immer alle Bilder, bei denen die Delayzeit abgelaufen ist eingeblendet und wenn da unterschiedlich große Bilder sind, dann schaut das größere Bild unter dem Kleineren raus!

    Ist zwar nicht ganz das was du suchst... keine Animation.. aber schau mal hier
    https://www.forum-hilfe.de/threads/54061-…alerie-mit-CSS3
    ob das nichts für dich wäre?

    if(!sleep)

    {$sheep++;}

  • Danke Sailor für Deine Ausführungen!
    Mit drei Bilder, wie "Code" oben funktioniert es genau nach meinen Vorstellungen. Ich möchte auf eine Webseite einfach 8 Fotos abwechseln anzeigen, dann immer wiederholen - auch keinen Button betätigen wie beim angegeben Link. Die Bilder sind alle genau gleich gross.
    Ich habe zusätzlich noch 5 (3-7) #gallery figure:nth-of-type(3-7) eingefügt und auch dem delay geändert ... es hat mir aber einfach drei andere Bilder angezeigt.

    Code
    #gallery figure:nth-of-type(3) {
            animation-delay: 5s;
    
    
    #gallery figure:nth-of-type(4) {
            animation-delay: 5s; etc. [COLOR=#333333]}
    etc.
    [/COLOR]

    4 Mal editiert, zuletzt von nebbiolo (16. Juni 2017 um 10:52)

  • Poste doch mal den Link zu der Seite, wo dein Animationsscript herkommt! Vielleicht machen die dort ja noch was geheimnisvolles, um die Delayzeit am Ende wieder auf 0 zu setzen.

    Aber hier ist der Code, wie er bei mir mit den oben beschriebenen Einschränkungen läuft!

    if(!sleep)

    {$sheep++;}

  • Das Problem lag wie immer zwischen den Ohren... zwischen meinen Ohren :cry:.
    Das @keyframe wirkt auf alles, was #gallery figure heißt, nur eben zeitlich versetzt durch den die delay Anweisung zu den nth-of-type(x) Elementen.
    Der Trick ist jetzt das Timeing... weil gemäß dem @keyframe ist das Element bei 0% der Gesamtdauer der Animation (40 Sekunden) unsichtbar.
    Bei 8% der Zeit sichtbar und bleibt sichtbar bis 13%.
    Verblasst dann bis 18% und bleibt unsichtbar bis zum Ende, 100% der Animation.
    Und weil das jeweils mit 5 Sekunden Abstand durch deine Liste geschieht, wird dieser Effekt erzielt... und wenn das Timeing stimmt, dann wiederholt sich das auch unendlich.
    Probier es aus!

    if(!sleep)

    {$sheep++;}

  • SUPER, danke vielmals - nun funktioniert es genau so wie ich es mich vorgestellt habe.
    Viele Grüsse an die Nordseeküste aus "Bella Italia", Nebbiolo

    • Offizieller Beitrag

    Hallo,

    Ich halte die Lösung nicht für sehr sinnvoll.
    Bei jedem weiteren Bild ( oder auch, wenn ein Bild rausfällt ), musst Du die CSS anpassen, aufgrund der Delays.
    Eine Gallery sollte selbständig auf eine Änderung der Bilder reagieren können. Sofern Du Deine hier gezeigte CSS dynamisch auf Basis der Bilder generierst, wäre das natürlich möglich, dennoch finde ich die Lösung nicht sehr schön, aber das ist nur meine persönliche Meinung!

    Sorry, wenn's Dir wie Klug scheißen vorkommt, aber ich kann das so nicht stehen lassen:

    Zitat

    Ich habe im Netz eine schöne Variante für einen Bildwechsel ohne Java gefunden.

    Java ist nicht JavaScript und hat außer der Namensgebung so gut wie nichts miteinander zu tun!
    ;)

  • Hättest du eine bessere Lösung parat, wenn die Frage lautet - Bildwechsel... 8 Bilder... ohne Java(Script)?
    Ein paar Zeilen PHP, um das dynamische Einfügen des notwendigen Codes (CSS + HTML Code zum Einfügen der Bilder) bei einer beliebigen Anzahl von Bildern zu bewerkstelligen, sind sicherlich in überschaubarer Zeit zu generieren.

    if(!sleep)

    {$sheep++;}

    • Offizieller Beitrag
    Zitat von Sailor

    Hättest du eine bessere Lösung parat, wenn die Frage lautet - Bildwechsel... 8 Bilder... ohne Java(Script)?
    Ein paar Zeilen PHP, um das dynamische Einfügen des notwendigen Codes (CSS + HTML Code zum Einfügen der Bilder) bei einer beliebigen Anzahl von Bildern zu bewerkstelligen, sind sicherlich in überschaubarer Zeit zu generieren.


    Womit Du Dir die Frage quasi selbst beantwortest hast. ;)
    Ja, das wäre eine Möglichkeit.

    Ich habe bewusst kein Beispiel in diesem Fall aufgezeigt, weil ich das auf die Weise nicht lösen würde.
    Mir gefällt halt das ganze Prinzip nicht wirklich, weil es eben nicht sehr wartungsfreundlich ist.
    Aber ich sagte auch, dass das nur meine Meinung ist und zum Überdenken anregen sollte, nicht dass man es anders machen muss!