Ein
Nach diesem Schritt sollten Sie eine Reihe von Bildern und Text in einer vertikalen Spalte übereinander stapeln. Klicken Sie hier, um das Live-Dabblet zu starten.
Definieren Sie die Galerie
Im nächsten Schritt geben Sie der Galerie eine Breite und zentrieren sie auf der Seite. Wir werden auch alle Listenelementstile löschen, die standardmäßig vorhanden sind, und einige grundlegende Körperstile hinzufügen.
Beachten Sie, dass die Containerbreite nicht beliebig ist. Es ermöglicht vier Bildern bei 200px ein Stück mit einem Rand von 50px (250 * 4 = 1.000).
Fortschrittsbericht
Zu diesem Zeitpunkt sollte Ihr Hintergrund dunkel sein und die Aufzählungspunkte auf Ihren Listenelementen sollten verschwunden sein. Ansonsten sieht es weitgehend wie beim letzten Mal aus. Klicken Sie hier, um das Live-Dabblet zu starten.
Line 'Em Up, Round' Em Off
Als Nächstes müssen wir die Listenelemente anvisieren. Stellen Sie sicher, dass Sie einen spezifischeren Selektor verwenden als? Li? Sie möchten sicher, dass alle Ihre Listenelemente dieses Styling haben. Die Gallerie? Die Klasse bietet einen praktischen Haken, um diese Stile für die von Ihnen eingerichteten Galerien zu definieren.
Trotz der Tatsache, dass unsere Bilder ein Quadrat von 400 Pixeln sind, möchten wir eigentlich, dass die Kreise auf der Seite ein Quadrat von 200 Pixeln sind. Legen Sie dazu einfach 200px als Höhe und Breite für die Listenelemente fest. Um die Listenelemente abzurunden, setzen Sie den Randradius auf 50%. Sie werden dies nicht sehen, wenn Sie den Überlauf anwenden: ausgeblendet? Befehl. Achten Sie auch darauf, sie nach links zu schweben, damit sie in einer geraden Linie erscheinen.
Es ist wichtig zu wissen, dass wir dies alles für das Listenelement tun, nicht für die Bilder. Dies bedeutet, dass die Bilder immer noch ihre Originalgröße behalten, sie werden einfach auf die Größe des Listenelements zugeschnitten, sodass sie später verschoben werden können.
Fortschrittsbericht
Danach sollte Ihre Galerie Gestalt annehmen. Sie sollten vier kreisförmige Bilder pro Zeile haben, wobei der übergeordnete Container zentriert ist. Das Seltsame ist, dass unsere Kreise oben liegen! Dies liegt einfach daran, dass unsere Bilder in Position gebracht werden müssen, die wir als Nächstes behandeln werden. Klicken Sie hier, um das Live-Dabblet zu starten.
Scoot und die Animation einstellen
Wie wir im letzten Schritt gesehen haben, sind unsere Bilder tatsächlich zu weit unten.Wir können dies beheben, indem Sie auf alle Bilder in unseren Galerie-Listenelementen zielen und einen negativen Rand auf die Oberseite anwenden.
Während wir hier sind, werden wir auch die Animation einrichten. Wir haben gerade gelernt, dass wir das Bild mit Rändern drehen können. Dies ist also die Eigenschaft, die wir für den Übergang festlegen möchten.
Fortschrittsbericht
Der einzige visuelle Unterschied, den Sie dieses Mal bemerken, ist, dass die flache Oberseite der Kreise korrigiert wurde. Klicken Sie hier, um das Live-Dabblet zu starten.
Stilieren Sie die Absätze
Sie haben wahrscheinlich bemerkt, dass unsere Absätze bis zu diesem Punkt vollständig verborgen wurden. Dies liegt daran, dass sie über den Bildern und außerhalb der Grenzen des abgeschnittenen Listenelements angeordnet sind. Das zu beheben ist nicht so einfach, wie Sie vielleicht denken.
Der erste Gedanke, der mir in den Sinn kam, war einfach der alte absolute / relative Positionierungstrick. Dazu müssen Sie die Position der Absatzelemente auf absolut und das Listenelement auf relativ setzen. Dies würde es uns ermöglichen, den Absatz relativ zum Startpunkt des Listenelements in Position zu bringen. Leider gibt es einen Fehler bei der Art und Weise, wie die meisten Browser den Randradius darstellen, wie im Bild unten dargestellt.
Wie Sie sehen können, werden wir in dem Moment, in dem wir eine relative Positionierung auf unser übergeordnetes Element anwenden, seine abgerundeten Ecken verlieren. Dies ist definitiv ein Ärgernis, aber es ist nicht das Ende der Welt. Stattdessen verwenden wir einfach die relative Positionierung in unserem Absatz und rollen ihn mit oben und links ein.
Dadurch wird unser Absatz sichtbar und wir können einige grundlegende Textstile anwenden. Wir richten auch die Animation für den Text ein, aber anstatt den Rand wie zuvor zu verwenden, verwenden wir die Top-Eigenschaft.
Beachten Sie, dass ich das? Top? Eigentum zu 75% in diesem Schritt. Dies dient lediglich dazu, einen Sweet Spot für den letzten Ruhepunkt der Absätze zu finden. In der Realität möchten wir, dass sie ausgeblendet werden. Setzen Sie also den Höchstwert auf 110%.
Fortschrittsbericht
Nach diesem Schritt sollten Ihre Textausschnitte jetzt am unteren Rand Ihrer Kreise sichtbar sein. Klicken Sie hier, um das Live-Dabblet zu starten.
Legen Sie Ihre Hover-Stile fest
Jetzt, wenn alles so eingerichtet und positioniert ist, wie wir es brauchen, müssen wir alles verschieben, wenn der Benutzer über die Listenelemente schwebt. Dazu verwenden wir einen einfachen Trick, bei dem wir die Listenelemente im Hover als Ziel festlegen, dann aber ein untergeordnetes Element dieses Elements zum Ändern auswählen. Zu Beginn zielen wir auf die Listenelemente im Schwebeflug und zeigen dann mehr an, dass die Bilder das sind, was wir ändern. Wir wiederholen diesen Trick mit den Absätzen.
Wenden Sie für die Bilder eine vertikale und horizontale Verschiebung am Rand an, und bringen Sie für den Absatz den oberen Wert auf die 75% zurück, für die wir uns zuvor entschieden haben.
Fortschrittsbericht
Damit funktioniert unsere Demo endlich so, wie wir es wollen! Bewegen Sie den Mauszeiger über jedes der Bilder, um den Effekt in Aktion zu sehen. Klicken Sie hier, um das Live-Dabblet zu starten.
Fertiges Produkt
Wir sind alle fertig! Wie ich bereits im Intro erwähnt habe, enthält die Demo-Seite auch einige alternative Versionen des Effekts. Insgesamt gibt es drei: Schwenken, Vergrößern und Verkleinern. Klicken Sie auf den Link unten, um es auszuprobieren.
Demo: Klicken Sie hier, um zu starten.
Fazit
Dieses Projekt dehnte unsere Komfortzone aus, indem es sich einem animierten Hintergrund anders näherte. Anstatt CSS zum Platzieren des Bildes zu verwenden, konnten wir den Effekt sowohl mit Text als auch mit Bild in unserem Markup ableiten. Es ist so etwas wie das typische "weniger Markup". Strategie, aber es ist eine gute Lernerfahrung. Wenn Sie mit beiden Szenarien arbeiten können, werden Sie zu einem besseren Codierer, der viele verschiedene Hürden bewältigen kann.
Nebenbei bemerkt ist eines der Dinge, die mich immer mit CSS stören, die Tatsache, dass das beim Laden der Seite häufig unbeabsichtigte visuelle Effekte auslöst. Während die Seite gezeichnet wird, machen die Übergänge den normalerweise sofortigen Prozess lang und unhandlich. Ich weiß, dass dies mit JavaScript angesprochen werden kann, aber wenn Sie eine reine CSS-Lösung haben, würde ich es gerne hören. Für die Demo habe ich die Animationen einfach auf die Hover-Selektoren angewendet, aber das hebt die Schwebeflug-Animation ab. Kennen Sie einen besseren Weg? Lass es mich in den Kommentaren wissen.