Erstelle eine reaktionsschnelle persönliche Portfolio-Website | Giorgi Lomidze | Skillshare

Playback-Geschwindigkeit


1.0x


  • 0.5x
  • 0.75x
  • 1x (normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Erstelle eine reaktionsschnelle persönliche Portfolio-Website

teacher avatar Giorgi Lomidze, UI / UX Designer

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      Einführung

      2:14

    • 2.

      SET-UP

      1:56

    • 3.

      Projektvorschau

      6:52

    • 4.

      Hintergründe vorbereiten und gängige Stile erstellen

      8:23

    • 5.

      Erstelle einen animierten Mauskreis

      13:26

    • 6.

      Erstelle und passe deinen Website-Header an

      15:58

    • 7.

      Animiere Kreise

      10:06

    • 8.

      Erstelle und passe die Hauptschaltfläche an

      11:09

    • 9.

      Ripple-Effekt auf Hauptschaltfläche

      12:18

    • 10.

      Erstelle und entwirfe Über mich Abschnitt

      14:55

    • 11.

      Projektabschnitt erstellen und anpassen - Teil 1

      16:26

    • 12.

      Projektabschnitt erstellen und anpassen - Teil 2

      18:57

    • 13.

      "Mehr anzeigen"-Funktion zu Projekten hinzufügen - Teil 1

      11:42

    • 14.

      "Mehr anzeigen"-Funktion zu Projekten hinzufügen - Teil 2

      10:24

    • 15.

      Abschnitt Create and Design Services

      14:23

    • 16.

      Erstelle und passe dein Kontaktformular an

      14:26

    • 17.

      Erstelle eine Diashow mit Social-Media-Links

      12:14

    • 18.

      Navigation erstellen und anpassen

      14:38

    • 19.

      Fortschrittsbalken für Design - Teil 1

      16:57

    • 20.

      Fortschrittsbalken für Design - Teil 2

      10:49

    • 21.

      Fortschrittsbalken für Design - Teil 3

      7:25

    • 22.

      Code-Refactoring

      5:22

    • 23.

      Sticky Elements

      13:12

    • 24.

      Mauskreis transformieren

      14:20

    • 25.

      Reagiere auf ein Projekt - Teil 1

      10:35

    • 26.

      Reagierende Projekte - Teil 2

      10:19

    • 27.

      Formularvalidierung

      19:12

    • 28.

      Website-Hosting auf Netlify

      9:34

  • --
  • Anfänger-Niveau
  • Fortgeschrittenes Niveau
  • Fortgeschrittenes Niveau
  • Jedes Niveau

Von der Community generiert

Das Niveau wird anhand der mehrheitlichen Meinung der Teilnehmer:innen bestimmt, die diesen Kurs bewertet haben. Bis das Feedback von mindestens 5 Teilnehmer:innen eingegangen ist, wird die Empfehlung der Kursleiter:innen angezeigt.

117

Teilnehmer:innen

--

Projekte

Über diesen Kurs

Ressourcendateien

Willkommen in dem brandneuen Kurs, in dem du lernen kannst, wie du eine persönliche Portfolio-Website von Grund auf mit nur drei Kerntechnologien HTML, CSS und JS erstellen kannst.

Wenn du dein eigenes Portfolio erstellen möchtest, das dir hilft, dich optimal zu repräsentieren und eingestellt zu werden, dann ist dies der richtige Kurs für dich.

Wenn du einen der Arbeitgeber oder Projektmanager fragst, wie man die besten Entwickler auswählt, wird jeder antworten, dass es das Wichtigste an dem Entwickler ist, sich mit einem guten Portfolio zu präsentieren.

Wenn du mit HTML, CSS und JS vertraut bist, kannst du bereits eine wirklich gute persönliche Portfolio-Website erstellen, auf der du dich ausdrücken und jedem deine Fähigkeiten und Kenntnisse zeigen kannst.

Während dieses Kurses werden wir eine Portfolio-Website-Vorlage erstellen, die voller moderner und schöner Funktionen und Effekte sein wird. Wenn du die Website mit nur diesen drei Kerntechnologien erstellen möchtest, dann sollte sie definitiv eine fortgeschrittene und coole sein.

Wir werden dieses Projekt von Grund auf neu erstellen, wir werden keine der Tools von Drittanbietern verwenden, ich meine die Bibliotheken und Frameworks. Sobald wir die Website erstellt haben, werden wir dir beibringen, wie du das Projekt hosten und live machen kannst, damit es für alle verfügbar ist. Außerdem wirst du lernen können, wie man die Schalung macht, um Feedback von deinen Gästen zu erhalten.

Wir werden das Projekt auf verschiedene Bildschirmgrößen ansprechen, damit jeder Benutzer von jedem Gerät aus auf die Website zugreifen kann

Ich denke, dieser Kurs wird für alle, also für Anfänger oder erfahrene Designer, interessant und hilfreich sein.

Triff deine:n Kursleiter:in

Teacher Profile Image

Giorgi Lomidze

UI / UX Designer

Kursleiter:in

Hi,

I'm George, an UI / UX Designer, Web Developer, Founder at 'Code And Create' , and an author of several best-selling online classes.

I'm excited that I have a chance to help people to learn one of the most interesting and hottest fields in the world.

I decided to share my knowledge and experience with you and that's the main reason for being here at Skillshare.

Looking forward to seeing you inside my classes and help you to become a professional UI / UX Designer

Vollständiges Profil ansehen

Level: All Levels

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

Transkripte

1. Einführung: Willkommen zu dem brandneuen Kurs, in dem Sie lernen können, wie Sie mit nur drei Kerntechnologien, HTML, CSS und JavaScript, eine persönliche Portfolio-Website von Grund auf neu erstellen eine persönliche Portfolio-Website mit nur drei Kerntechnologien, HTML, CSS und JavaScript, eine persönliche Portfolio-Website von Grund auf neu können. Wenn Sie Ihr eigenes Portfolio erstellen möchten, das Ihnen hilft, sich bestmöglich zu präsentieren und eingestellt zu werden. Dann ist dies der richtige Kurs für Sie. Wenn Sie einen der Arbeitgeber oder Projektmanager fragen , wie man die besten Entwickler auswählt , alle. Aber das Wichtigste am Entwickler ist, dass er sich selbst mit einer guten Standardeinstellung repräsentiert. Wenn Sie mit HTML, CSS und JavaScript vertraut sind, können Sie alle bereits eine wirklich gute persönliche Portfolio-Website erstellen , auf Sie sich ausdrücken und allen Ihre Fähigkeiten und Ihr Wissen zeigen können . Während dieses Kurses werden wir eine Portfolio-Website-Vorlage erstellen , die voller moderner und schöner Funktionen und Effekte ist. Denn wenn Sie eine Website mit nur diesen drei Kerntechnologien erstellen möchten , dann sollte es sich auf jeden Fall um eine fortschrittliche und coole Website handeln. Wir sagen nicht, dass es Ihre eigene Portfolio-Website wird und Sie sie kopieren können. Aber es wird eine große Inspiration sein , die Ihnen helfen wird, Ihre eigenen Portfolio-Websites zu erstellen Ihre eigenen Portfolio-Websites oder zu verbessern, falls Sie alle eine haben. Wie bereits erwähnt, werden wir dieses Projekt von Grund auf neu aufbauen. Wir werden keine Tools, Bibliotheken und Frameworks von Drittanbietern Sobald wir eine Website erstellt haben, bringen wir dir bei, wie du das Projekt hostest und Leben einrichtest , um es für alle verfügbar zu machen. Außerdem werden Sie lernen, wie das Formular funktioniert, um Feedback von Ihren Gästen zu erhalten. Sie werden das Projekt so gestalten, dass Teile so groß sind, dass jeder Benutzer von jedem optischen Gerät aus auf die Website zugreifen kann . Ich denke, dieser Kurs wird für alle interessant und hilfreich sein. Ich meine, es ist Zahnstein oder erfahrene Entwickler. Also warte nicht und schließ dich uns an 2. SET-UP: Hallo und willkommen zum Kurs. Wir freuen uns, dass Sie hier sind und hoffen, dass Ihnen der Kurs gefällt , bevor wir tiefer tauchen und mit der Erstellung unserer Projekte beginnen. Zuallererst müssen wir unser Arbeitsumfeld vorbereiten. Ich bin mir sicher, dass die meisten von Ihnen bereits bereit sind , den Code zu schreiben. Wenn ja, können Sie dieses Video gerne überspringen und sofort mit den Projekten beginnen. Aber wenn nicht, dann ist das nicht das Problem. Lassen Sie uns weitermachen und einige Tools einrichten. In diesem Kurs benötigen wir zwei Haupttools, nämlich einen modernen Webbrowser und einen Texteditor. Als Webbrowser werde ich hauptsächlich Google Chrome verwenden. Und in einigen Fällen benötigen wir auch die Hilfe von Mozilla Firefox. Ich bin mir sicher, dass Sie bereits wissen, wie man diese Webbrowser installiert, und ich denke, Sie haben sie alle bereits. Aber wie dem auch sei, schauen wir uns an, wie man sie herunterlädt. Um Google Chrome zu erhalten, müssen wir hier zu dieser URL gehen und den Webbrowser herunterladen. Der Installationsvorgang ist ziemlich einfach, daher werde ich ihn nicht durchführen. Für Mozilla Firefox müssen Sie diese URL verwenden und den Webbrowser von hier herunterladen Beide Links werden dieser Vorlesung beigefügt. In Ordnung, lassen Sie uns weitermachen und über den Texteditor sprechen. Wir werden Visual Studio Code verwenden, weil es derzeit einer der besten Texteditoren der Welt ist. Natürlich können Sie sich frei fühlen und Ihren Lieblingstexteditor verwenden. Es liegt an Ihnen, aber ich empfehle, den VS-Code zu verwenden. Um den VS-Code herunterzuladen, müssen Sie diese Website besuchen und den Texteditor entweder für Windows oder Mac oder Linux herunterladen. Dieser Link wird ebenfalls dieser Vorlesung beigefügt. Der Installationsvorgang von Visual Studio Code ist ebenfalls sehr einfach, daher bin ich mir sicher, dass er damit keine Probleme haben wird. In Ordnung, sobald Sie beide Tools installiert haben, können Sie loslegen Also lasst uns gleich zu den Projekten springen 3. Projektvorschau: Hallo und willkommen zur allerersten Vorlesung dieses Kurses, in ich das Projekt durchgehen und all diese Abschnitte detailliert beschreiben werde . Vorher möchte ich erwähnen, dass das Projekt auf Basis von HTML, CSS und JavaScript erstellt wird . Sie sollten also über ein grundlegendes Verständnis dieser Technologien verfügen , um allen Vorlesungen folgen zu können. In Ordnung, lassen Sie uns weitermachen und die Projekte durchgehen. Der erste Abschnitt , den wir bauen werden, wird Landing sein, in dem wir diese animierten Kreise haben. Sie bewegen sich. Sobald wir den Cursor bewegen. Ebenfalls im Zentrum der Kreditvergabe haben wir das Bild des Webdesigners und unwahrscheinlicher Kreise. Es bewegt sich in seinem eigenen Kreis und erzeugt diesen schönen und coolen Effekt. Außerdem wird das Bild mit dem Hintergrund vermischt. Sie werden also lernen, wie Sie diesen Effekt mit CSS erstellen. In der oberen rechten Ecke der Seite haben wir ein paar Navigationspunkte. Sie sind mit den richtigen Abschnitten verbunden. Wenn wir sie anklicken, navigieren wir zu den entsprechenden Abschnitten. Wenn wir anfangen, nach unten zu scrollen, verwandeln sich die Navigationselemente außerdem in das Menüsymbol. Und wenn wir darauf klicken, werden sie wieder angezeigt. In der oberen linken Ecke der Seite sich das Logo, der vollständige Name des Designers. Auf der linken und rechten Seite der Ausleihe sehen Sie den Text , der klebrig ist. Wenn ich anfange, nach unten zu scrollen bleibt es für eine Weile hängen. Okay? Außerdem haben wir hier einen Button mit einem schönen Schwebeeffekt Wenn ich auf diese Schaltfläche klicke , werden wir zum Abschnitt Projekte weitergeleitet. In Ordnung, das war's mit der Landung. Als nächstes haben wir den Abschnitt Über mich. Es enthält große Texte , die standardmäßig mit dem Hintergrund vermischt Und wenn ich anfange, mit der Maus über den Text zu fahren, werden die Elektronen heller und es gibt nette Animationseffekte Außerdem haben wir hier eine ähnliche Schaltfläche, mit der wir zum Kontaktbereich navigieren können. Okay, das war's mit diesem zweiten Abschnitt. Als nächstes folgt der Projektabschnitt , der meiner Meinung nach einer der interessantesten Abschnitte des Projekts ist . Standardmäßig sehen wir hier sechs verschiedene Projekte. Wenn ich mit der Maus über sie fahre, beginnen die Bilder in einer 3D-Umgebung schön nach oben zu scrollen in einer 3D-Umgebung schön Wenn ich auf eines der Projekte klicke, werden sie erweitert. Sie können nach unten scrollen und das Projekt im Detail überprüfen. Wir haben hier einen Schließknopf. Wenn ich darauf klicke, wird das Projekt geschlossen. Außerdem haben wir hier die Schaltfläche „Mehr anzeigen“. Wenn ich darauf klicke, werden ein paar versteckte Projekte angezeigt. Die Seite wird automatisch nach unten gescrollt. Der Text in der Schaltfläche wird in „Weniger anzeigen“ geändert. Und auch der Pfeil dreht sich entsprechend der Scrollrichtung. Wenn ich auf die Schaltfläche klicke, werden die Projekte ausgeblendet. In Ordnung, als nächstes kommt der Abschnitt Services. Wir haben hier ein paar verschiedene Dienste, die in einer großen Schrift angezeigt werden. Wenn ich sie anklicke, werden sie erweitert und einige Beschreibungen werden angezeigt. Okay, danach folgt der letzte Abschnitt des Projekts , der Kontakt. Es besteht aus ein paar verschiedenen Eingabefeldern. Und wir haben hier auch einen Senden-Button. Eigentlich funktioniert dieses Formular. Ich meine, die Felder sind validiert und der Benutzer kann auch eine Nachricht senden Denn sobald wir das Projekt erstellt haben, werden wir es hosten und zum Leben erwecken. Wenn ich die Felder spüre. Und dann klicken Sie auf Anfrage senden, das Formular wird gesendet und Sie erhalten die Nachricht. Wie gesagt, das Formular ist validiert. Wenn ich zum Beispiel die Felder leer lasse und das Formular abschicke, erhalten wir einige Fehlermeldungen. Gleich am Ende der Seite haben wir eine schöne Diashow der Social-Media-Icons Darüber hinaus haben wir einige zusätzliche Funktionen im Projekt. Wie Sie sehen können, hat der Cursor den Kreis und die Punkte, und sie bewegen sich gut mit dem Cursor. Wenn ich als Nächstes den Mauszeiger über einige Elemente wie Projekte oder Dienstleistungen bewege, ändert der Kreis seine Form und wir erhalten die Form der Harvard-Elemente Außerdem haben wir einen schönen Effekt mit dem Menüsymbol und dem Fortschrittsbalken. Wenn ich den Mauszeiger über sie bewege, bleiben sie am Mauszeiger haften. Aber wenn ich den Cursor weit von ihren Ausgangspositionen entfernt bewege , erhalten sie ihre Standardpositionen. Abschließend werde ich über den Fortschrittsbalken sprechen. Es befindet sich in der unteren rechten Ecke und hat eine feste Position. Sobald wir anfangen, auf der Seite nach unten zu scrollen, dieser weiße Kreis fühlt sich dieser weiße Kreis mit der roten Linie an. Sobald wir ganz nach unten zur Seite gegangen sind, ist der gesamte Kreis gefüllt. Und auch der Pfeil wird sich drehen. Wenn ich auf den Fortschrittsbalken klicke, navigieren wir zum Anfang der Seite. Außerdem können wir auf den Fortschrittsbalken klicken. Es ermöglicht uns, Abschnitt für Abschnitt nach unten zu navigieren. Der Fortschrittsbalken funktioniert mit dem Projektbereich. Wenn ich das Projekt erweitere, wird der Fortschrittsbalken aktualisiert und er beginnt, gemäß dem Bild zu arbeiten. Aber wenn ich das Projekt schließe der Fortschrittsbalken funktioniert der Fortschrittsbalken entsprechend der Seite weiter. Ordnung, das ist alles über diese Abschnitte und Funktionen des Projekts Wie bereits erwähnt, wird es auf die verschiedenen Bildschirmgrößen reagieren . Wenn ich die Seite überprüfe, wechsle ich in den responsiven Modus und überprüfe das Projekt. Auf den verschiedenen Bildschirmgrößen. Sie werden sehen, dass es responsiv ist. Ich möchte hier eine Sache erwähnen, das Projekt basiert auf einer extra großen Bildschirmgröße. Dies entspricht einer Breite von 1920 Pixeln und einer Höhe von 1080 Pixeln Wenn Sie die relativ kleinere Bildschirmgröße als das Projekt verwenden , sieht das während der Vorlesungen möglicherweise nicht gut aus. Ich empfehle also, in den Responsive-Modus zu wechseln und Breite und Höhe so einzustellen . Wie dem auch sei, Sie müssen sich keine Sorgen machen, denn am Ende des Projekts werden wir die Website responsiv gestalten Wie ich bereits erwähnt habe, werden wir das Projekt hosten und es mit Netlify live bringen Also ich denke, wir sind bereit zu beginnen. Als Nächstes müssen wir einige Tools einrichten und schon kann es losgehen. Also lass uns weitermachen. 4. Hintergrund vorbereiten und gemeinsame Stile erstellen: In Ordnung, wir sind bereit, mit dem Bau unserer Projekte zu beginnen. Ich habe einen neuen Ordner auf dem Desktop erstellt , in dem ich nur die Bilder habe. Ich meine, wir haben hier ein paar verschiedene Ordner für verschiedene Bilder. Lassen Sie uns diesen Ordner im VS-Code öffnen und unsere Arbeitsdateien erstellen. Wir benötigen drei verschiedene Dateien. Die erste wird index.html sein. Dann wird das nächste erschreckte CSS sein. Was den dritten betrifft, sollten es Skripte dot js sein. Öffnen Sie dann die Datei index.html und erstellen Sie das grundlegende HTML-Dokument. Dafür verwende ich eines der eingebauten VS-Codepakete namens Emmet Wir müssen ein Ausrufezeichen setzen und dann die Tabulatortaste oder die Eingabetaste drücken Wir haben hier grundlegende HTML-Tags. Das erste, was ich tun werde, ist den Titel zu ändern. Fügen wir es hier ein. Nick Brown, kreativer Designer. Danach verknüpfen wir CSS- und JavaScript-Dateien. Ich werde das Link-Tag in den Header-Elementen öffnen. Und dann müssen wir hier den Pfad der Datei angeben. Für die JavaScript-Datei müssen wir das Script-Tag direkt über dem abschließenden Body-Tag öffnen . Und dann müssen wir im Quellattribut den Pfad der Datei angeben. Ordnung, also alle drei Dateien sind verknüpft und jetzt können wir das Projekt im Browser ausführen Dafür. Wie ich bereits erwähnt habe, werde ich Live Server verwenden. Auch hier können wir das Projekt live im Browser ausführen und Aktualisierungen und Änderungen vornehmen, ohne die Seite jedes Mal zu aktualisieren. Abschließend werde ich den Browser und den Texteditor so platzieren , dass wir loslegen können. Das erste, was ich tun werde, ist, diesen dunklen Hintergrund zu erstellen. Außerdem werden wir einige Reset- und Common-Stile erstellen. Lassen Sie uns zunächst mit dem HTML-Markup beginnen Lassen Sie uns Ihre Kommentare einfügen. Seitencontainer. Und Off-Page-Container. Öffnen Sie dann das div-Tag und weisen Sie es seinem Klassencontainer zu. Dieses Element wird also den gesamten Inhalt der Webseite enthalten . Als Nächstes erstelle ich ein weiteres div-Tag für den Seitenhintergrund. Aber lassen Sie uns zuerst Ihre neuen Kommentare einfügen. Eigentlich bevorzuge ich es, Code durch Kommentare zu trennen, weil es uns ermöglicht, saubereren und verständlicheren Code zu schreiben . Lassen Sie uns also Ihre Seite BG und Off-Page-VG einfügen. Ordnung, das war's jetzt mit dem HTML-Markup, gehen wir zur CSS-Datei Wie gesagt, ich werde einige Resets und gängige Styles vorbereiten. Fügen wir also neue Kommentare ein. Gängige Stile. Von gängigen Stilen. Wählen Sie dann alle Elemente mit einem Sternchen aus. Zuallererst werde ich Standard, Rand und Padding von jedem Element entfernen Rand und Padding von jedem Element Lassen Sie uns beide auf Null setzen. Dann mache ich die Box-Größe der Border-Box. In diesem Fall werden die Polsterung und der Rand in der Größe des Elements berücksichtigt Als Nächstes entferne ich den standardmäßigen Basiswert aus den Links. Wir müssen also Textdekoration mit dem Wert none verwenden. Außerdem möchte ich die Standardaufzählungszeichen aus den Listenelementen entfernen Standardaufzählungszeichen aus den Listenelementen Lassen Sie uns den Listenstil und den Typ auf „Keine“ setzen. Dann entferne ich die Standardkontur aus den Elementen. Setzen wir es auf Null. In der Übersicht befinde ich mich in der Grenze, die erscheint, wenn wir uns auf die Foren und Schaltflächen konzentrieren. Das Letzte, was ich tun möchte, ist die Schriftfamilie zu definieren Während dieses Projekts werden wir zwei verschiedene Google-Schriftarten verwenden. Also lasst uns weitermachen und die Google Fonts-Website besuchen. Die erste Schrift, nach der ich suchen werde, heißt also Euro. Lassen Sie uns alle Stile auswählen. Um die Schrift zu verlinken, haben wir zwei verschiedene Möglichkeiten. Wir können den Link entweder hier kopieren und in das Hauptelement der HTML-Datei einfügen. Oder wir können auf Import klicken, diese URL abrufen und in die CSS-Datei einfügen . Dieses Telefon wird unser Standardtelefon sein. Definieren wir es für jedes Element. Wir brauchen hier den Namen der Schrift, JIRA und Sensory. Ordnung, das nächste Telefon, nach dem ich suchen werde, heißt Poppins Ich werde all diese Stile auswählen , außer dass der Italiener es will. Dann schnappen Sie sich den Link und fügen Sie ihn ebenfalls in die CSS-Datei ein. Ordnung, all diese Stile werden also auf jedes Element angewendet , das im Laufe des Projekts entsteht Als Nächstes kümmere ich mich um die Maßeinheit. Während des gesamten Projekts werden wir Rampe als Maßeinheit verwenden. Standardmäßig entspricht ein RAM 16 Pixeln, da die Schriftgröße des HTML-Elements 16 Pixeln entspricht. Ich möchte ein RAM in zehn Pixel umwandeln, weil ich denke, dass dies bequemer und einfacher zu berechnen ist. Um das zu erreichen, müssen wir die Schriftgröße der HTML-Elemente auf 62,5 Prozent reduzieren der HTML-Elemente auf 62,5 Prozent In diesem Fall entspricht ein Rem also zehn Spitzen. Okay, das war's mit den gängigen Stilen im Moment, lassen Sie uns weitermachen und uns um den Hintergrund kümmern Fügen wir neue Kommentare für die Seite ein, die wir auf Seite BG benötigen, und wählen Sie Div-Elemente aus. Der Hintergrund wird also repariert. Wenn wir uns das fertige Projekt ansehen und nach unten scrollen, werden Sie feststellen, dass es repariert ist und sich nicht bewegt. Lassen Sie uns also die Position festlegen, um sie zu korrigieren. Als Nächstes definiere ich diese Breite und Höhe. Lassen Sie uns die Breite auf 100% setzen. Was die Höhe angeht, werde ich sie zu 100% aus dem Viewport machen Deshalb müssen wir hier h sein. Okay? Danach lege ich das Bild als Hintergrund fest. Lassen Sie uns zunächst eine lineare Verlaufsfunktion verwenden eine lineare Verlaufsfunktion da ich das Bild etwas dunkler machen möchte. Lassen Sie uns Ihren RGBA-Wert mit einer schwarzen Farbe und den sieben Opazitätspunkten einfügen einer schwarzen Farbe und den sieben Opazitätspunkten Und dann verwende wieder den gleichen RGBA-Wert mit einer Opazität Danach definiere ich den Pfad der Bild-URL. Und wir müssen hier den Pfad des Bildes angeben. Wir haben einen Bilderordner und das Bild für den Hintergrund, das als Bg-Punkt-JPG bezeichnet wird. Lassen Sie uns außerdem die Position auf die Mitte setzen und auch den Hintergrund festlegen. Wiederhole, keine Wiederholung. Und schließlich, wenn die Größe des Hintergrunds definiert ist, lassen Sie uns ihn farbig machen. In Ordnung, hier haben wir unser Vollbild-Hintergrundbild Als Nächstes kümmere ich mich um den Cursor. Also lass uns weitermachen. 5. Animierten Mauskreis erstellen: Okay, sobald wir den Hintergrund vorbereitet und einige gängige Stile erstellt haben . Als Nächstes nehme ich hier den Cursor ab. Ich meine den Kreis und den Punkt, der sich entsprechend den Mausbewegungen bewegt. Wenn wir die Maus angehalten haben, werden Sie außerdem sehen, dass der Kreis und die Punkte animiert werden Außerdem werden sie verschwinden, wenn wir die Seite live sehen. In Ordnung, genau das werden wir in diesem Video tun. Lassen Sie uns zunächst diese beiden Elemente in der HTML-Datei erstellen . Das mache ich außerhalb des Containers. Fügen wir neue Kommentare ein, Mauskreis und den Mauskreis. Wir werden also zwei verschiedene Elemente haben. Der erste wird der Mauskreis sein und der zweite die Punkte. Ich meine Mauspunkt. In Ordnung, lassen Sie uns über das HTML sprechen. Als Nächstes. Ich werde beide Elemente stylen. Fügen wir also direkt nach den Common Styles neue Kommentare in CSS ein. Wir brauchen den Mauskreis. Und von Mouse Circle. Wählen Sie dann Mauskreis. Zuerst definiere ich seine Breite und Höhe. Stellen wir beide auf sechs RAM ein. Dann brauchen wir eine Grenze mit den Werten 0.1 run solid. Und als Farbe verwende ich C7, eine Sechs bis Zwei Außerdem werde ich das Element mit einem Randradius von 50 Prozent abgerundet machen mit einem Randradius von 50 Prozent In Ordnung, also hier haben wir den Kreis. Als nächstes müssen wir uns um seine Position kümmern. Ich setze Position zwei fest. Im Moment ist der Kreis also nicht mehr machbar, weil er hinter dem Hintergrund gelandet ist. Und um das zu beheben, verwenden wir die Eigenschaft z-index. Wir müssen ihm einen höheren Wert als Null zuweisen. Sagen wir 300. Ordnung, das war's mit dem Kreis. Vorerst. Lassen Sie uns weitermachen und uns um das zweite Element kümmern, das ein Punkt ist. Wählen wir es aus und definieren wir seine Breite und Höhe. Ich werde beide dazu bringen, Fibrin zu zeigen und auch die Hintergrundfarbe zu ändern Verwenden wir neun P 0 D E. Hier haben wir also die Punkte. Jetzt müssen wir uns um seine Position kümmern. Wir müssen seine Position festlegen. Tatsächlich werden einige dieser Kacheln für beide Elemente ähnlich sein , sodass wir sie gleichzeitig auswählen können. Dann können wir uns diese drei Codezeilen schnappen und einfügen. Dann du. In Ordnung, das ist es. Im Moment sind beide Elemente gestylt und jetzt ist es an der Zeit, sie mithilfe von JavaScript zum Laufen zu bringen Als erstes müssen wir beide Elemente auswählen. Lassen Sie uns also eine neue Variable erstellen. Ich werde es Mouse Circle nennen. Wählen Sie es dann mit der Abfrageauswahlmethode aus. Wir müssen hier den Klassennamen angeben, Mauskreis. Als Nächstes wähle ich den Mauspunkt aus. Tatsächlich können wir diese Codezeile duplizieren. Ändern Sie dann den Namen der Variablen. Es wird Mauspunkt sein. Und ändere auch den Klassennamen. Wir brauchen den Mauspunkt. Okay, danach müssen wir eine Funktion erstellen, in der wir die obere und linke Position für beide Elemente definieren müssen. Lassen Sie uns zunächst unsichere Kommentare machen. Mauskreis und Mauskreis. Erstellen Sie dann eine Pfeilfunktion. Ich nenne es Mauskreis N. Diese Funktion benötigt zwei Parameter, X und Y. Diese Parameter sind die Werte der Eigenschaften top und left Um sie zu definieren, verwende ich Stil - und CSS-Texteigenschaften. Fügen wir dem Mauskreis die Stileigenschaft hinzu, gefolgt von der CSS-Steuereigenschaft, in der wir mehrere CSS-Stile definieren können. Wie gesagt, wir müssen die Positionen oben und links als den Wert einer schwierigen Position definieren . Ich übergebe hier den Parameter Y, gefolgt von den Pixeln. Und dann brauchen wir eine linke Eigenschaft mit einem Wert von X Pixeln. Lassen Sie uns weitermachen und diese Codezeile duplizieren und die zwei Punkte umkreisen Okay, jetzt müssen wir diese Funktion aufrufen und die richtigen Argumente für die X- und Y-Parameter definieren die richtigen Argumente für die X- und Y-Parameter Wir müssen diese Funktion ausführen, wenn sich die Maus bewegt. Ich meine, wir müssen die Mausbewegungsereignisse an die Körperelemente anhängen . Und sobald dieses Ereignis ausgelöst wird, müssen wir diese Funktion aufrufen. Lassen Sie uns zunächst einen Event-Listener an den Body anhängen. Wenn ein Dokument einen Punktkörper enthält, gefolgt von der Listener-Methode „Event hinzufügen Dann müssen wir hier die Art der Ereignisse angeben, das wird eine Mausbewegung sein. Außerdem benötigen wir hier eine Callback-Funktion, die ausgeführt wird, sobald das Ereignis ausgelöst wird Außerdem werde ich hier das Event-Objekt übergeben. Zuerst. Schauen wir uns die Konsole an, wie dieses Event funktioniert. Öffnen wir die Entwicklertools und wechseln wir zum Konsolen-Tab. Sobald wir also anfangen, die Maus zu bewegen , wird das Ereignis eintreten. Richtig? Jetzt möchte ich mir das Event-Objekt ansehen, das wir hier in der Callback-Funktion übergeben haben Wenn wir jetzt die Maus bewegen, erhalten wir das Mausereignisobjekt in der Konsole. Wenn wir acht runterlassen, dann finden wir hier viele verschiedene Immobilien. Wir werden Client X und Client verwenden. Warum Immobilien? Tatsächlich geben sie uns die Entfernung vom oberen und linken Rand des Viewports Diese Werte sollten also die Argumente der Funktion sein. Ich meine, diese Werte sind die obere und linke Position des Kreises und der Punkte. Lassen Sie uns also zunächst Variablen erstellen. Ich werde die let-Deklaration verwenden . Nennen wir die Variable als X. Sie sollte dem E-Dot-Client X entsprechen Dann duplizieren Sie diese Codezeile und ändern Sie X in Y. Danach müssen wir die Funktion I mean Mouse Circle F N aufrufen die Funktion I mean Mouse Circle F N und X und Y als Argumente übergeben Wenn wir jetzt also die Maus bewegen, bewegen der Kreis und die Punkte bewegen sich mit dem Kurs. Richtig? Wie Sie sehen, müssen wir nun die Positionen der beiden Elemente leicht ändern , da sich der Cursor in der Mitte des Kreises mit einem.Um das zu erreichen, müssen mit einem.Um das zu erreichen, wir beide Elemente entlang der X- und Y-Achse bewegen , um -50 Prozent Transform Translate-Funktion Und wir müssen hier zweimal -50 Prozent bestehen. Okay, jetzt sind die Positionen der beiden Elemente festgelegt. Und das einzige, was wir tun müssen, ist, beiden Elementen eine kleine Animation hinzuzufügen. Dafür müssen wir CSS-Keyframes verwenden. Lassen Sie uns zunächst die Animation für den Mauskreis erstellen. Während der Animation werde ich die Größe der Elemente also ein paar Mal erhöhen und verkleinern . Erstellen Sie Keyframes. Ich nenne es Mouse, Circle and Him. Ich meine Animation. Bei 0% betragen Breite und Höhe also sechs RAM. Dann lass uns diesen Code duplizieren. Als nächstes werden es 25% sein. Ich werde beide Werte auf acht RAM erhöhen. Dann noch einmal, duplizieren Sie den Code. Der nächste Schritt werden 35 Prozent sein. Die Breite und Höhe werden voller RAM sein. Als Nächstes werden wir 70% haben. Die Werte werden eine Straßenbahn sein. Für den letzten Schritt, ich meine 100%, brauchen wir wieder Standardwerte, sechs Rampen. In Ordnung? Die Keyframes sind also bereit, und jetzt müssen wir diese Regeln auf den Mauskreis anwenden Lassen Sie uns weitermachen und die Animationseigenschaft verwenden. Zuerst müssen wir den Namen der Keyframes angeben , Mouse Circle Anime Dann wird die Dauer bei 10 s angegeben. Außerdem werden wir die Animation unendlich lang laufen lassen Und dann verwende ich eine der linearen Animations-Timing-Funktionen. Ordnung, wie Sie sehen können, ist der Kreis animiert Machen wir das ähnlich wie bei den Mauspunkten. Bei Mauspunkten werde ich die Größe nur einmal erhöhen. Lassen Sie uns also CSS-Keyframes erstellen. Ich nenne es Mouse Dots, Anime. Also bei 0% werde ich Breite und Höhe auf 0,5 RAM setzen. Dies sind die Standardwerte , bei denen der nächste Schritt 55% sein wird. Lassen Sie uns die Werte ändern, sie auf 1,5 g erhöhen. Und dann, am Ende der Animation, meine ich 100%. Wir brauchen wieder einen Standardwert von 0,5 g, oder? Die Keyframes sind also für die Mauspunkte vorbereitet. Lassen Sie uns weitermachen und ihm eine Animationseigenschaft zuweisen. Wir brauchen hier den Namen der Keyframes, Mauspunktanim, gefolgt von der Dauer 10 s. Dann wiederum brauchen wir unendlich und linear Okay? Wie ich sehen kann, sind beide Elemente animiert und wir haben hier einen schönen Effekt Bevor wir diese Vorlesung beenden, werde ich ein paar Dinge tun. Sobald der Cursor die Seite verlässt, möchte ich beide Elemente ausblenden. Dafür verwende ich eines der Ereignisse namens Mouse Leave. Lassen Sie uns den Event-Listener an den Hauptteil anhängen. Dann müssen wir hier das Ereignis mit der Maus angeben, gefolgt von der Callback-Funktion Um die Elemente auszublenden, verwende ich Opazität mit dem Wert Null Wenn also ein Mauskreis eine Punktdeckkraft im Punktstil mit dem Wert Null hat, dann duplizieren Sie diese Codezeile und ändern Sie die beiden eingekreisten Wenn wir nun die Seite verlassen, verschwinden der Kreis und der Punkt. Und wenn wir zurückkommen, werden sie wieder erscheinen. In Ordnung, wir sind fast fertig. Wir müssen nur noch eine Sache tun. Eigentlich haben wir hier ein kleines Problem. Wenn ich die Seite neu lade und Maus außerhalb der Seite lasse, landen der Kreis und der Punkt in der oberen linken Ecke der Seite Das brauchen wir nicht. Wir müssen das Problem lösen. Ich werde beide Elemente standardmäßig ausblenden und sie dann nur sichtbar machen die Mausbewegungsereignisse eintreten. Also müssen wir beiden Elementen standardmäßig die Opazität Null zuweisen beiden Elementen standardmäßig die Opazität Null Dann müssen wir die Opazität eins mit der Oberseite übergeben und die Positionen innerhalb der Funktion lassen Wenn ich die Seite jetzt neu lade , ist das Problem behoben Okay, endlich sind wir fertig mit dem Mauskreis. Fahren wir mit der nächsten Vorlesung fort. 6. Website-Header erstellen und anpassen: Okay, jetzt ist es an der Zeit, mit der Arbeit an unserem ersten Abschnitt zu beginnen , der diese Landingpage sein wird Wir haben hier ein paar verschiedene Elemente mit schönen Animationseffekten. Diese Kreise bewegen sich, sobald wir die Maus bewegen. Und wie Sie sehen, bewegen sie sich in die entgegengesetzte Richtung. Ebenfalls in der Mitte des Landing befindet sich ein großer Kreis, in dem Sie das Bild des Designers mit einigen schönen Effekten sehen können . Außerdem haben wir ein Logo in der oberen linken Ecke der Seite sowie einige Textelemente auf der linken und rechten Seite der Landing. Lassen Sie uns anfangen, ein HTML-Markup zu erstellen. Lassen Sie uns direkt nach dem Seitenhintergrund neue Kommentare einfügen . Wir brauchen Abschnitt eins von Abschnitt eins. Öffnen Sie dann das Abschnitt-Tag mit der Klasse Abschnitt eins. Wie gesagt, dieser Abschnitt wird einige verschiedene Elemente enthalten. Das erste wird das Logo sein. Lassen Sie uns neue Kommentare für das Logo einfügen. Dann öffne ich den Link-Tag mit einem Klassenlogo. Und als Inhalt werde ich dich angeben, Nick Brown. In Ordnung. Als nächstes werden wir animierte Kreise haben. Fügen wir also neue Kommentare für animierte Kreise ein. Insgesamt werden wir also fünf Kreise haben. Vier von ihnen werden klein sein und außerdem einen großen Kreis in der Mitte haben. Öffnen wir ein DIV-Tag für die Klasse. Kreise. Es wird die Hülle kleiner Kreise sein Die Kreise werden mithilfe von DIV-Tags erstellt. Öffnen wir TikTok also mit den Klassen Circle und Circle One. Der erste wird ebenfalls Common Class Name sein. Das zweite, wir werden es für einzelne Stile verwenden. Lassen Sie uns diese Codezeile dreimal duplizieren und dann die Klassennamen ändern. Okay, außerdem brauchen wir einen weiteren Kreis, in dem das Bild des Designers zu sehen sein wird Bild des Designers Öffnen wir das DIV-Tag. Es wird die Verpackung sein. Lassen Sie uns der Klasse Main Circle zuordnen. Und dann füge dein Bild-Tag ein. Geben wir hier den Pfad des Bildes an. Wir haben einen Bilderordner , den wir benötigen, um den Ordner Landing auszuwählen. Und dann wird das Bild als JPG-Punkt-Design gestaltet. In Ordnung, das war's, mit den Kreisen. Als Nächstes erstelle ich Überschriftenelemente, die auf der linken und rechten Seite des Landings platziert werden . Fügen wir neue Kommentare ein. Ausgewählter Text. Und von Feature-Text. Ich öffne das H4-Heading-Tag mit den Klassen Feature-Text und Feature-Text eins Auch hier wird der erstklassige Name für Common Styles verwendet. Was den zweiten betrifft, werden wir ihn für einzelne Stile als Inhalt verwenden . Lass uns dein Creativ einfügen. Dann werde ich diese Codezeile duplizieren. Ändere den Klassennamen, zu dem wir Text hinzufügen müssen, und ändere auch den Inhalt, den du entwerfen solltest. In Ordnung, also lassen Sie uns über das HTML-Markup sprechen. Moment ist hier nichts sichtbar, da der Hintergrund fest ist und die Elemente dahinter gelandet sind. Lassen Sie uns das Problem zuerst beheben. Fügen wir neue Kommentare für den ersten Abschnitt in die CSS-Datei ein. Wählen Sie dann diesen Abschnitt Elemente und ändern Sie seine Position, machen Sie ihn zu einem Relativen. Jetzt sind die Elemente sichtbar und dann können wir beginnen, sie anzupassen. Definieren wir die Breite und Höhe dieses Abschnitts. Ich werde mit 200 Prozent beginnen. Was die Höhe angeht, so wird sie 100% des Viewports ausmachen. In Ordnung, jetzt ist es an der Zeit , das Logo anzupassen. Lassen Sie uns neue Kommentare für das Logo einfügen. Wählen Sie dann die Link-Elemente aus. Zunächst werde ich ihre Position definieren. Machen wir es absolut. Wie Sie sich erinnern, wird es der oberen linken Ecke der Seite platziert Also werde ich RAM die oberste Position zuweisen , da beide linken Positionen fünf Runs sein werden. Lassen Sie uns auch die Schriftgröße erhöhen und es zu Ram machen. Ich werde Text in Großbuchstaben umwandeln auch die Farbe ändern, ihn weiß machen, oder? Das war's mit dem Logo. Jetzt müssen wir weitermachen und die restlichen Elemente anpassen. Bevor wir mit kleinen Kreisen beginnen, möchte ich mich um den Hauptkreis kümmern denn wie Sie sehen, haben wir hier ein großes Bild, das fast die gesamte Kreditvergabe abdeckt. Zuallererst möchte ich den Inhalt dieses Abschnitts in die Mitte stellen. Und dafür verwenden wir Flexbox. Wir müssen das Display auf Flex einstellen. Um die Elemente dann horizontal zu senden, benötigen wir das Justify-Content Was die vertikale Zentrierung angeht, müssen wir die Elemente ausrichten. Zentrum. Okay, der Inhalt ist also zentriert und jetzt müssen wir anfangen, am Hauptkreis zu arbeiten. Zunächst füge ich Kommentare ein, animierte Kreise. Und von animierten Kreisen. Wählen Sie dann den Hauptkreis aus und definieren Sie Breite und Höhe. Ich werde beide auf 55 RAM setzen. Und setzen Sie die Position auch auf absolut. Im Moment ist das Bild zu groß. Wir müssen die Größe des Bildes beibehalten, aber wir müssen auch ein Hoch auf das übergeordnete Element anwenden . Ich bin im Hauptkreis. Also werde ich Overflow Hidden verwenden. In Ordnung, jetzt ist das Problem behoben. Lassen Sie uns das Element mit einem Randradius von 50% abrunden. Außerdem müssen wir an das Bild innerhalb des Kreises senden . Dafür können wir wieder Flux-Bücher verwenden, um zu vermeiden, dass immer wieder derselbe Code geschrieben Ich werde eine neue Klasse in den Common Styles erstellen. Nennen wir es Center und weisen ihm Display Flex, Justify Content Center und Align Items Center zu. Dann werde ich diese Stile aus dem Abschnittselement entfernen . Und stattdessen können wir das Klassenzentrum der Sektion und auch dem Hauptkreis zuweisen Klassenzentrum der . In der HTML-Datei. Im Moment ist das Bild zentriert und wir müssen es ein wenig anpassen. Wählen wir Bild aus. Jetzt möchte ich eine der CSS-Eigenschaften namens Mix Blend Mode verwenden . Dadurch können wir das Bild mit diesem dunklen Hintergrund vermischen . Diese Eigenschaft kann unterschiedliche Werte akzeptieren. Du kannst mit ihnen herumspielen. In diesem Szenario ist Farbe meiner Meinung nach das beste. Ausweichen. In Ordnung, das war's mit dem Hauptkreis. Lass uns weitermachen und uns um den Rest der Kreise kümmern . Wählen wir den Wrapper aus und geben Elemente an. Und definieren Sie zunächst seine Position, machen Sie sie absolut. Und setzen Sie auch die Eigenschaften oben und links, beide auf Null. Als Nächstes werde ich dieses Element auf das gesamte Landing ausdehnen . Dafür werde ich festlegen, dass wir beide zu 200 Prozent verstecken können. Wie Sie sich erinnern, haben wir vier verschiedene kleine Kreise erstellt . Ich werde sie mithilfe eines CSS-Grid ausrichten. Wir werden zwei Spalten und zwei Zeilen erstellen. Und wir platzieren jeden Kreis in der separaten Rasterzelle. Lassen Sie uns also zunächst die Anzeige auf das Raster setzen . Um Spalten zu definieren, verwende ich eine Eigenschaft namens Grid-Template-Spalten. Wie gesagt, wir werden zwei ähnliche Spalten haben. Also werde ich die Wiederholungsfunktion verwenden, die zwei Argumente benötigt. Die erste ist die Anzahl der Spalten bis. Was den zweiten betrifft, so wird es die Größe sein. Wie die Größe. Ich werde eine Brucheinheit verwenden. Lassen Sie uns diese Codezeile duplizieren und Spalten in Zeilen umwandeln. In Ordnung? Um das Raster-Layout zu sehen, werde ich die Seite überprüfen. Und suchen Sie auf der Registerkarte Elemente nach den Kreisen. Wie ich sehen kann, haben wir hier einen kleinen Button namens Grid. Wenn ich darauf klicke, wird das Rasterlayout angezeigt. Wir haben hier vier verschiedene Zellen und jeder Kreis wird in eine separate Zelle gehen. Lassen Sie uns fortfahren und Kreis auswählen und seine Breite und Höhe definieren. Ich werde beide auf 20 setzen, um zu rennen. Um sie abgerundet zu machen verwenden Sie für den Radius den Wert von 50%. Und dann werde ich eine temporäre Farbe verwenden. Ich meine, die Hintergrundfarbe. Lass es uns auf Rot setzen. Wie Sie sehen können, befinden sich alle vier Kreise in einer separaten Zelle. Sie werden automatisch ausgerichtet , weil wir vier Zellen haben. Und für Kreise müssen wir kein Raster-Layout für den Kreis definieren. Das einzige, was wir tun müssen, ist Kreise in der Mitte der Zellen zu platzieren. Und dafür können wir eine Linie verwenden, das Selbstzentrum. Es wird vertikal an die Elemente gesendet. Und wir müssen auch Egozentrik rechtfertigen, die sich horizontal auf das Element überträgt In Ordnung? Jetzt müssen wir jeden Kreis separat anpassen. Lass uns weitermachen und mit dem ersten Kreis beginnen. Ich werde den Hintergrund definieren. Lassen Sie uns die URL verwenden und den Teil des Bildes angeben. Wir brauchen Ordnerbilder als Landing. Und dann müssen wir Circle One, IMG Punkt JPG auswählen. Als Nächstes spezifiziere ich die Position und mache sie in die Mitte. Außerdem müssen wir Background Repeat auf No-Repeat setzen. Und schließlich definieren wir die Größe des Hintergrunds machen ihn deckend. Kam. Wir haben hier also ein nettes Hintergrundbild. Als Nächstes erstelle ich eine Grenze. Stellen wir die Breite auf 2,5 RAM ein, dann wird der Stil des Randes gepunktet Und als Farbe verwenden wir einen B14 von 18. Außerdem möchte ich, dass der Rand außerhalb des Bildes liegt. Und dafür müssen wir den Hintergrundclip mit dem Wertinhaltsfeld verwenden . In Ordnung, schauen wir uns das an. Nun, den ersten Kreis, jetzt werde ich diesen Code dreimal duplizieren. Dann ändere die Klassennamen. Außerdem werde ich die Namen der Bilder ändern. Und außerdem werde ich die Grenzen ändern. Für die zweite Ordnung benötigen wir die gleiche Breite wie für den Stil, der gestrichelt werden soll Und ändere auch die Farbe. Wir brauchen F, F, B, D, 07. Dann werde ich für den dritten Kreis die Breite erhöhen. Machen wir ein RAM daraus. Dann ändere den Stil. Es wird das Doppelte sein. Und ändere auch die Farbe, mach neun draus. Hirsch. Als Teil des letzten Kreises wird die Breite 0,7 betragen. Es sollte das Doppelte sein. Und als Farbe verwenden wir Weiß. In Ordnung, also alle vier Kreise sind Benutzerdefiniert. Das einzige, was ich tun werde, ist, ihre Opazität zu verringern Lassen Sie uns Circle zuweisen. Ich habe den gebräuchlichen Klassennamen Opazität 0,5. In Ordnung? Also endlich, mit den Kreisen sind wir fertig. Als Nächstes kümmere ich mich um die Textelemente, die auf der linken und rechten Seite platziert werden sollten. Lassen Sie uns weitermachen und neue Kommentare einfügen. Für ausgewählten Text. Wählen wir beide Überschriften mit einem gemeinsamen Klassennamen und hervorgehobenem Text aus Ich werde die Schriftgröße erhöhen und es zum Laufen bringen. Ebenfalls. Ändern Sie die Farbe, machen Sie sie weiß und wandeln Sie Text in Großbuchstaben Ordnung, danach richte ich beide Überschriften auf der linken und rechten Dafür verwende ich Margin. Wählen wir die erste Überschrift mit ihrer individuellen Klasse Feature-Text1 und verwenden Margin mit den folgenden Werten Ich setze es oben auf Null und dann auf R0 auf der rechten Seite Dann haben wir unten Null und drehen uns auf der linken Seite um. Lassen Sie uns diesen Code duplizieren. Ändere den Klassennamen. Wir benötigen Feature-Text2 und ändern auch die Werte Ich belasse den Wert der Oberseite bei Null. Dann haben wir hellbraun als Null und dann Auto. Okay, lassen Sie uns also davon ausgehen die Elemente richtig ausgerichtet sind Als Nächstes platziere ich die Buchstaben vertikal in einer Spalte. Dafür müssen wir die Breite auf Null setzen. Außerdem müssen wir eine dieser CSS-Eigenschaften verwenden, die Zeilenumbruch bezeichnet wird, und ein Wort mit einem Wertebruch verwenden. Die Elektroden sind also vertikal angeordnet. Als Nächstes werde ich den Abstand zwischen den Buchstaben vergrößern. Dafür können wir die Zeilenhöhe erhöhen. Machen wir 3,5 draus. In Ordnung, wir sind also fast fertig mit der Landung. Das einzige, was ich tun möchte, ist die Position dieser Überschriftenelemente zu ändern. Wenn wir uns das fertige Projekt ansehen und nach unten scrollen, werden Sie feststellen, dass die Überschriften für eine Weile klebrig werden Definieren wir also ihre Position und machen wir sie griffig. Wenn wir also die Elemente am oberen Rand des Viewports anbringen wollen , müssen wir die obere Position auf Null setzen In Ordnung, endlich haben wir eine Landingpage angepasst. Jetzt ist es an der Zeit, es dynamisch zu machen. Ich meine, wir müssen ein paar nette Animationen und Effekte hinzufügen . Fahren wir also mit der nächsten Vorlesung fort. 7. Kreise animieren: Ordnung, wir haben in einer früheren Lektion eine Landingpage anpassen müssen, und jetzt müssen wir sie dynamisch gestalten Wir müssen diese Kreise bei der Mausbewegung animieren. Bevor wir anfangen, daran zu arbeiten, möchte ich das eine winzige Problem herausgreifen. Wir haben zwei Wörter auf der linken und rechten Seite. Der zweite wäre ein Design gewesen, kein Designer. Also lass es uns in der HTML-Datei ändern. Richtig? Also werden wir dafür sorgen, dass die Animation mit JavaScript funktioniert. Gehen wir zur Datei script.js. Als erstes wähle ich Kreise und das Bild aus. Vorher möchte ich dir eine schnelle Änderung vornehmen. Eigentlich wird diese Datei groß sein, also wäre es besser, wenn wir diese beiden Variablen in den Kommentaren platzieren . Okay, danach erstelle ich neue Kommentare für die animierten Kreise unten. Dann wähle ich, wie gesagt, die Kreise und das Bild aus. Lassen Sie uns eine neue Variable erstellen. Ich nenne es Circles. Wir haben mehrere Kreise, daher werde ich die Methode Query Selector All verwenden Geben wir hier den Klassennamen Circle an. Als Nächstes wähle ich das Bild aus. Lassen Sie uns eine neue Variable erstellen und sie Main IMG nennen und Image mithilfe der Abfrageauswahlmethode auswählen Wir müssen hier den Klassennamen der übergeordneten Elemente, den Hauptkreis, und dann den Zielnamen IMG angeben den Klassennamen der übergeordneten Elemente, den . Okay, danach erstelle ich eine Funktion, nennen wir sie animate Diese Funktion benötigt drei Parameter. Das erste wird ein Event-Objekt sein und wird auch X- und Y-Parameter haben. Sie werden uns helfen, die Richtungen der Mausbewegungen zu definieren . Also wieder müssen wir Kreise bewegen, wollen, dass sich die Maus bewegt, und wir müssen sie in die entgegengesetzte Richtung bewegen. Das heißt, wenn die Maus nach links geht , sollten sich die Kreise nach rechts bewegen. Und das Gleiche brauchen wir vertikal. Wenn die Maus nach oben geht, sollte der Kreis nach unten gehen Okay, also zunächst möchte ich hier die Hauptsache der Dysfunktion erwähnen , nämlich dass wir die Position der Maus mit Client X und Client definieren müssen der Maus mit Client X und Client Warum Eigenschaften in der Position der Maus? Ich meine die Position Acht, wenn es aufhört, sich zu bewegen. Dann müssen wir diese Werte mit der neuen Position der Maus vergleichen diese Werte mit der neuen Position der und erhalten die Richtung der Mausbewegung. Also lasst uns weitermachen und anfangen, den Code zu schreiben. Es wird verständlicher und in der Praxis müssen wir zwei Variablen für Client X und Client erstellen . Warum Immobilien? Ich nenne die erste Variable X. Sie sollte gleich Null sein. Dann duplizieren Sie diese Codezeile und ändern Sie X in Y. Danach müssen wir die Werte von Decline X und Client speichern die Werte von Decline X und Client Warum Eigenschaften in diesen Variablen. Also wir brauchen hier, ich werde gebeten, gleich dem E-Dot-Client X zu sein und dasselbe, was wir für die Y-Richtung benötigen Auch hier speichern diese Variablen die letzte Position der Maus. Wenn wir nun die Richtung der Mausbewegung ermitteln möchten , können wir einfach die X- und Y-Parameter mit den Variablen amex und M Y vergleichen X- und Y-Parameter mit den Variablen amex und M Y Dazu müssen wir eine if-Anweisung verwenden, in wir definieren müssen, ob X kleiner als M X ist. Wenn diese Bedingung zutrifft, dann führe ich einige Texte zur Konsole aus, z. B. nach links verschoben. Dann erstelle ich eine weitere if-Anweisung , in der wir die Y-Richtung definieren müssen Wir brauchen also Y ist kleiner als MY. Und dann renne ich zur Konsole und gehe nach oben. Richtig? Jetzt können wir diese Funktion aufrufen, wenn die Mausbewegungsereignisse inspiriert Wir haben dieses Ereignis alle schon einmal verwendet. Also müssen wir diese Funktion aufrufen. Hier. Wir müssen die Argumente E, X und Y übergeben. Okay? Schauen wir uns also die Seite an und wechseln wir zum Konsolen-Tab. Wenn wir uns nach oben bewegen, bekommen wir es in die Konsole. Und wenn ich nach links gehe, erhalten wir in der Konsole das richtige Ergebnis. Jetzt wissen wir, wie wir die Richtungen der Mundbewegungen ermitteln und konnten die Bewegung der Kreise definieren. Auf die gleiche Weise können wir die Richtung der Mausbewegung nach rechts und nach unten definieren der Mausbewegung nach rechts und nach unten In Ordnung? Wenn sich die Maus also nach links bewegt , sollten sich die Kreise nach rechts bewegen. Und um das zu tun, müssen wir die Werte ihrer linken Positionen erhöhen. Zuerst müssen wir uns die Kreise ansehen. Wir haben sie mit der Methode Query Selector All ausgewählt, die ein Array-ähnliches Objekt namens Node List zurückgibt Array-ähnliches Objekt namens Node Also müssen wir die Knotenliste durchsehen und die Lag-Position für jeden Kreis ändern. Um die Knotenliste durchzusehen, verwende ich eine der Array-Hilfsmethoden namens for-each Wir müssen es an den Kreisen befestigen. Die forEach-Methode benötigt ein Argument. Es wird die Callback-Funktion sein, die selbst einen Parameter benötigt und das ist das aktuelle Element während der Schleife Wie gesagt, wir müssen die linke Position des Kreises ändern . Deshalb brauchen wir hier eine Eigenschaft namens Style, gefolgt von left. Und ich werde die Position um hundert Pixel ändern. Wenn ich nun die Maus nach links bewege, bewegen sich die Kreise nicht, weil sie momentan eine statische Standardposition haben. Also müssen wir es ändern und relativ machen. Wenn ich mich jetzt nach links bewege , bewegen sich die Kreise nach rechts. Im Moment bewegten sie sich ohne jegliche Wirkung. Wir werden das beheben, indem wir die Übertragungseigenschaften Sonne verwenden. Kümmern wir uns zunächst um die Bewegungen. Neben diesen Kreisen müssen wir auch das Bild bewegen. Also müssen wir den Hauptstil von IMG verwenden, nicht links. Und der Wert hundert Pixel. Wie bei den Kreisen müssen wir die Position des Bildes ändern und es relativ machen. Wenn wir uns also nach links bewegen, bewegen sich die Kreise und das Bild bewegt sich auf die rechte Seite, nach rechts. Lassen Sie uns weitermachen und uns um die Aufwärtsbewegung kümmern. Wir können uns einfach diesen Codeblock schnappen und ihn in die zweite if-Anweisung einfügen. Das einzige, was wir tun mussten, war die linke Position nach oben zu ändern. Wenn ich also die Maus nach oben bewege, gehen die Elemente nach unten. Richtig? Zwei Richtungen sind also bereit. Jetzt müssen wir uns um den Rest der Anweisungen kümmern. Ich meine, wenn wir die Maus nach rechts und nach unten bewegen , müssen wir dafür Else-if-Aussagen verwenden bei denen wir entgegengesetzte Bedingungen berücksichtigen müssen Wir brauchen hier also X ist größer als M X. Wenn diese Bedingung zutrifft, müssen wir die Elemente auf die linke Seite verschieben. Daher müssen wir die Werte der linken Position verringern . Kopieren wir diesen Code. Fügen Sie es hier ein und fügen Sie Minuszeichen hinzu. Das Gleiche benötigen wir für die zweite IF-Aussage. Lassen Sie uns als Bedingung, die wir benötigen, Else-wenn-Aussagen erstellen, Y ist größer als MY Dann schnapp dir den Code von hier und noch einmal, füge die Minuszeichen hinzu. Wie Sie sehen können, funktionieren alle vier Richtungen einwandfrei. Jetzt müssen wir diese Tatsache glatter machen. Dafür müssen wir Transition nutzen. Wir müssen, Sie haben eine Dauer von 2 s. Und die oberen 2 s. Eigentlich brauchen wir den gleichen Übergang auch für das Bild. Nehmen wir also diese Codezeile und fügen sie für das Bild ein. In Ordnung, jetzt haben wir einen schönen glatten Effekt. Eigentlich haben wir hier ein kleines Problem. Wenn ich die Seite neu lade und anfange, die Maus zu bewegen, springen die Kreise nach oben Und um das zu beheben, müssen wir die Obergrenze definieren und Besitztümer standardmäßig vermieten Lassen Sie uns beide auf Null setzen. Das Gleiche brauchen wir auch für das Bild. In Ordnung, also endlich sind wir fertig. Bevor wir diese Vorlesung beenden, möchte ich noch etwas tun. Wir haben hier ein paar Mal 100 Pixel verwendet. Und möglicherweise müssen Sie diesen Wert in Zukunft ändern. Und dafür solltest du es überall ändern. Ich denke also, es wäre besser, wenn wir diesen Wert in der Variablen speichern und dann diese Variable unten verwenden Lassen Sie uns die Variable Z erstellen und sie gleich hundert machen. Dann ändere ich die Pixeldarstellung mit der Variablen Z. In Ordnung, das war's Wir haben die Arbeit an den animierten Kreisen abgeschlossen. Lass uns weitermachen. 8. Hauptschaltfläche erstellen und anpassen: Okay, also in der letzten Vorlesung haben wir diese animierten Kreise erstellt Und jetzt werde ich hier an diesem Button arbeiten. Es hat einige nette Schwebeeffekte. Sobald wir den Mauszeiger darüber bewegen, dehnt sich dieser gelbe Kreis auf die gesamte Schaltfläche Es spielt keine Rolle, über welche Seite Sie den Mauszeiger bewegen. Der Button von. Dieses gelbe Element erscheint von allen Seiten. Und auch der Knopf wird sich leicht drehen. Moment sehen wir hier die Projekte, und wenn wir darauf klicken, wird zum Projektbereich weitergeleitet. Aber in dieser Vorlesung werde ich es einfach erstellen und anpassen. Was die Navigation angeht, werde ich mich später darum kümmern. Bevor wir anfangen, an dem Button zu arbeiten, werde ich der Kreditvergabe noch ein paar Dinge hinzufügen. Ich möchte diese kleinen Kreise ein wenig vom Hauptkreis weg bewegen , weil sie mehr Platz zum Verschieben haben. Was den Hauptkreis angeht, möchte ich ihn beim Zeigen mit der Maus ein wenig erweitern Okay, lassen Sie uns zunächst die Kreise bewegen. Ich werde das mit Margin machen. Für den ersten und dritten Kreis benötigen wir also Margin-Left mit einem Wert minus zehn RAM Für den zweiten und vierten Kreis verwenden wir Margin-Right mit einem Wert minus zehn In Ordnung, das war's mit diesem kleinen Kreis. Also lass uns weitermachen und uns um den Hauptkreis kümmern. Ich werde die Breite und Höhe erhöhen, wenn der Mauszeiger darauf zeigt. Wählen wir also den Hauptkreis mit dem Mauszeiger aus und stellen dann Breite und Höhe ein, beide auf 75 run Außerdem werde ich Transition verwenden. Für einen gleichmäßigen Effekt. Wir brauchen mit einer Dauer Punkte auf der Sekunde und dann Höhe mit der gleichen Dauer. Wenn ich also den Mauszeiger über den Hauptkreis bewege, passiert nichts Der Grund ist, dass wir hier den Kreis und die Punkte haben. Sie sind vor dem Mund. Und sie blockieren die Zeigerereignisse. Um das zu beheben, müssen wir beide Elemente zuweisen. Zeigerereignisse, keine. Ordnung, jetzt war alles Ordnung und wir können anfangen , an dem Button zu arbeiten Lassen Sie uns zunächst HTML-Markup erstellen. Fügen wir Ihre bekannten Kommentare ein. Für den Hauptknopf. Ich nenne es Main , weil wir auf der Webseite ein paar Suchschaltflächen haben werden . Die Schaltfläche wird mithilfe von Linkelementen erstellt. Ordnen wir ihr die Klasse main btn zu. Der Button wird also aus ein paar verschiedenen Teilen bestehen . Wir werden einen Pfeil haben, der drei Linien erstellt wird. Und wir werden auch ein Span-Element mit den Textprojekten haben . Öffnen wir das div-Tag, das den Inhalt der Schaltfläche umschließt , die der Klasse main btn content zugewiesen ist Dann erstelle ich Zeilen mit Div-Tags. Mit der BGN-Hauptleitung der Klasse. Wir brauchen drei davon. Und schließlich müssen wir Element mit den Inhaltsprojekten verbinden. Lassen Sie uns neue Kommentare in die CSS-Datei einfügen. Für den Hauptknopf. Wählen Sie dann die Linkelemente und setzen Sie ihre Position auf absolut. Jetzt wird es in der Mitte der Seite platziert. Wenn ich alle Elemente auswähle, siehst du sie in der Mitte. Okay, fügen wir noch ein paar Stile hinzu. Ich werde Breite und Höhe definieren. Machen wir aus beiden 13 RAM. Ändern Sie auch die Hintergrundfarbe. Ich benutze deinen Anruf oder 90 E, 0 E. Und mache auch die Rundung der Taste mit dem Randradius Okay, als Nächstes ändere ich seine Position. Ich möchte es am Ende dieses Abschnitts platzieren. Also legen wir die untere Rampe 23 an. Das Letzte, was ich jetzt in Bezug auf dieses Element tun werde , ist, eine Grenze zu erstellen. Wir brauchen es mit den Werten, die auf RAM zeigen, dann wird der Stil gepunktet. Was die Farbe angeht, sie wird weiß sein. In Ordnung, lassen Sie uns weitermachen und den Inhalt anpassen. Wählen Sie es aus. Und lassen Sie uns zunächst seine Breite und Höhe definieren. Ich setze beide auf 200 Prozent. Und ich werde auch eine Grenze schaffen. Lassen Sie uns dem ram-gepunkteten Punkt einen Punkt zuweisen und auch die Farbe E7 P E 08 verwenden Im Moment hat der Inhalt also die Form dieser Abfrage Ich werde es rund machen. Verwenden wir also den Grenzradius mit einem Wert von 50 Prozent. Okay? Als Nächstes werde ich einen kleinen Raum zwischen diesen Grenzen schaffen. Dafür werde ich der Haupttaste eine kleine Polsterung zuweisen der Haupttaste eine kleine Polsterung Machen wir eine Rampe von 0,1. Standardmäßig legen wir Randfeld in Boxgröße Und es ermöglicht uns , die Breite und Höhe der Elemente unverändert zu lassen. Und es verschiebt den Inhalt des Elements. In Ordnung, schauen wir uns jetzt den Inhalt an. Als Nächstes erstelle ich den Pfeil. Dafür haben wir drei leere div-Elemente. Zuallererst werde ich dieses Panel verstecken, das für eine Weile bestimmt Und wählen Sie dann die Linien aus. Zunächst setze ich die Position auf absolut. Dann definiere ich die Spitzenposition. Machen wir es für RAM. Außerdem müssen wir Breite und Höhe definieren. Die Breite wird drei RAM betragen. Was die Höhe angeht, werde ich 0,5 Gramm daraus machen und zusätzlich einen Rand mit dem Wert 0,1 RAM Solid erstellen. Und die weiße Farbe. Hier haben wir die Linien. Auf den ersten Blick scheint es, dass wir hier nur eine Linie haben, aber alle drei Linien liegen übereinander. Wir müssen jeden von ihnen einzeln positionieren. Aber vorher werde ich sie innerhalb des Inhalts zentrieren. Dafür werde ich Flexbox verwenden. Wir können dem Inhalt das Klassenzentrum und die HTML-Elemente zuweisen . In Ordnung, jetzt sind die Linien in der Mitte platziert. Als Nächstes müssen wir jede Zeile einzeln positionieren , um einen Pfeil zu erstellen. Fangen wir mit der ersten Zeile an. Ich wähle die Hauptleitung von BTN mit dem n-ten Child-Selektor Und wir müssen hier die Nummer eins angeben. Also werde ich die Linie entlang der Z-Achse um -45 Grad drehen der Z-Achse um -45 Die erste Zeile wird also gedreht. Machen wir dasselbe für die zweite Zeile. Eigentlich werde ich diesen Code duplizieren, dann die Zahl ändern, die wir benötigen, und auch das Minuszeichen entfernen . Wie Sie sehen können, sind beide Linien gedreht, aber das brauchen wir nicht Gerade jetzt. Sie werden von der Mitte aus gedreht Ich meine, der Ursprung der Transformation ist das Zentrum. Wir müssen es ändern. Im Fall der ersten Zeile muss der Ursprung der Transformation links in der Mitte liegen. Was die zweite Zeile angeht, brauchen wir die rechte Mitte. Jetzt haben wir ein besseres Ergebnis, aber wir müssen noch einige Änderungen vornehmen. Ich möchte beide Linien horizontal verschieben. Ich meine, wir müssen die erste Zeile auf die linke Seite verschieben. Was den zweiten betrifft, sollten wir ihn auf die rechte Seite verschieben. Also werde ich das mit der Funktion translate x machen. Für die erste Zeile benötigen wir hier -0,65 RAM. Wie wahrscheinlich die zweite Zeile benötigen wir den gleichen Wert, aber ohne das Minuszeichen. Ordnung, endlich sind die ersten beiden Zeilen korrekt platziert. Das einzige, was ich tun möchte, ist, Teile der Grenzen von beiden Linien zu entfernen . Für den ersten brauchen wir für die Fahrt, den Wert keinen. Was den zweiten betrifft, so brauchen wir eine linke Grenze. Keine. In Ordnung, lassen Sie uns weitermachen und uns um die dritte Zeile kümmern. Wählen wir es erneut mit dem Kinderwähler aus. Im Fall der dritten Linie müssen wir also acht entlang der Z-Achse um 90 Grad drehen der Z-Achse um 90 Grad Außerdem müssen wir es mit der Funktion translate x um eine Rampe von 0,5 verschieben . Was die Grenze zur linken Grenze angeht, keine. In Ordnung, also endlich haben wir hier einen Pfeil. Lassen Sie uns weitermachen und dieses Span-Element anpassen, das derzeit im HTML-Code verborgen ist. Lassen Sie uns diesen Kommentar von hier aus loswerden und dann Span-Elemente in der CSS-Datei auswählen. Zuallererst werde ich diese Position definieren. Machen wir es absolut. Und dann verschiebe es ein wenig nach unten, indem du untere Position mit einem Wert von drei Rampen verwendest, und ändere auch die Farbe, mache es weiß. Hier haben wir also dieses Span-Element. Fügen wir noch ein paar Stile hinzu. Wir müssen die Schriftgröße ändern. Machen wir 1,1 RAM draus. Außerdem werde ich die Schriftstärke erhöhen. Machen wir 600 daraus und transformieren dann Text in Großbuchstaben In Ordnung, das war's also mit diesem Spannelement. Das einzige, was ich in diesem Video tun werde , ist, den Knopf selbst zu drehen. Also lassen Sie uns ihm eine Transformation zuweisen. Um 40 Grad drehen. In Ordnung, lass uns sehen. Die Schaltfläche wurde erstellt und angepasst. Als nächstes müssen wir einen Schwebeeffekt erzeugen. Fahren wir also mit der nächsten Vorlesung fort. 9. Welligkeitseffekt zur Haupttaste hinzufügen: In der vorherigen Lektion haben wir also die Hauptschaltfläche auf der Landingpage erstellt und angepasst . Und jetzt müssen wir einen Schwebeeffekt erzeugen. Schauen wir uns das fertige Projekt noch einmal an. Sobald wir den Mauszeiger über den Button verdeckt der gelbe Kreis den Inhalt Es erscheint genau von der Seite, an der wir in den Mund kommen, und auch der Inhalt dreht sich leicht. Wir werden diesen Effekt mithilfe von JavaScript- und CSS-Animationen erstellen. Okay, gehen wir zur Antwort der Datei script.js, um den Code zu schreiben, neue Kommentare einzufügen, den Main Button und den Main Button Das erste, was wir tun müssen, ist die Koordinaten des Cursors in der Schaltfläche abzurufen. Ich meine, wir müssen die Oberseite ermitteln und die Position des Cursors vom oberen und linken Rand der Schaltfläche aus messen lassen des Cursors vom oberen und linken Rand der Schaltfläche aus messen . Bevor wir das tun, müssen wir die Schaltfläche selbst auswählen. Lassen Sie uns also die variable Haupt-BTN erstellen und den unteren Teil mithilfe der Abfrageauswahlmethode auswählen Wir müssen hier den Klassennamen Main mit ten angeben. Danach müssen wir ihn anhängen und den Event-Listener mit der Maus Ereignisse eingeben Wir müssen also die Event-Listener-Methode als das Ereignis mit der Mauseingabe und auch die Callback-Funktion hinzufügen das Ereignis mit der Mauseingabe und auch die Callback-Funktion Die Enter-Methode mit der Maus wird also nur einmal ausgelöst, wenn wir den Mauszeiger über das Element Wie gesagt, wir müssen die linke obere Position des Cursors innerhalb des Buttons festlegen Um diese Positionen zu bekommen, müssen wir den Kunden X und den Kunden warum Eigenschaften verwenden? Wie Sie sich erinnern, geben sie uns die obere und linke Position des Cursors, gemessen vom oberen und linken Rand des Viewports Um also die Positionen des Kurses innerhalb der Schaltfläche zu ermitteln, müssen wir den Unterschied zwischen den X- und Y-Eigenschaften des Clients und der linken und oberen Position des Kurses ermitteln. Um es verständlicher zu machen, lassen Sie uns den Code schreiben. Zuerst. Lassen Sie uns hier und beim Event-Objekt eine Pause einlegen. Als Nächstes zeige ich Ihnen, wie Sie die Informationen über die Elemente erhalten. Dafür können wir eine der Methoden namens get bounding client rect verwenden get bounding client rect Gehen wir zur Konsole und sehen, was uns diese Methode bietet. Wir brauchen E-Punkt, Ziel, Punkte, die Bounding-Client-Right. Wenn ich also mit der Maus über die Schaltfläche fahre, erhalten wir ein Objekt namens DOM React Wenn ich es runtergelassen habe, finden Sie hier ein paar verschiedene Immobilien. Wir haben die Positionen, ich meine unten, von links nach rechts und oben. Außerdem haben wir hier die Breite und Höhe der Elemente. Außerdem können Sie hier die X- und Y-Eigenschaften sehen. Und eigentlich sind sie die gleichen wie die linken und oberen Eigenschaften. Wir können diese Werte also verwenden, um die linke obere Position des Cursors innerhalb der Schaltfläche zu berechnen die linke obere Position des Cursors innerhalb der Schaltfläche Ich werde eine neue Variable erstellen. Nennen wir es links. Dann brauchen wir E-Punkt-Client X minus E-Punkt, Zielpunkte. Ruft die Methode Bounding Client Rect ab. Und wir müssen unsere linke Position benutzen. Sehen wir uns diese Variable in der Konsole an. Wenn wir den Mauszeiger über den Buxom bewegen, erhalten wir die linke Position des Aber jetzt innerhalb des Buttons. Ich meine, es wird vom linken Rand des Buttons aus gemessen. In Ordnung? müssen wir die Spitzenposition definieren. Wir können diesen Code einfach duplizieren und dann den Namen der Variablen ändern, die wir oben benötigen. Warum brauchen wir auch Ihren Kunden? Und dann wieder top. In Ordnung, also beide Positionen sind definiert und jetzt müssen wir neue Elemente für diese Positionen erstellen Wir werden das mit einer der DOM-Methoden namens create Elements tun . Ich werde außerhalb der Ereignisse eine neue Variable deklarieren . Nennen wir es Ripple. Dann unten müssen wir ein neues Div-Element erstellen. Verwenden Sie die Methode „Element erstellen“. Wir müssen den Tag-Namen in den Klammern angeben den Tag-Namen in den Klammern Danach müssen wir die linken oberen Positionen des Ripple definieren linken oberen Positionen des Ripple Und wir werden die Werte verwenden , die wir hier definiert haben. Also brauchen wir hier Ripple-Punkt, Stil, Punkt links. Dann öffne Backticks und füge links deine Variable ein, die wir gerade definiert haben Dann dupliziere ich diese Codezeile und ändere von links nach oben. Das Element wird also erstellt, aber wir müssen es an die Schaltfläche anhängen Dazu müssen wir eine der Methoden namens prepare verwenden , und sie fügt die Elemente als erstes untergeordnetes Element des übergeordneten Elements hinzu. Wir müssen hier den Wert Ripple übergeben Um zu beweisen, dass das Element beim Zeigen mit der Maus erzeugt, wechseln wir zur Registerkarte Elemente Und dann bewege den Mauszeiger über den Button. Wie Sie sehen können, wird das tiefe Element innerhalb der Schaltfläche erstellt. Und wir haben hier auch die linken und oberen Positionen. Ordnung, als Nächstes klicken Sie auf Dieses Element in der CSS-Datei anpassen Dieses Element in der CSS-Datei Lass uns eine neue Klasse erstellen. Ich nenne es Ripple. Damit die Positionen links oben funktionieren, müssen wir die Position des Ripple definieren Machen wir es absolut. Dann definiere ich Breite und Höhe. Lassen Sie uns beide auf 200 Prozent einstellen und auch die Hintergrundfarbe ändern. Lass uns deine Farbe verwenden, u0, v0. Oh acht. Okay, das war's mit diesen Ripple-Kacheln im Moment Um sie auf die Elemente anzuwenden, müssen wir diese Klasse zur Elementklassenliste hinzufügen. Wir brauchen also eine Ripple-Punktklassenliste. Dann müssen wir eine Methode namens add verwenden. Und wir müssen hier vorbeikommen. Welligkeit. Okay, wenn Sie also den Mauszeiger über die Schaltfläche bewegen, werden die neuen Elemente angezeigt Wenn ich den Mauszeiger mehrmals über die Schaltfläche bewege, werden die verschiedenen Elemente erstellt Aber eigentlich werden wir das bald beheben. Lassen Sie uns zunächst dieses Element mit einem Randradius von 50 Prozent abgerundet machen mit einem Randradius von 50 Prozent Außerdem müssen wir es um -50 Prozent nach links und nach oben verschieben -50 Prozent nach links und nach oben Verwenden wir dafür Transform als die Übersetzungsfunktion mit den Werten -60% und erneut -50% Jetzt haben wir ein besseres Ergebnis und es ist Zeit, eine Animation zu erstellen. Standardmäßig sind Breite und Höhe dieses Elements also Null. Und sobald wir den Mauszeiger über die Schaltfläche bewegen, die Größe des Berichts sollte die Größe des Berichts mit der Animation zunehmen Also müssen wir CSS-Keyframes erstellen. Ich werde es Ripple Anime nennen. Wir werden also zwei Schritte machen. Bei Null Prozent werden Breite und Höhe der Elemente Null sein. Das ist was zu 100%. Ich mache sie zu 100%. In Ordnung, die Keyframes sind fertig. Wie wendet man diese Styles nun an? Also die Elemente, die eine Animationseigenschaft verwenden, müssen wir hier den Namen der Keyframes, Ripple Anime, und auch die Dauer angeben , die 0,5 s sein wird. Wenn ich jetzt also mit der Maus über die Schaltfläche fahre , wird das Element glatt angezeigt Aber wie Sie sehen, haben wir hier ein paar Probleme. Sobald das Element erscheint und seine Größe vergrößert ist , wird es ausgeblendet Wir müssen also den Status, den wir haben, bei 100% beibehalten. Dafür müssen wir einen Wert verwenden, der als vorwärts bezeichnet wird. Jetzt ist dieses Problem behoben und das Element ist nicht mehr hoch. Das nächste Problem ist , dass die Größe des Elements nicht ausreicht, um den Button abzudecken, also müssen wir ihn vergrößern. Machen wir innerhalb der Höhe, beide 200 Prozent. Jetzt ist diese Größe also doppelt so groß, aber sie reicht immer noch nicht aus, denn wenn ich die Maus einführe und sie am Rand des Buttons anhalte, deckt Ripple sie nicht ab Also lasst uns innerhalb von hide etwas erhöhen. Machen wir sie zu 210%. In Ordnung, jetzt ist das Problem behoben. Als Nächstes werde ich mich darum kümmern die äußeren Teile des Ripple zu verstecken Dafür können wir einfach Overflow Hidden verwenden. In Ordnung, jetzt haben wir viel bessere Ergebnisse. Als Nächstes möchte ich den Ripple loswerden, will, dass die Maus die Taste lässt Wir müssen eines der Events namens Mouse Leaf verwenden. Fügen wir also Maus-Live-Events und einer Callback-Funktion an den Haupt-BTM-Event-Listener mit Maus-Live-Events und einer Callback-Funktion an den Haupt-BTM-Event-Listener an Um die Elemente zu entfernen, müssen wir eine der Methoden verwenden, die als Remove Child bezeichnet werden. Und wir müssen hier den Namen multivariabel angeben. In Ordnung, jetzt funktioniert alles perfekt. Das Letzte, was ich tun werde, ist, den Inhalt der Schaltfläche zu drehen, wenn ich mit der Maus darüber Und wir müssen auch die Farbe der Grenze ändern. Lassen Sie uns also weitermachen und die Haupt-BTN auswählen, indem Sie den Mauszeiger bewegen, gefolgt vom Inhalt des Buttons Also werde ich die Elemente um 60 Grad drehen. Wir müssen transformieren, um sechs bis acht Grad drehen. Und außerdem ändere ich die Farbe des Randes , der ihm zugewiesen ist, Punkt in Lauf. Und als Farbe werde ich 90 II verwenden. Außerdem brauchen wir einen Übergang für einen reibungslosen Ablauf. Und eigentlich müssen wir es zweimal benutzen. Ich meine, wir müssen es standardmäßig für die Elemente und auch beim Zeigen mit der Maus verwenden standardmäßig für die Elemente und auch beim Zeigen mit der Maus Standardmäßig benötigen wir also die Übergangstransformation 0,2 s als die Grenze mit derselben Dauer. Für den Übergang beim Zeigen mit der Maus benötigen wir dieselben Werte, aber Transform hat nur eine geringe Verzögerung, 0,5 s. Okay, endlich sind wir fertig Der Button funktioniert perfekt. Es hat einige nette Effekte und Animationen. Ich finde, was interessant und anders ist, und ich hoffe, es hat dir gefallen. Jetzt müssen wir weitermachen und uns um den nächsten Abschnitt kümmern. 10. Abschnitt Über mich erstellen und designen: Okay, wir haben die Arbeit am ersten Abschnitt der vorherigen Vorlesung abgeschlossen , und jetzt ist es an der Zeit, uns um den nächsten Abschnitt zu kümmern, in und jetzt ist es an der Zeit, uns um den nächsten Abschnitt zu kümmern, dem es um mich gehen wird Dieser Abschnitt besteht aus einer Überschrift und einigen Texten, die nette und coole Animationseffekte haben. Standardeinstellung ist die Steuer nicht ganz sichtbar , da sie mit einem dunklen Hintergrund versehen ist Und sobald wir den Mauszeiger darüber bewegen, ändert es seine Farbe Und auch die Vorlesungen werden anfangen zu animieren. Außerdem werden wir hier den Button haben, der dem Button ähnelt , den wir in der letzten Vorlesung erstellt haben. Das war's also mit dem zweiten Abschnitt. Lassen Sie uns anfangen, ein HTML-Markup zu erstellen. Fügen wir neue Kommentare für Abschnitt zwei ein. Öffnen Sie dann den Abschnittsnamen mit der Klasse Abschnitt zwei. Insgesamt werden wir also drei verschiedene Elemente haben. Die erste wird diese Abschnittsüberschrift sein. Also füge ich Ihre Kommentare ein, Überschrift des zweiten Abschnitts. Dann Ende der Überschrift des zweiten Abschnitts. Dann lassen Sie uns das H1-Überschrift-Tag mit der Klasse öffnen, Abschnitt zwei die Überschrift mit dem Inhalt über mich In Ordnung, als Nächstes haben wir einen Absatz für den Text. Lassen Sie uns neue Kommentare über mich und Texte zu, über mich einfügen . Und dann öffne das P-Tag mit dem Text „Klasse über mich“. Eigentlich werde ich dieses Element als typisch belassen. Wir werden hier den Text mit JavaScript einfügen. Okay, schauen wir uns das HTML-Markup des zweiten Abschnitts an. Wir werden hier den Hauptbutton hinzufügen, den ich etwas später aufgelistet habe Im Moment ist die Überschrift also nicht sichtbar, da sie hinter dem Hintergrund platziert ist. Das werden wir bald beheben. Lassen Sie uns fortfahren und mit der Anpassung dieses Abschnitts beginnen. Ich werde neue Kommentare in die CSS-Datei einfügen, Abschnitt zwei und Abschnitt zwei. Wählen Sie dann ein Schnittelement und setzen Sie seine Position auf relativ. Wenn ich nun alle Elemente auswähle, sehen wir die Überschrift über mich. Lassen Sie uns in diesem Abschnitt etwas Platz schaffen. Ich mache das mit Polsterung. Stellen wir es oben auf zehn RAM, dann zehn RAM auf der rechten Seite, 15 RAM unten und zehn RAM auf der linken Seite ein. Okay. Also werde ich mich jetzt um die Texte kümmern. Ich denke, es ist besser, wenn wir die Kommentare für eine Weile veröffentlichen Also wie gesagt, wir werden Texte mit JavaScript erstellen. Aber zuerst wählen wir den Absatz aus, der den Text umschließen soll. Ich werde Ihren neuen Kommentar über mich Text von, Über mich Text einfügen . Erstellen Sie dann eine neue Variable, ich nenne sie About Me-Text und wählen Sie den Absatz mithilfe der Abfrageauswahlmethode Geben wir hier den Klassennamen für Mutex an. Okay, danach erstelle ich eine neue Variable, die den Text des Absatzes speichert den Text des Absatzes speichert Ich werde diese Variable über mich Textinhalt nennen. Der Text selbst wird wie folgt lauten. Ich bin ein Designer und erstelle preisgekrönte Websites. Die beste Benutzererfahrung. Und ich habe nicht viel geredet, kontaktiere mich einfach. Also werden wir diesen Zeichenkettenwert in ein Array umwandeln . Jedes Zeichen, einschließlich der Leerzeichen, wird die separaten Elemente eines Arrays sein Und dann erstellen wir Span-Elemente für jeden Artikel. Und wir werden diese Zeichen in Span-Elementen speichern. Um diesen Zeichenkettenwert in ein Array umzuwandeln, verwende ich die Methode array dot from. Wir müssen hier den Namen der Variablen übergeben. Schauen wir uns in der Konsole an, wie es aussieht. Ich werde die Seite überprüfen und zum Konsolen-Tab wechseln. Wie Sie hier sehen können, haben wir ein Array, in dem Sie alle Zeichen und Leerzeichen als separate Elemente finden können alle Zeichen und Leerzeichen als separate Jetzt müssen wir jedes Zeichen in den Span-Elementen speichern . Dazu müssen wir das Array durchgehen, Span-Elemente erstellen und ihnen jedes Zeichen zuweisen. Um das Array in einer Schleife durchzugehen, verwende ich eine der Array-Hilfsmethoden, die jeweils aufgerufen werden, die einen Parameter benötigt , es wird die Callback-Funktion sein, die selbst einen Parameter benötigt Und es wird das aktuelle Objekt des Arrays während der Schleife sein. Jetzt müssen wir also ein Spanelement erstellen. Und dafür verwende ich die Methode create our. Lassen Sie uns eine neue Variable erstellen und sie span nennen. Und dann verwende die Methode create element. Wir müssen den Tag-Namen in den Klammern angeben den Tag-Namen in den Klammern Also werden die Span-Elemente erstellt und jetzt müssen wir ihnen Array-Elemente als Textinhalt zuweisen . Wir müssen also den Inhalt von Punkttexten umfassen und er sollte dem Zeichen entsprechen. Schließlich müssen wir diese Elemente an den Absatz anhängen diese Elemente an den Absatz Wir brauchen über mich, Text Punkt anhängen, Kind Wir müssen hier die Variablen pan angeben. Ordnung, wie Sie sehen können, wird der Absatz auf der Seite angezeigt Jetzt müssen wir es stylen. Zuerst. Wählen wir einen Absatz aus. Fügt neue Kommentare zu Mutex und deaktiviert zu neuem Text Wählen Sie dann den Absatz aus. Ich werde die Breite verringern. Machen wir acht Prozent draus. Platzieren Sie den Absatz dann mithilfe des Randes oder der Reihe in der Mitte. Danach wähle ich dieses Span-Element aus. also zunächst Lassen Sie uns also zunächst die Schriftfamilie ändern. In diesem Fall verwende ich Telefone namens Poppins San-Serif, um die Schriftgröße zu erhöhen, auf 15 RAM . Also mache ich die Schrift fett, font-weight bold verwende, und ändere dann Mach ein k. Okay, als Nächstes füge ich ein paar weitere Styles hinzu. Lassen Sie uns den Abstand leicht erhöhen und ihn auf 0,5 erhöhen. Rem. Verringern Sie auch die Zeilenhöhe, machen Sie sie auf 0,9 und verwenden Sie Textschatten mit den Werten 001 RAM Und als Farbe verwende ich 90 E 0 E. Okay? Der Text sieht also gut aus. Als Nächstes setze ich seine Position auf relativ, da wir seine Position während der Animation ändern müssen . Das Letzte, was ich tun möchte, ist, den Absatz mit einem Hintergrund zu vermischen. Dafür verwende ich CSS-Eigenschaft namens Mix Blend Mode. Und ich werde es auf Color Dodge einstellen. In Ordnung, der Text ist also gestylt. Und jetzt können wir die Animation erstellen. Während der Animation werden wir die Farbe der Buchstaben ändern und auch die Position leicht ändern. Lassen Sie uns CSS-Keyframes erstellen. Ich werde es Texte über mich nennen, Anime. Bei Null Prozent setze ich die Farbe auf AAA, was die Standardeinstellung ist. Und ich werde auch die oberste Position definieren. Setzen wir es auf Null. Dann ändere ich von 10% auf 90% die Farbe und die oberste Position. Lassen Sie uns die Farbe auf Weiß setzen. Was die Spitzenposition angeht, so wird es Ram sein. Was die hundert Prozent angeht, brauchen wir dieselben Stile, die wir bei 0% verwendet haben. Ordnung, die Keyframes sind fertig und wir müssen die Stile auf den Text anwenden , sobald wir den Mauszeiger über die Elemente dieses Bedienfelds Ich mache das mit Wir müssen diesem Span-Element einen Event-Listener anhängen , indem wir das Ereignis mit der Maus eingeben Also müssen wir die Event-Listener-Methode hinzufügen. Und wir müssen hier die Event-Mauseingabe und auch die Callback-Funktion übergeben die Event-Mauseingabe und auch die Callback-Funktion Als Nächstes übergebe ich hier ein Event-Objekt. Und dann müssen wir die Animation für das Ziel des Event-Objekts definieren . Wir müssen uns also auf Animationen konzentrieren, nicht auf Stilanimationen. Dann müssen wir hier den Namen der Keyframes angeben, bei dem es um meinen Text geht Und der nächste Wert wird die Dauer 10 s sein. Und außerdem müssen wir die Animation unendlich laufen lassen Wenn ich also mit der Maus über den Text fahre, erhalten wir einen schönen Animationseffekt In Ordnung, mit den Texten über mich sind wir also fertig. Und jetzt müssen wir uns um diese Abschnittsüberschrift kümmern. Und wir sollten diesem Abschnitt auch die Schaltfläche „Bleiben“ hinzufügen. Lassen Sie uns zunächst die Überschrift anpassen. Moment ist es versteckt, also lassen Sie uns den Kommentar loswerden Fügen Sie dann neue Kommentare in die CSS-Datei ein, Überschrift für Abschnitt zwei. Und der Überschrift von Abschnitt zwei. Wählen Sie dann die Überschriftenelemente aus. Ich setze die Schriftgröße auf läuft. Machen Sie es dann mit der Schriftstärke 300 etwas heller, ändern Sie auch die Farbe, machen Sie es weiß und wandeln Sie Text in Danach kümmere ich mich um seine Position. Setzen wir es auf absolut. Ich werde die Elemente vertikal zentrieren. Also werde ich die oberen 250 Prozent setzen. Ganz links wird sich Tan RAM befinden. Und um das Element bei der Transformation perfekt zu zentrieren, übersetze y mit dem Wert -50% Okay, als Nächstes werde ich die Überschrift vertikal platzieren. Dafür müssen wir Null sein. Außerdem müssen wir eine dieser CSS-Eigenschaften namens word break mit dem Wert break off verwenden dieser CSS-Eigenschaften namens word . Und schließlich werde ich die Zeilenhöhe erhöhen. Setzen wir es auf vier. In Ordnung, das war's mit der Überschrift. Das Letzte, was ich in dieser Vorlesung tun werde , ist, den Hauptknopf im zweiten Abschnitt einzufügen. Ich nehme es aus dem ersten Abschnitt und füge es hier ein. Ändere auch den Inhalt, den wir hier benötigen. Lass uns reden. Okay, hier haben wir einen Button, aber wir haben ein paar Probleme. Eigentlich ist es nicht zentriert. Und auch wenn ich den Mauszeiger darüber bewege, haben wir keinen Welleneffekt Kümmern wir uns zunächst um seine Position. Ich werde neue Kommentare einleiten. Abschnitt zwei Haupttaste. Und der Hauptknopf von Abschnitt zwei. Um die Stile nur auf diese bestimmte Schaltfläche anzuwenden . Ich meine, wenn wir die Standardstile durch die neuen ersetzen wollen , müssen wir sie mit der Kombination der übergeordneten Elemente auswählen der Kombination der übergeordneten Elemente Wir müssen also zu Abschnitt zwei gehen, gefolgt von der Hauptschaltfläche. Ich setze die linke Position auf 50 Prozent. Dann ändere ich die unterste Position. Machen wir es minus fünf RAM. Und um das Element dann horizontal zu zentrieren, müssen wir es transformieren und x -50% übersetzen Der Knopf ist also zentriert, und jetzt müssen wir uns um den Welleneffekt kümmern Bevor wir das tun, werde ich mir die Styles des Hauptbatson schnappen und sie in die gängigen Styles einfügen Denn während dieses Projekts werden wir ein paar solcher Knöpfe haben. Schließlich müssen wir das Problem mit dem Welleneffekt beheben. Es wird ganz einfach sein. Wir müssen alle Tasten auswählen. Lassen Sie uns also den Namen der Variablen ändern. Ich nenne es Main BTN. Und wählen Sie sie mit der Methode querySelector all aus. Wie Sie wissen, gibt diese Methode eine Knotenliste zurück. Also mussten wir diese Liste durchgehen. Wir brauchen Haupt-BTS mit Futter. Lassen Sie uns hier die BTN weitergeben. Dann müssen wir uns den gesamten Code schnappen und ihn hier einfügen. Und wir müssen die wichtigsten BTN und BTN überall ändern. In Ordnung, jetzt läuft alles perfekt. Wir haben hier einen Welleneffekt. Und schließlich mit dem zweiten Abschnitt sind wir fertig. Gehen wir zum nächsten über. 11. Projektabschnitt erstellen und anpassen - Teil 1: Ordnung, also sobald wir mit dem zweiten Abschnitt fertig sind , in dem wir einen animierten Text erstellt haben Jetzt ist es an der Zeit, weiterzumachen und mit der Arbeit an einem der interessantesten und wichtigsten Abschnitte zu beginnen , nämlich meiner Arbeit. Dieser Abschnitt wird also die Projekte des Designers enthalten . Tatsächlich sind diese Projekte die Teile unseres vorherigen Kurses, in dem wir zehn ziemlich große, responsive Websites von Grund auf neu erstellt haben, sodass Sie es sich ansehen können. In diesem Fall verwenden wir hier die Bilder der Projekte. Derzeit werden nur sechs Projekte angezeigt. Aber unten haben wir eine Schaltfläche „Mehr anzeigen“. Wenn ich darauf klicke, werden die restlichen Projekte mit einem Fade-Effekt angezeigt. Die Schaltfläche wird jetzt angezeigt, zeige weniger. Und wenn ich darauf klicke, bekommen wir nur sechs Projekte zurück. Nochmals. Wenn ich den Mauszeiger über das Projekt bewege, scrollt es schön nach oben Und außerdem wird das Projekt erweitert, wenn ich auf das Projekt klicke. Und Sie können sich das gesamte Projekt ansehen. Eigentlich sind das ähnliche Bilder, aber mit unterschiedlichen Größen. Diese großen Bilder entstehen im Handumdrehen, wenn wir auf das Projekt klicken, Delos soll die Webseite eigentlich nicht überladen, oder? Dieser Abschnitt hat viele coole Funktionen und Effekte, also lasst uns anfangen, ihn zu erstellen. Zunächst beginne ich wie üblich mit dem HTML-Markup Lassen Sie uns neue Kommentare in der HTML-Datei für Abschnitt drei erstellen. Öffnen Sie dann das Abschnitt-Tag mit einer Klasse, Abschnitt drei. Insgesamt werden wir also drei verschiedene Teile haben. Die erste wird die Überschrift sein. Fügen wir neue Kommentare ein. Überschrift des dritten Abschnitts. Und der Überschrift von Abschnitt drei. Öffnen Sie dann das H1-Überschrift-Tag mit der Überschrift Klassenabschnitt drei Und was den Inhalt angeht, lass uns meine Arbeit einrichten. In Ordnung, als Nächstes werden wir Projekte haben. Also brauchen wir hier neue Kommentare. Projekte und von Projekten. Öffnen wir das div-Tag mit einer Klasse. Projekte. Es wird die Zusammenfassung des Projekts Insgesamt wird es zehn verschiedene Projekte geben, ich meine, zehn verschiedene Bilder. Und jeder von ihnen wird von einem div-Element umhüllt. Lassen Sie uns also weitermachen und es mit dem Klassenprojekt öffnen. Und dann füge hier ein Bild ein. Wenn Sie hier den Pfad der Datei angeben. Lassen Sie mich einfach Project One JPG auswählen. Okay, lassen Sie uns dieses Projekt neunmal duplizieren und dann schnell die Namen der Bilder ändern. Wir müssen die Zahlen 2-10 verwenden. In Ordnung, das war's mit den Bildern. Außerdem werden wir den Hauptbutton in diesem Abschnitt haben , aber wir werden uns etwas später darum kümmern. Das war's mit dem HTML-Markup. Derzeit sind Bilder nicht sichtbar, da sie hinter dem Hintergrund platziert werden. Lassen Sie uns also weitermachen und diesen Abschnitt anpassen. Ich werde neue Kommentare für Abschnitt drei einfügen. Wählen Sie dann das Abschnittelement und definieren Sie dessen Breite und Höhe. Ich werde beide auf 100% setzen. Dann werde ich mithilfe von Padding etwas Platz innerhalb des Abschnitts schaffen mithilfe von Padding etwas Platz innerhalb des Abschnitts Wir brauchen 20 RAM oben als Null auf der rechten Seite, Wutanfall unten und Null auf der linken Seite Und setzen Sie die Position auch auf relativ. Okay, jetzt sehen wir hier die Bilder und die Überschrift. Eigentlich wie im vorherigen Abschnitt. Ich werde mich etwas später um die Überschrift kümmern. Also lasst uns weitermachen und es kommentieren und anfangen, an den Projekten zu arbeiten. Wir brauchen neue Kommentare für die Projekte. Wählen Sie dann ein Div-Element aus. Also werde ich zunächst die Projekte aufeinander abstimmen. Und dafür verwenden wir Flexbox. Wie Sie wissen, haben wir ein Klassenzentrum für das Flex-Layout definiert . Lassen Sie uns also weitermachen und es dem div-Element in der HTML-Datei zuweisen . Als Nächstes werde ich die Projekte in verschiedenen Zeilen platzieren. Dafür müssen wir Flex Wrap mit dem Wert rab verwenden. Und außerdem lassen Sie uns etwas Platz am Ende der Projekte schaffen, etwas Platz am Ende der Projekte schaffen indem wir Padding Bottom mit dem Wert 15 ausführen. Okay, schauen wir uns die Div-Elemente des Wrappers an Okay, schauen wir uns die Div-Elemente des . Gerade jetzt. Diese Bilder sehen irgendwie hässlich aus. Sie haben unterschiedliche Größen. Lassen Sie uns also weitermachen und sie anpassen. Ich wähle das Projekt selbst aus. Definieren wir zunächst die Breite und Höhe. Ich setze für die Rampe die Breite auf vier. Was die Höhe angeht, so wird es 45 gelaufen sein. Sobald wir die Breite und Höhe der Bilder definiert haben, verdeckten sie sich gegenseitig. Um die äußeren Teile der Bilder zu verbergen , müssen wir sie verwenden. Überlaufen, versteckt, und zusätzlich etwas Platz um die Bilder herum schaffen , indem Sie den Rand verwenden, der Wert fünf lief Richtig. Danach. Ich werde die Hintergrundfarbe der Projekte ändern. Ich meine, ich möchte schwarzen Raum um die Bilder herum schaffen. Also lasst uns die Hintergrundfarbe ändern und ihn schwarz machen. Als Nächstes wähle ich das Bild und verringere seine Breite. Machen wir 90% draus. Und auch, um die Bildqualität zu erhalten. Ich meine, um es nicht zu verkleinern, werde ich Object Feed Cover verwenden Wir haben hier also den schwarzen Hintergrund, aber wie Sie sehen können, müssen wir die Bilder zentrieren. Und dafür verwenden wir Flexbox. Wir brauchen Display Flex. Und dann verwende ich für die Zentrierung das Justify-Content Ordnung, vorerst haben wir ein schwarzes Feld auf der linken und rechten Seite der Bilder Und wir müssen es auch oben in den Bildern anzeigen . Dafür werde ich die Bilder ein wenig nach unten verschieben. Lassen Sie uns die Position also auf absolut setzen. Dann benötigen wir die relative Position für das übergeordnete Element, das das Projekt ist. Und danach werde ich die Spitzenposition ändern. Machen wir es zum Laufen. In Ordnung, jetzt haben wir schwarze Flächen auf drei Seiten. Als Nächstes werde ich eine Grenze um die Projekte legen. Weisen wir ihm einen Punkt zu, der gepunktet verlaufen soll. Und als Farbe verwenden wir 90 E 0 E. Außerdem werde ich den Rand leicht abgerundet machen. Verwenden wir Border-Radius. Wir werten 0,5 g ab. Und zum Schluss ändern wir den Titel, den Cursorzeiger In Ordnung, das war's also. Die Projekte sind maßgeschneidert und ich werde den Hover-Effekt erstellen Werfen wir einen Blick auf das fertige Projekt. Wenn wir den Mauszeiger über die Projekte als über die Bilder bewegen, scrollen wir schön nach oben Sie werden auch feststellen, dass die Bilder in die verschiedenen Richtungen schief sind in die verschiedenen Richtungen schief Ich meine, die ungeraden und geraden Bilder. Dafür werden wir CSS-Keyframes verwenden. Ordnung, zuerst werde ich schaffen, das Bild beim Zeigen mit der Maus nach oben zu scrollen Und danach kümmern wir uns um diesen Teil der Warteschlange. Ich werde mit JavaScript einen Hover-Effekt erstellen. Sobald also die Maus das Projekt betritt, sollten wir die oberste Position des Bildes definieren. Und das brauchen wir für alle Projekte. Also müssen wir sie zuerst auswählen. Lassen Sie uns neue Kommentare in die JavaScript-Datei einfügen . Wir brauchen Projekte. Und Projekte. Erstellen Sie dann eine Variable und nennen Sie sie Projekte. Also werde ich sie mit der Methode Query Selector All auswählen mit der Methode Query Selector All Geben wir hier das Klassennamenprojekt an. Okay, die Projekte sind also ausgewählt. Als Nächstes müssen wir sie durchschauen und jeden Projektereignis-Listener mit der Maus zur Eingabe des Ereignisses anhängen mit der Maus zur Eingabe des Ereignisses Wir benötigen also für jede Methode , die einen Parameter benötigt, die Callback-Funktion Die Callback-Funktion selbst benötigt einen Parameter, das aktuelle Element während der Schleife ist Also wie gesagt, wir müssen jedem Projekt einen Event-Listener hinzufügen Wir müssen also die Methode Add Event Listener mit der Maus verwenden , um Ereignisse einzugeben Und mit einer Callback-Funktion, die ausgeführt wird, sobald wir den Mauszeiger über das Projekt bewegen Okay, wie gesagt, wir müssen die Position der Bilder ändern. Zuallererst müssen wir auf sie zugreifen. Dafür. Ich werde eine der Kuppeleigenschaften verwenden, die als erstes Element Child bezeichnet wird. Also brauchen wir Projektpunkte. Erstes Element: Kind. Jetzt haben wir Zugriff auf die Bildelemente und müssen dann die oberste Position definieren. Also müssen wir das Top stylen. Alle Bilder haben also unterschiedliche Höhen. Und wir müssen herausfinden, wie weit wir jedem Bild nach oben scrollen müssen Wir müssen die Höhe des Projekts von der Höhe des Bildes abziehen Projekts von der Höhe des Bildes Aus diesem Grund müssen wir das Bild nach oben scrollen. Der Wert der beiden Positionen wird negativ sein. Jetzt müssen wir die Höhe des Bildes definieren. Daher benötigen wir hier den Projektpunkt, das erste Element, die untergeordneten Punkte, die zur Höhe versetzt sind. Und wir müssen die Höhe des Projekts abziehen. Daher benötigen wir für Projekte einen Punktversatz in der Höhe. Und dann brauchen wir deine Stücke. Ordnung, das Letzte, was ich jetzt tun werde , ist, den Scroll-Effekt glatter zu machen Also müssen wir mit Top übergehen. Und die Dauer 4 s. Wie Sie sehen können, scrollen die Bilder also flüssiger nach oben Aber wir haben hier ein paar Probleme. Sobald die Maus das Projekt ausgeführt hat, müssen wir das Bild nach unten zurück zur Standardposition scrollen . Und wir brauchen auch das schwarze Feld unten, das wir hier einfach hinzufügen können, 20. Was das Mausblatt angeht, müssen wir dem Projekt einen neuen Event-Listener hinzufügen Wir benötigen also die addEventListener-Methode mit Maus-Live-Events und auch mit Maus-Live-Events und auch In diesem Fall müssen wir also die Position festlegen, die ausgeführt werden soll. Wir benötigen also den Projektpunkt, erste Element im untergeordneten Punktstil, Punkt oben gleich, um ausgeführt zu werden. Okay, jetzt funktioniert alles perfekt und wir können weitermachen und uns um diesen Cueing-Effekt kümmern Dafür müssen wir CSS-Keyframes erstellen. Zuerst werde ich sie für die alten Bilder erstellen. Während der Animation müssen wir die Bilder also ein paar Mal drehen , horizontal und vertikal. Nennen wir die Keyframes Alt, IMG, Anime. Bei Null Prozent müssen wir die Elemente also nicht drehen. Also müssen wir transformieren, um Null drehen. Dann werde ich im nächsten Schritt, bei 25%, die Elemente entlang der Y-Achse um minus zwei Grad drehen Y-Achse um minus zwei Grad Außerdem müssen wir die Elemente entlang der X-Achse um zwei Grad drehen . Dann füge 30% hinzu. Ich kopiere diese Codezeile und füge sie hier ein. Der Wert von rotation y muss zwei Grad betragen. Für die Funktion „Drehen x benötigen wir hier minus zwei Grad. Was die 100% angeht, müssen wir das Element nicht drehen. Die Keyframes sind fertig. Als Nächstes müssen wir alle Bilder auswählen. Also brauchen wir hier Projekt, gefolgt vom n-ten Child Selector. Und wir müssen hier angeben, dass wir den Mauszeiger gefolgt von einem Bild benötigen Um die CSS-Keyframes anzuwenden, müssen wir also Animationen verwenden Wir brauchen hier den Namen der ausgehenden Keyframes, IMG, anim, gefolgt von der Dauer 4 s. Und außerdem verwende ich hier eine kleine Verzögerungszeit von 0,2 s. Wenn ich also jetzt mit der Maus über das erste Bild fahre kleine Verzögerungszeit von 0,2 s. , nichts Besonderes Wir sehen hier keinen Verzerrungseffekt. Das passiert, weil wir eine 3D-Umgebung für die Elemente erstellen müssen und dafür eine der CSS-Eigenschaften verwenden müssen, die als Perspektive bezeichnet wird. Stellen wir es auf Rampe 20 ein. Wenn ich jetzt den Mauszeiger über das Bild bewege, wird es im 3D-Raum Ordnung, machen wir weiter und machen dasselbe für die geraden Bilder Wir können den gesamten Code duplizieren. Lassen Sie uns alles so ändern, dass die Keyframes gleichmäßig asphaltiert werden. Wir müssen nur die Stellen der Transformationseigenschaften in Schritten von 25,50 Prozent ändern der Transformationseigenschaften in Schritten von 25,50 Prozent Jetzt kann es sehen, dass alles gut funktioniert. Als Nächstes füge ich eine kleine Verzögerungszeit hinzu, bis das Bild nach oben scrollt Machen wir 0,2 s. In Ordnung, also bevor wir diese Vorlesung beenden, werde ich noch eine Sache machen Ich werde standardmäßig die Opazität für jedes Bild verringern standardmäßig die Opazität für jedes Bild verringern Machen wir es auf 0,5 und erhöhen es dann, indem wir den Mauszeiger bewegen. Wir brauchen Opazität 1. Und füge hier auch den Übergang hinzu. In Ordnung, das ist es jetzt. Als Nächstes erstellen wir ein Klick-Event und erweitern die Bilder. Also lass uns weitermachen. 12. Projektabschnitt erstellen und anpassen - Teil 2: Ordnung, in der vorherigen Vorlesung erstellen wir es und passen die Projekte Ich meine, wir haben Bilder ausgerichtet und wir haben auch einen Schwebeeffekt erzeugt Als Nächstes erweitern wir das Projekt, sobald wir darauf klicken, so wie es in der fertigen Version des Projekts ist. Bevor wir das tun, werde ich ein kleines Problem beheben , das wir im vorherigen Abschnitt hatten. Wenn ich den Mauszeiger von unten über den Button bewege, passiert nichts Der Grund dafür ist, dass der Projektbereich die Schaltfläche teilweise abdeckt. Also zwei Spitzen, dass ich die Polsterung oben für diesen Abschnitt verringern werde die Polsterung oben für diesen Abschnitt verringern Machen wir zehn RAM draus. Und außerdem füge ich hier die obere Marge mit dem Wert Tan ran hinzu. Wie Sie sehen können, ist das Problem jetzt behoben. In Ordnung, gehen wir zurück zum Projektbereich. Wenn wir also auf das Projekt klicken, müssen wir neue Elemente erstellen . Ich meine, dieses große Bild. Standardmäßig ist es nicht vorhanden. Es wird nur onClick erstellt. Es hilft uns also, die Webseite nicht zu überladen , weil diese Bilder wirklich die großen sind. Als erstes füge ich den Event-Listener mit dem Click-Event an das Projekt Lassen Sie uns zunächst Ihre neuen Kommentare einfügen. Bild großer Projekte. Und ich wähle das Projektbild aus. Hängen Sie dann den Event-Listener an das Projekt an. Wir klicken auf Ereignisse und erweitern eine Callback-Funktion. Wie gesagt, wir müssen onClick ein neues Element erstellen Aber bevor wir das Bild erstellen, müssen wir zunächst einen Wrapper des Images erstellen Ich bin in dem dunklen Hintergrund , der zuerst erscheint. Um das Element zu erstellen, verwende ich die Methode create. Lassen Sie uns eine neue Variable erstellen. Ich werde es großen IMG-Wrapper nennen. Und dann erstellen Sie die Elemente mit der Methode create element. Wenn Sie hier den Tag-Namen angeben sollten, wird das Element erstellt. Als Nächstes werde ich ihm einen Klassennamen zuweisen. Eigentlich können wir das auf verschiedene Arten tun. In diesem Fall verwende ich die Eigenschaft ClassName Also brauchen wir Big ING, Rapper Dot Class Name Und der Wert wird der Rapper Project IMG sein. Richtig? Jetzt müssen wir dem Container ein neues Element hinzufügen. Wählen wir zunächst den Container selbst aus. Ich werde eine neue Variable erstellen. Und wählen Sie dann den Container mit der Methode querySelector aus. Wenn Sie hier nur den Klassennamen-Container angeben. Nach Schulden. Um den Image-Wrapper an den Container anzuhängen, müssen wir eine der Methoden namens append verwenden Das Kind muss hier ein großes IMG angeben, Robert. In Ordnung, schauen wir uns das Wrapper an. Um zu sehen, dass das Element erstellt wird, klicken Sie auf. Schauen wir uns die Seite an und schauen uns den Tab Elemente an. Sobald ich auf das Projekt klicke, werden die Elemente erstellt. Okay, bevor wir das Bild selbst erstellen, werde ich zuerst den Wrapper stylen Lassen Sie uns neue Kommentare verfassen, großes Projektbild. Und von einem großen Projektimage. Wählen Sie dann den Wrapper aus. Die Position des Wrappers wird festgelegt. Außerdem werde ich die Eigenschaften oben und links definieren. Lassen Sie uns beide auf Null setzen. Dann werde ich Elemente des gesamten Viewports erweitern. Und ich werde auch die Hintergrundfarbe ändern. Lassen Sie uns Breite und Höhe setzen, beide auf 100%. Für die Hintergrundfarbe verwende ich den RGBA-Wert Lassen Sie uns Ihre schwarze Farbe mit der Opazität 0,9 einfügen. Ordnung, wenn ich jetzt auf das Projekt klicke, wird der Wrapper angezeigt Wie Sie wissen, sollte der Wrapper von oben mit einer kleinen Animation angezeigt von oben mit einer kleinen Animation Also werde ich die CSS-Keyframes erstellen. Lassen Sie uns vorher die Höhe des Wrappers verringern und ihn auf Null setzen Und dann erstellen Sie CSS-Keyframes. Ich werde es IMG Wrapper-Anime nennen. Insgesamt werden wir also zwei verschiedene Schritte haben. Bei 0% wird die Höhe Null sein. Was die 100% angeht, werde ich die Höhe auf 100% erhöhen. Dann verwende ich Animationseigenschaften. Wir müssen hier den Namen des Keyframes IMG Wrapper-Anime angeben Keyframes IMG Wrapper-Anime Dann wird der nächste Wert die Dauer einer Sekunde sein. Und außerdem werde ich die Höhe zu hundert Prozent beibehalten, wenn die Animation endet. Also wir brauchen hier vorwärts Also wenn ich auf das Projekt klicke, dann erscheint der Wrapper von oben schön. In Ordnung, das war's gerade mit dem Image-Rapper. Als Nächstes nehme ich hier das Bild selbst, wie den Wrapper, wir müssen dieses Element erstellen Also werde ich eine neue Variable erstellen. Nennen wir es Big IMG. Und dann Elemente erstellen. Geben wir hier den Tag-Namen IMG an. Das Element wird also erstellt. Und als Nächstes werde ich ihm einen Klassennamen für die CSS-Stile zuweisen . Wir brauchen also einen großen IMG-Punktklassennamen. Und der Wert wird ein Projekt sein. Ich habe recht. Um nun zu testen, ob das Bild beim Klicken angezeigt wird, definiere ich seinen Namen im Quellattribut und gebe ihm den Namen eines beliebigen Bildes. Um das Attribut für die Elemente zu definieren, müssen wir eine der Methoden verwenden, die als set-Attribute bezeichnet werden. Es braucht zwei Argumente. Der erste ist der Name des Attributs. In diesem Fall benötigen wir eine SRC-Quelle. Soweit das zweite Argument der Teil des Bildes sein wird. Also brauchen wir Bilder als den Ordner Projekte und das Bild mit dem Namen project, one, big dot jpg. Und schließlich müssen wir mit der Methode append child ein Bild an den Wrapper anhängen Methode append child ein Bild an den Wrapper Wenn ich jetzt auf das Projekt klicke , wird das große Bild angezeigt. Wenn ich jetzt auf eines der Projekte klicke, wird dasselbe Bild angezeigt. Ich meine den ersten. Da wir den Teil des Bildes mit dem ersten Bild definieren , brauchen wir das nicht. Wir müssen für jedes Projekt das gleiche Bild anzeigen. Dazu müssen wir Zugriff auf den Pfad des Bildes erhalten, auf das geklickt wird Lassen Sie uns weitermachen und eine neue Variable erstellen. Ich nenne es IMG-Pfad. Um zunächst Zugriff auf das Quellattribut zu erhalten, müssen wir auf das Bildelement selbst zugreifen. Also brauchen wir Project Dot, First Element Child. Dann müssen wir dieses Quellattribut mit der Methode get attribute abrufen. Wir müssen hier den Namen des Attributs als RC angeben. Sehen wir uns in der Konsole an , was uns diese Variable gibt. Wenn ich auf das Projekt klicke, erhalten wir den Pfad des Images in der Konsole. Wenn wir auf andere Projekte klicken, erhalten wir den richtigen Pfad des Bildes. Okay, von diesem Pfad aus brauchen wir also alles , was auf der linken Seite der Punkte platziert ist auf der linken Seite der Punkte Weil große Bilder einen ähnlichen Pfad haben, die tatsächlichen Bildnamen jedoch unterschiedlich sind. Sie haben große hinter den Zahlen her. Um den ersten Teil des Pfads abzurufen, verwende ich eine der Array-Hilfsmethoden namens split Wir müssen den Pfad punktuell aufteilen. Wenn ich jetzt auf das Projekt klicke, erhalten wir ein Array mit zwei verschiedenen Elementen. Der erste ist der Pfad ohne Erweiterung des Bildes. Was das zweite betrifft, ist das Extinction JPG. Um das erste Element auszuwählen, müssen wir die Indexnummer als Null definieren. Wenn ich jetzt auf das Projekt klicke, bekommen wir das erste Array, oder? Richtig. Jetzt müssen wir diesen Artikel verwenden und dem Namen des Bildes Big Dot JPG hinzufügen . Um das zu erreichen, müssen wir diesen Weg ändern und ihn dynamisch gestalten. Öffnen wir Backticks und fügen Sie hier den variablen Bildpfad und fügen Sie dann einen Strich hinzu, Big Dot JPG Okay, also wenn ich jetzt auf die Projekte klicke, dann bekommen wir die richtigen Bilder, oder? Alles war in Ordnung und wir müssen die Bilder stylen. Ich meine die großen. Wählen wir sie also aus. Lassen Sie uns die Breite auf 100% setzen. Außerdem werde ich den Kongress wie das Abgerundete machen, indem ich den Randradius mit dem Wert 0,5 rem verwende Lassen Sie uns außerdem eine Polsterung erstellen. Ich mache sieben Rem oben und unten und 20 RAM auf der linken und rechten Seite. Und verringern Sie auch die Opazität leicht, machen Sie sie auf 0,9. In Ordnung, die Bilder sehen also gut aus. Jetzt müssen wir sie und Animationen hinzufügen. Standardmäßig blende ich sie aus und zeige sie an, sobald wir auf das Projekt klicken und der Rapper erscheint Lassen Sie uns weitermachen und CSS-Keyframes erstellen Ich werde sie IMG-Anion nennen. Insgesamt werden wir also zwei Schritte haben. Bei 0% setze ich die Skala der Elemente auf Null. Was die 100% angeht, werde ich die erste Skala machen. Und verwende auch Animationen. Wir benötigen hier den Namen der Keyframes, IMG-Anime, auch die Dauer 1 s. Und wir benötigen eine Verzögerungszeit, die 1 s betragen wird. In diesem Fall müssen wir die Skala Null als Standardstil des Bildes festlegen die Skala Null als Standardstil des Bildes Und wir müssen auch den Maßstab beibehalten , damit die Animation endet. Dazu können wir entweder die Transformationsskala standardmäßig auf Null setzen und dann in der Animationseigenschaft vorwärts verwenden, wie wir es bereits für den Image-Wrapper getan haben Oder wir können hier einfach den Wert beide verwenden , der den gleichen Job macht. Wenn ich also auf das Projekt klicke, erscheint das Bild. Im Moment erscheint es von unten und ich möchte es von oben anzeigen. Also müssen wir den Ursprung der Transformation ändern. Wir brauchen das obere Zentrum. In Ordnung, jetzt haben wir ein viel besseres Ergebnis. Im Moment können wir das Bild nicht nach unten scrollen. Wir scrollen auf der Seite selbst, die versteckt ist. Um das zu tun, verwende ich die Overflow-Eigenschaft mit versteckten Werten Scrollen. Jetzt können wir im Bild nach unten scrollen, aber wie Sie sehen können, haben wir hier zwei Scrollbalken. Eine für das Bild und die zweite für die Seite. Um das zu beheben, sollten wir dem Hauptelement einen mit JavaScript versteckten Überlauf zuweisen mit JavaScript versteckten Überlauf Wir benötigen also Punkt, Hauptteil, Punktstil, Punktüberlauf Y mit dem Wert ausgeblendet In Ordnung, jetzt funktioniert alles perfekt. Und das einzige, was ich in diesem Video tun werde , ist die Schaltfläche zum Schließen zu erstellen. Sobald wir das Bild erweitert haben. Lassen Sie uns zunächst das HTML-Markup für den Buxton erstellen HTML-Markup für den Buxton Ich werde neue Kommentare einrichten, Schaltfläche zum Ausblenden des Projekts. Und des Projekts Schaltfläche „Ausblenden“. Öffnen Sie dann das Button-Tag mit Höhe des Klassenprojekts, btn. Ich werde hier eine der HTML5-Entitäten übergeben. Es wird der Pfeil sein. Wir brauchen hier, l AQ, U0, Semikolon, gefolgt vom Danach werde ich den Button anpassen. Fügen wir neue Kommentare in die CSS-Datei für die Schaltfläche ein. Wählen Sie es dann aus. definiere ich die Position des Buttons. Es wird in der oberen rechten Ecke platziert. Also werde ich die Position festlegen, um sie zu korrigieren. Und dann mache ich die besten und die richtigen Eigenschaften, beide fünf sind gelaufen. Als Nächstes. Ich werde die Hintergrundfarbe transparent machen. Entfernen Sie auch den Standardrahmen. Dann ändere ich die Farbe des Textes. Lass es uns weiß machen. Erhöhen Sie dann die Schriftgröße und machen Sie es zu Ram. Als Nächstes werde ich etwas Abstand zwischen den Buchstaben schaffen. Machen wir 0,1 RAM draus und ändern wir auch den Typ des Kurses, um es auf den Punkt zu bringen. Okay, hier haben wir das Schlussmuster. Wenn ich auf die Projekte klicke, deckt der Image-Wrapper sie ab Also müssen wir das beheben. Und dafür verwenden wir die Z-Index-Eigenschaft mit einem höheren Wert als Null. Sagen wir zehn. Ordnung, also standardmäßig müssen wir die Schaltfläche ausblenden und anzeigen Sobald wir auf das Projekt klicken. Um die Elemente zu verbergen, verwende ich Transform. Skalieren Sie mit einem Wert von Null. Auch die Sichtbarkeit ist versteckt. Um die Schaltfläche wieder anzuzeigen, verwende ich, sobald wir auf das Projekt geklickt haben, sobald wir auf das Projekt geklickt haben, eine neue Klasse in CSS, in der wir die neuen Stile definieren, diese Stile, um die Schaltfläche anzuzeigen. Also werde ich den Klassenwechsel ausrufen. Und dann müssen wir Project Hide auswählen, übrigens. Wir haben hier kein Leerzeichen zwischen diesen beiden Klassen verwendet , da wir dasselbe Element mit zwei verschiedenen Klassennamen auswählen. Wenn das Element keine dieser Klassen hat, werden diese Stile nicht auf das Element angewendet. Wir müssen also die erste Skala transformieren und die Sichtbarkeit sichtbar machen. Ordnung, als Nächstes sollten wir mithilfe von JavaScript eine Klassenänderung zum Button onclick hinzufügen mithilfe von JavaScript eine Klassenänderung zum Button onclick Soweit wir eine Schaltfläche selbst auswählen müssen. Lassen Sie uns eine neue Variable erstellen und sie Project hide btn nennen. Wählen Sie dann eine Schaltfläche mit der Methode querySelector aus. Geben wir hier den Klassennamen an, project hide, btn. Dann müssen wir der Schaltfläche einen Klassenwechsel hinzufügen, sobald wir auf die Projekte klicken. Also brauchen wir hier Projekthöhe, BTN, Punkte, Klassenliste, Punkt hinzufügen Ich muss hier nicht den Namen der Klassenänderung angeben . Außerdem sollten wir es entfernen, wenn wir auf die Schaltfläche selbst klicken. In diesem Fall werde ich den OnClick-Event-Handler verwenden , da im Fall des Event-Listeners das Click-Ereignis mehrfach hinzugefügt wird und wir das nicht benötigen Wir müssen ein Klick-Event nur einmal auslösen. Also schreibe ich hier die Projekthöhe, btn dot onclick, was einer Pfeilfunktion entsprechen sollte Und hier müssen wir den Klassenwechsel aus der Klassenliste entfernen . Außerdem müssen wir die Hülle des großen Bildes entfernen die Hülle des großen Bildes Also werde ich hier großes IMG, Rapper Dot, Remove schreiben. Und wir müssen auch den Wert des alten Flusses ändern. Warum Eigenschaft für das Körperelement zurück zum Scrollen. Wir benötigen also einen Aufruf für die Werte Punkt, Hauptteil, Punktstil, Punktüberlauf und Y-Werte In Ordnung, also funktioniert alles gut. Das einzige, was ich tun werde, ist, der Schließen-Schaltfläche einen kleinen Übergang hinzuzufügen . Wir müssen nur wechseln , wenn die Schaltfläche erscheint. Also müssen wir den Klassenwechsel einleiten. Stellen wir es auf Transformation und Dauer 0,5 s ein. In Ordnung, also sind wir endlich fertig Alles funktioniert perfekt. Als Nächstes müssen wir uns um diese Schaltfläche „Mehr anzeigen“ kümmern . Also lass uns weitermachen. 13. Die Funktion „Mehr anzeigen“ zu Projekten hinzufügen - Teil 1: Okay, also haben wir die Projekte erstellt und angepasst. Wir haben ihnen ein paar verschiedene Effekte hinzugefügt, wie die Ereignisse, die mit dem Mauszeiger verbunden sind und klicken Moment werden alle zehn Projekte auf der Seite angezeigt, und ich denke, es sieht nicht ganz gut aus. Und es wird auch nicht gut aussehen, wenn wir unser Projekt auf kleinere Bildschirmgrößen reagieren lassen würden. Also werde ich einige der Projekte verstecken. Fügen Sie hier auch eine Schaltfläche „Mehr anzeigen“ hinzu. Und sobald der Benutzer darauf klickt, werden wir alle zehn Projekte anzeigen. Anstatt mehr zu zeigen, werden wir zeigen, das zeigen. Und wir werden auch die Richtung des Pfeils ändern. Tatsächlich zeigt uns der Pfeil die Richtung des Scrollens, was beim Klicken passiert. Außerdem werden die Projekte mit einigen Fade-Effekten angezeigt und ausgeblendet. In Ordnung, das war's also. Was wir in diesem Video machen werden. Lass uns anfangen. Als erstes werde ich die letzten vier Projekte verstecken. Und das werde ich mit JavaScript machen . Wir haben alle schon hier für jede Methode. Um die Projekte durchzugehen. Projekte sind eine Knotenliste und jedes Projekt hat seine eigene Indexnummer. Wir müssen die letzten vier Projekte verstecken. Die Projekte mit Indexnummern von sechs bis neun. Wir müssen also auf diese Projekte zugreifen. Dafür müssen wir hier einen weiteren Parameter übergeben, der die Indexnummer sein wird. Jetzt müssen wir eine If-Anweisung verwenden , in der wir definieren müssen ob I größer oder gleich sechs ist. Wenn diese Bedingung zutrifft, müssen wir die Projekte verstecken. Also brauchen wir hier Projekt- und Punkt-CSS-Text im Punktstil. Und wir müssen hier zu den CSS-Eigenschaften übergehen. Die erste wird mit dem Wert none angezeigt. Für den zweiten benötigen wir Opazität Null Wie Sie sehen können, sind die letzten vier Projekte hier. Eigentlich funktioniert dieser Code, ich meine, die IF-Anweisung, gut, aber wir können kürzer schreiben. Anstelle der if-Anweisung können wir den logischen Operator und den Operator verwenden. So können wir das Schlüsselwort loswerden, auch die geschweiften Klammern Und wir müssen hier einen Operator hinzufügen, der durch zwei Ampersanden ausgedrückt wird Wenn also die linke Seite wahr ist, können wir einfach einen Codeblock auf der rechten Seite des Operators hinzufügen . Wie Sie sehen können, haben wir hier genau das gleiche Ergebnis. Jetzt ist es an der Zeit, hier den Button hinzuzufügen. Es bleibt der Knopf , den wir schon ein paar Mal benutzt haben. Gehen wir also zur Datei index.html. Schnappen Sie sich den Button aus dem vorherigen Abschnitt und fügen Sie ihn hier ein. Ich werde den Inhalt, den wir hier benötigen, ändern und mehr anzeigen. Und fügen wir noch eine weitere Klasse hinzu, Projekte, BTN. Und ändere auch die Kommentare, die wir hier benötigen, Projekte. Aber wie Sie hier sehen können, haben wir gerade den Button, er befindet sich auf der linken Seite der Seite. Also müssen wir es zentrieren. Lassen Sie uns neue Kommentare in die Schaltfläche Projekt der CSS-Datei einfügen. Und von der Schaltfläche „Projekte“. Wählen Sie dann die Schaltfläche mit den neu hinzugefügten ClassName-Projekten btn Um das Element zu zentrieren, verwende ich die linke Position mit einem Wert von 50%. Und für eine perfekte Zensur müssen wir Translate X mit dem Wert -50 Prozent transformieren X mit dem Wert -50 Prozent Wie Sie sehen können, befindet sich der Button in der Mitte. Ordnung, jetzt füge ich der Schaltfläche mit dem Click-Event einen Event-Listener hinzu Sobald wir darauf klicken, müssen wir die versteckten Projekte anzeigen. Lassen Sie uns zunächst Kommentare einfügen. Schaltfläche Projekt und Schaltfläche Projekt, und wählen Sie dann die Schaltfläche selbst aus. Ich werde eine neue Variable erstellen. Nennen wir es Projects btn und wählen Sie Schaltfläche mit der Abfrageauswahlmethode Wir brauchen hier übrigens Klassenprojekte. Okay, als nächstes müssen wir einen Event-Listener mit Klick-Events und mit einer Callback-Funktion anhängen einen Event-Listener mit Klick-Events und mit einer Callback-Funktion Das erste , was wir tun werden, ist die Standardaktion zu verhindern. Wenn wir auf die Schaltfläche klicken, meine ich, sobald wir auf die Schaltfläche klicken, navigieren wir zur oberen Seite der Seite. Das brauchen wir also nicht. Ich werde hier ein Event-Objekt übergeben. Und dann brauchen wir Punkte. Standardeinstellung verhindern. Wie Sie sehen, navigieren wir jetzt nicht mehr nach oben. Moment ist es an der Zeit, die Projekte ein- und auszublenden. Dazu müssen wir zunächst die Projekte durchgehen, also werde ich für jede Methode eine Callback-Funktion verwenden jede Methode eine Callback-Funktion Ich gebe Ihnen zwei verschiedene Parameter. Das erste wird das Projekt sein. Für die zweite benötigen wir wieder eine Indexnummer. Ich meine, ich weiß wir müssen Zugriff auf die versteckten Projekte bekommen. Wie Sie sich erinnern, haben wir das mit der Indexnummer gemacht. Die Indexnummer ist größer oder gleich sechs, dann bedeutet das, dass wir nur Zugriff auf die versteckten Projekte haben . Also verwende ich hier und wenn Aussagen, die wir definiert haben, ob I größer oder gleich sechs ist. Wenn diese Bedingung also zutrifft, müssen wir es schaffen, die Projekte ein- und auszublenden. Dafür erstelle ich eine neue Variable, die der boolesche Wert sein wird Ich nenne es Show, Hide, Bu. Und standardmäßig setze ich es auf „True“. Als nächstes benötigen wir eine weitere if-Anweisung , in der wir überprüfen müssen, ob der boolesche Wert wahr oder falsch ist Also werde ich hier den Namen der Variablen übergeben. Wenn das stimmt, müssen wir die Projekte anzeigen. Wir brauchen also eine Punktanzeige im Projektpunktstil. Es sollte gleich Flex sein. Dann werde ich diese Codezeile duplizieren. Und wir brauchen hier Opazität mit dem Wert Eins. Wenn es dann falsch ist, müssen wir die Projekte verstecken. Also brauchen wir die Else-Aussage. Dann nehme ich diese beiden Zeilen und ändere die Werte. Wir brauchen Ausstellungseigentum, damit es keine gibt. Was die Opazität angeht, wird sie Null sein Okay, schließlich müssen wir den Wert dieser show hide bull Variablen auf True umstellen , dann müssen wir ihn auf falsch setzen und umgekehrt. Wir müssen also Show Hide bull gleich Not Show Hide book sein . Wenn ich auf die Schaltfläche klicke, werden die versteckten Projekte angezeigt. In der nächsten Woche werden sie sich verstecken. Ordnung, danach ändere ich den TextContent der Schaltfläche Sobald wir die Projekte angezeigt haben, sollte der Button den Inhalt wie show less haben. Und außerdem müssen wir zuerst den Pfeil drehen. Kümmern wir uns um den Inhalt des Textes. Zunächst wähle ich ein Span-Element aus. Lassen Sie uns eine neue Variable erstellen. Eigentlich werde ich diese Codezeile duplizieren und dann den Namen der Variablen ändern. Es werden übrigens Projekte sein, Text. Und ich werde hier auch Span hinzufügen. In Ordnung. Wenn wir also die Projekte anzeigen, sollten wir dafür sorgen, dass der TextContent weniger anzeigt Wir brauchen hier Projekte als Texte, Texte müssen inhaltlich gleich sein, um weniger zu zeigen Wenn wir die Projekte ausblenden, sollten wir Lektion anzeigen ändern, um mehr zu zeigen. Also werde ich diese Codezeile duplizieren. Und wir müssen uns hier weniger ändern als morgen. Wenn ich also klicke, ändert sich der Textinhalt des Buxoms In Ordnung, als Nächstes drehe ich den Pfeil onClick. Dafür erstelle ich eine neue Klasse und CSS und wähle die Zeilen mit dieser Klasse aus. Wir definieren neue Stile und fügen diese Klasse dann dem übergeordneten Element der Linien hinzu. Ich bin im Button-Inhalt. Fügen wir zunächst die Klasse hinzu, in der Elemente nicht erwähnt wurden. Wir brauchen Projekte BTN. Dann müssen wir auf das erste untergeordnete Element der Schaltfläche zugreifen . In diesem Fall wird es die Welle sein. Wir brauchen also das erste Element Child, und dann müssen wir Zugriff auf den Inhalt erhalten , der das Schwesterelement des Repos sein wird Also werde ich hier die Eigenschaft Next Element Sibling verwenden Next Element Sibling Jetzt müssen wir also auf den Inhalt zugreifen und dazu einen Klassenwechsel hinzufügen. In diesem Fall verwende ich eine Methode namens Toggle. Es ermöglicht uns, die Klasse zu dem Element hinzuzufügen , wenn es sie nicht hat, und die Klasse zu entfernen, wenn sie sie hat. Wir brauchen also einen Punktschalter für die Klassenliste. Und ich werde hier den Namen der Klasse als Änderung angeben . In Ordnung, schauen wir uns JavaScript an. Jetzt müssen wir Styles und CSS definieren. Wir müssen Linien mit dem Klassenwechsel auswählen. Als Nächstes benötigen wir einen der CSS-Kombinatoren namens Child Selector , der alle Elemente auswählt, die den angegebenen Elementen untergeordnet sind Und jetzt müssen wir den Klassennamen der Zeile angeben, gefolgt vom n-ten Child-Selektor innerhalb der ersten Zeile. Ordnung, also müssen wir die erste Linie entlang der Z-Achse um 45 Grad drehen Z-Achse um 45 Grad Und außerdem müssen wir es leicht entlang der X-Achse bewegen . Welcher Wert? -0,65 Runde. Das war's mit der ersten Zeile. Ich werde diesen Code zweimal duplizieren und dann einige Änderungen vornehmen. Für die zweite Zeile müssen wir Z um einen Wert von -45 Grad drehen Was den Wert der Übersetzungsfunktion angeht, so wird x 0,65 rem betragen Als nächstes kommt die dritte Zeile. Wir müssen Z um einen Wert von 90 Grad drehen. Was den Translate betrifft, so wird X -0,5 RAM sein. Außerdem müssen wir den linken Rand auf 2.1 RAM setzen, einfarbig und weiß. Und wir müssen auch die Grenze auf der rechten Seite loswerden. Okay, wenn wir also auf die Schaltfläche klicken, dreht sich der Pfeil. Alles funktioniert gut. Bisher. Wir müssen den Projekten einen Fade-Effekt hinzufügen. Als Nächstes müssen wir unseren Code ein bisschen sauberer machen. Außerdem müssen wir die Überschrift dieser Aktion anpassen. Lassen Sie uns dazu mit der nächsten Vorlesung fortfahren. 14. Die Funktion „Mehr anzeigen“ zu Projekten hinzufügen - Teil 2: Okay, in der letzten Vorlesung haben wir es geschafft, die Projekte ein- und auszublenden Sobald wir auf die Schaltfläche Mehr anzeigen geklickt haben, müssen wir ihnen jetzt einige Fade-Effekte hinzufügen. Und sobald wir auf die Schaltfläche klicken, müssen wir die Seite reibungslos nach unten scrollen. Um verschiedene Effekte zu erzeugen. Wir müssen die Projekte mit einigen Intervallen anzeigen. Deshalb werden wir die Methode setTimeout verwenden. Wir müssen also die verschiedenen Verzögerungszeiten für Display Flex und Opazität 1 definieren für Display Flex und Opazität 1 Zuerst müssen wir den Projekten Display-Flex zuweisen. Und dann müssen wir nach einiger Zeit beginnen, die Projekte in unterschiedlichen Intervallen anzuzeigen. Also werde ich die Methode set timeout verwenden. Dann füge ich diese Codezeile als zweites Argument in die Funktion ein. Ich meine die Zeit, die ich hier verbringen werde, 600 Millisekunden Sobald ich jetzt auf die Schaltfläche klicke, werden die Projekte nach einer kleinen Verzögerung angezeigt. Okay, jetzt müssen wir uns um die Opazität kümmern. Wie ich bereits sagte, benötigen wir für jedes Projekt unterschiedliche Verzögerungszeiten. Verwenden wir erneut die setTimeout-Methode und fügen Sie hier diese Codezeile Jetzt müssen wir das zweite Argument definieren. Ich bin in der Wartezeit. Um für jedes Projekt unterschiedliche Verzögerungszeiten zu definieren , verwende ich den Parameter i. Und wir müssen es mit einer gewissen Zeit multiplizieren , sagen wir 200. Wenn ich jetzt auf die Schaltfläche klicke werden die Projekte in bestimmten Abständen angezeigt. Richtig? Jetzt haben wir den Fade-Effekt nicht mehr , weil wir Transition verwenden müssen. Wir müssen es den Projekten zuweisen. Wir benötigen Opazität und die Dauer 0,5 s. Wie Sie sehen können, haben wir jetzt also den Fade-Effekt Richtig? Sobald ich auf die Schaltfläche klicke, scrollt die Seite nicht automatisch nach unten. Wir müssen es manuell machen. Lassen Sie uns also weitermachen und das Problem beheben. Ich werde eine der Methoden verwenden, die als Scrollen in die Ansicht bezeichnet werden. Und wir müssen es an die Abschnittselemente anhängen. wir es also zunächst Wählen wir es also zunächst aus und wollten eine neue Variable erstellen. Nennen wir es Abschnitt drei. Und wählen Sie dann Elemente mithilfe der Abfrageauswahlmethode aus. Wir müssen hier den Klassennamen Abschnitt drei angeben und dann in der ersten setTimeout-Methode Folgendes übergeben in der ersten setTimeout-Methode Wann soll die Scroll-in-View-Methode an Abschnitt drei angehängt werden? Es wird ein Argument erfordern. Es wird das Objekt sein. Wir brauchen hier eine Eigenschaft namens Block mit einem Wert. Und jetzt, wenn ich auf die Schaltfläche klicke, die Seite oder scrolle nach unten, aber ohne glatte Fakten. Um das zu beheben, müssen wir den HTML-Elementen eine der Eigenschaften zuweisen den HTML-Elementen eine der , die als Scrollverhalten mit den Werten bezeichnet werden. Wie Sie jetzt sehen können, funktioniert alles einwandfrei. In Ordnung, jetzt müssen wir die gleichen Dinge tun. Sobald wir die Projekte verstecken. Wir müssen die Projekte verstecken, damit sie ihre Wirkung verblassen. Und wieder müssen wir bei einigen Intervallen den Projekten die Opazität Null mit unterschiedlichen Intervallen zuweisen , bis die Projekte keine angezeigt bekommen Also müssen wir erneut die setTimeout-Methode verwenden. Aber jetzt fügen wir in der else-Anweisung diese Codezeile ein. Und als zweites Argument meine ich die Menge an Zeit. Fügen wir 1.200 Millisekunden ein. Außerdem müssen wir die Projekte mithilfe von Opazität mit unterschiedlichen Intervallen ausblenden Opazität mit unterschiedlichen Intervallen Also noch einmal, wir brauchen die Methode setTimeout. Dann platzieren wir diese Codezeile in der Funktion. Und als zweites Argument, das ich hier durchgebe, habe ich mit 100 multipliziert Wenn ich jetzt auf die Schaltfläche klicke, werden die Projekte mit Fade-Vets ausgeblendet Und das einzige, was wir tun müssen, ist zur Seite hochzuscrollen. Also müssen wir erneut in die View-Methode scrollen. Nehmen wir diese Codezeile und fügen sie ein. Moment haben wir also das gleiche Ergebnis, weil wir den Inhalt nach dem Abschnitt noch nicht haben. Sobald wir den Inhalt hinzugefügt haben, funktioniert er wie im fertigen Projekt. Ordnung, bevor ich weitermache und die Überschrift dieses Abschnitts anpasse, werde ich diesen Code etwas übersichtlicher gestalten. Ich werde zwei verschiedene Funktionen zum Ein- und Ausblenden der Projekte erstellen . Lassen Sie uns eine neue Funktion außerhalb des Klickereignisses erstellen. Ich werde die Funktion show projects aufrufen Sie benötigt zwei Parameter. Das erste wird das Projekt sein. Was die zweite betrifft, sollte es die Indexnummer sein. Dann hole ich mir diese setTimeout-Methoden aus den if-Anweisungen und füge sie in die Funktion Und dann müssen wir diese Funktion innerhalb der if-Anweisung als Argumente aufrufen . Wir müssen Ihre Projekte bestehen. Und lassen Sie uns dasselbe für die anderen Aussagen tun. Lassen Sie uns eine neue Funktion erstellen. Ich nenne es Höhenprojekte. Es werden auch zwei Parameter benötigt, projects und ich hole mir dann die setTimeout-Methoden aus der else-Anweisung, füge sie in die Funktion ein und rufe dann die Funktion in der else-Anweisung mit den Argumenten Und ich kann sehen, dass alles auf die gleiche Weise funktioniert. Aber jetzt haben wir einen etwas saubereren Code. Ich möchte noch ein paar Dinge tun. Anstelle der If-Aussagen verwende ich wieder den logischen Operator und den Operator. Lassen Sie uns das Schlüsselwort if und die geschweiften Klammern loswerden. Und dann füge hier zwei Ampersand hinzu. Was die zweite If-Else-Aussage angeht, verwende ich einen ternären Operator Lassen Sie uns die Klammer öffnen und die Bedingung einfügen, ich meine den Bullen Show, Hide Als nächstes brauchen wir ein Fragezeichen. Wenn also der boolesche Wert wahr ist, müssen wir die Funktion show projects aufrufen Und wenn es falsch ist, müssen wir die Funktion Höhenprojekte aufrufen. In Ordnung? Als Nächstes kümmere ich mich um den TextContent der Schaltfläche Wir benötigen diesen Code nicht für jede Methode, da er diesen Code bei jeder Iteration ausführt Also werde ich es für jede Methode außerhalb von platzieren. Wir benötigen den booleschen Wert. Ich meine, Show Hide Bull, gefolgt vom ternären Operator Wenn diese Bedingung also zutrifft, muss der Textinhalt weniger angezeigt werden. Also holen wir uns diesen Code von hier. Wenn es falsch ist, müssen wir mehr zeigen. Also werde ich mir diese Codezeile schnappen. Lassen Sie uns abschließend die If-Else-Aussagen von hier loswerden . In Ordnung, also nochmal, alles funktioniert auf die gleiche Weise. Eigentlich ist mir aufgefallen, dass der Pfeil ohne Übergang seine Richtung ändert. Und es sieht nicht ganz gut aus. Lassen Sie uns also weitermachen und den Linien einen Übergang hinzufügen. Wir müssen zunächst die Projekte auswählen, gefolgt von den wichtigsten PT in der Reihe Lassen Sie uns Transition mit Ihren Werten all und 0,5 s verwenden . In Ordnung, jetzt ist das Problem behoben und der Pfeil rotiert gleichmäßig Schließlich müssen wir uns um die Überschrift dieses Abschnitts kümmern . Es wird der Überschrift des vorherigen Abschnitts ähneln . Um zu vermeiden, dass immer wieder derselbe Code geschrieben wird, werde ich ihnen einen gemeinsamen Klassennamen zuweisen und denselben Code für beide Überschriften und auch für die Überschriften verwenden denselben Code für beide Überschriften und auch für , die wir in Zukunft erstellen werden Zuallererst werde ich die Kommentare aus der Überschrift entfernen . Dann weisen wir beiden Überschriften zu, Klasse, Abschnittsüberschrift Dann nehme ich den Code und füge ihn ein. Es ist in den üblichen Stilen. Ändere auch die Kommentare. Wir brauchen die Abschnittsüberschrift und den Klassennamen. In Ordnung, wir haben hier die Überschrift dieses Abschnitts. In Zukunft werden wir also die Klassennamen einfach zu Überschriften hinzufügen und sie werden automatisch positioniert und formatiert In Ordnung, das ist es. Schließlich haben wir die Arbeit am Projektabschnitt abgeschlossen. Lass uns weitermachen. 15. Abschnitt Services erstellen und entwerfen: Okay, sobald wir mit dem Projektabschnitt fertig sind ist es an der Zeit, weiterzumachen und mit der Arbeit am nächsten Abschnitt zu beginnen , nämlich diesen Diensten. Schauen wir uns das fertige Projekt an. Hier haben wir also ein paar verschiedene Dienste. Sie werden in einer großen Schrift angezeigt. Und wenn wir sie anklicken, erscheint Text mit einigen schönen Fade-Effekten. Außerdem werden die Dienste reibungslos auf die linke Seite verschoben. Das werden wir in diesem Abschnitt erstellen. Ich beginne mit dem HTML-Markup. Fügen wir neue Kommentare in die HTML-Datei für Abschnitt vier ein. Das Open-Section-Tag mit dem Klassenabschnitt für. Dieser Abschnitt wird aus zwei Hauptteilen bestehen. Wir werden eine Abschnittsüberschrift und dann die Dienste haben. Lassen Sie uns neue Kommentare für die Abschnittsüberschrift einfügen. Dann öffne ich das H1-Überschrift-Tag mit einer Überschrift für den Klassenabschnitt Und mit dem Inhalt. Was ich kann. In Ordnung, als Nächstes werden wir die Dienste haben. Lassen Sie uns wieder neue Kommentare, Dienste und Dienste erstellen . Öffnen Sie dann den Geschenkanhänger, die Verpackung der Dienste sein wird, die ich jedem Cluster-Services-Wrapper zuweisen werde zuweisen Insgesamt werden wir also sechs verschiedene Dienste haben. Öffnen wir das div-Tag, das der Dienst selbst sein wird. Jeder Dienst wird aus zwei verschiedenen Elementen bestehen. Das erste wird das Link-Tag mit einem Klassenservice sein , übrigens. Dann füge ich dein Span-Element ein. Es wird der Leiter des Dienstes sein. Lassen Sie uns Ihre UI UX einfügen. Was das zweite Element innerhalb des Dienstes angeht, so wird es der Text sein. Öffnen wir das P-Tag mit einem Klassendiensttext. Eigentlich bereite ich die Service-Tags für jeden Dienst vor, also kopiere ich das erste aus diesem Textdokument. Es wird an die Quelldatei angehängt , damit Sie es herunterladen und verwenden können. Wie gesagt, wir werden sechs verschiedene Dienste haben. Also werde ich diesen Code fünfmal duplizieren und dann den Inhalt ändern. Der zweite Service wird die Icon-Illustration sein. Dann werden wir Branding haben. Der nächste Schritt wird die Entwicklung sein. Außerdem werden wir Bewegung und dann Fotografie haben . In Ordnung, das war's also mit dem HTML-Markup. Im Moment ist der Inhalt nicht sichtbar, er ist hinter dem Hintergrund gelandet. Lassen Sie uns fortfahren und mit der Anpassung dieses Abschnitts beginnen. Ich werde neue Kommentare in den Abschnitt mit der CSS-Datei für das Ende von Abschnitt vier einfügen . Wählen Sie dann das Abschnittelement aus und definieren Sie seine Position. Ich werde es zu einem Verwandten machen. Und ich werde mich auch auf 200 Prozent festlegen. Wie Sie jetzt sehen können ist der Inhalt dieses Abschnitts möglich. Wir haben hier eine Überschrift , die bereits positioniert und formatiert ist. Und auch hier können Sie den Service sehen. In Ordnung, schauen wir uns dieses Abschnittselement an, oder? Jetzt. Lassen Sie uns weitermachen und den Wrapper der Dienste anpassen Fügen wir neue Kommentare, Dienste und Dienste ein. Ich setze die Breite des Wrappers auf 100%. Als Nächstes müssen wir diese Dienste mithilfe von Flexbox aufeinander abstimmen. Ich werde es dem Wrapper-Classcenter zuweisen. Es enthält einige Flexbox-Stile. Und außerdem werde ich die Spalte mit der Flex-Richtung des Wrappers erweitern Spalte mit der Flex-Richtung des Wrappers Es wird also davon ausgegangen, dass sich die Dienste in der Mitte dieses Abschnitts befinden. Ordnung, danach werde ich den Service selbst anpassen Wählen wir es also aus. Zunächst definiere ich die Breite. Setzen wir es auf 70%. Außerdem werde ich am oberen und unteren Rand der Elemente etwas Platz schaffen , sagen wir, Abstand zu, zu RAM und Null. Und dann erstelle unten einen Rand. Wir brauchen hier 0,5 Rem Feststoff. Und als Farbe verwende ich 90 E 0 Okay, als Nächstes definiere ich die Breite für den Serviceunterteil Wählen wir den Dienst btn aus und stellen seine Breite auf 200 vorhanden ein. Danach passen wir die Span-Elemente an. Zuallererst werde ich die Schriftfamilie ändern. In diesem Fall verwende ich ein Telefon namens Poppins, Erhöhen Sie dann die Schriftgröße und machen Sie zehn RAM daraus. Außerdem werde ich den Stil der Schrift ändern. Es wird Italica sein, dann brauchen wir die Schriftstärke, um fett zu sein Und schließlich ändere die Farbe. Lass es uns noch einmal verwenden. Ordnung, wie Sie sehen können, sind die Überschriften der Dienste angepasst Standardmäßig. Wir müssen sie auf der rechten Seite platzieren. Machen wir das mit Positionen. Ich setze die Position auf absolut. Dann müssen wir für das übergeordnete Element relativ positionieren , da wir Span-Elemente entsprechend den Eltern positionieren werden. Nun, wie Sie sehen können, ist das Layout irgendwie durcheinander. Um das zu beheben, müssen wir die Anzeigeeigenschaft für die Serviceteile in den Block setzen . Weil das Link-Element standardmäßig in einer Zeile ist. Und wir müssen auch die Höhe definieren. Machen wir eine 15-Rampe draus. Ordnung, jetzt wird davon ausgegangen, dass das Problem behoben ist und wir können diese Dienste auf die rechte Seite verschieben Lassen Sie uns also gleich auf Null setzen. Richtig? Das war's mit dem Link-Element. Lassen Sie uns weitermachen und den Text anpassen. Wählen wir die besteuerte Dienstleistung aus. Ich werde die Schriftgröße erhöhen. Machen wir fünf Rem draus. Ändere auch die Farbe. Mach 777 draus. Als Nächstes werde ich etwas Abstand zwischen den Buchstaben schaffen. Mach 0,1 Zimmer draus. Und zuletzt ändere die Höhe. 15 sind gelaufen. In Ordnung, das war's also. Alles ist angepasst und bereit, diesem Abschnitt einige Effekte hinzuzufügen. Daher werden wir standardmäßig den Text des Dienstes ausblenden. Dazu setzen wir die Höhe der Texte auf Null. Außerdem verwende ich Visibility Hidden und Opazität Zero Ordnung, der Text ist versteckt und jetzt müssen wir ihn anzeigen, sobald wir auf diese Serviceschaltfläche klicken Also werde ich eine neue Klasse und CSS mit neuen Stilen erstellen . Und dann fügen wir diesen Cluster hinzu, den Absatz onclick mithilfe von JavaScript Gehen wir zur Datei script.js und fügen neue Kommentare für Abschnitt vier ein. Zuallererst müssen wir also ein Link-Element auswählen. Dann sollten wir sie durchschauen und ein solches Ereignis anhören, um jeden von ihnen zu Also wähle ich Link-Elemente mit der Query Selector, All-Methode Wir müssen hier den Klassennamen service btn angeben, benötigen wir für jede Methode mit einer Callback-Funktion als Parameter, ich füge Ihren Und dann müssen wir dem Service einen Event-Listener mit einem Klick-Event und einer Callback-Funktion Ordnung, also zunächst werde ich die Standardaktion der Link-Elemente verhindern , wie wir es zuvor getan haben Ich meine, sobald wir auf den Link klicken, navigieren wir zur oberen Seite der Seite. Um dies zu vermeiden, benötigen wir die PreventDefault-Methode Lassen Sie uns hier zunächst das Event-Objekt übergeben und dann die Standardmethode prevent verwenden. Jetzt ist das Problem behoben. Als Nächstes müssen wir Zugriff auf den Absatz erhalten und ihn in der Variablen speichern. Lassen Sie uns eine neue Variable mit dem Namen Service Text erstellen. Wir brauchen hier, Service Dot. Nächstes Element Geschwister, weil Absatz ein Geschwister des Dienstes btn ist Jetzt müssen wir zu diesem Element eine Klassenänderung hinzufügen, die wir in der CSS-Datei definieren. In diesem Fall verwende ich die Toggle-Methode, weil wir die Klasse des Elements onClick hinzufügen und es dann entfernen müssen Beim nächsten Klick. Wir müssen als Textpunktklassenliste, Punkt-Umschalter dienen. Und wir müssen hier die Änderung des Klassennamens angeben. Jetzt müssen wir neue Styles in der CSS-Datei definieren. Wählen wir Service-Tags mit Klassenwechsel aus. Um den Text anzuzeigen, benötigen wir die folgenden Stile. Wir müssen die Höhe wieder auf 15 RAM setzen. Dann müssen wir Sichtbarkeit sichtbar machen. Und wir müssen auch die Opazität erhöhen . Machen wir es zu einem Wenn ich jetzt auf die Überschriften klicke, werden die richtigen Service-Tags angezeigt Im Moment haben wir das hier nicht und es sind sanfte Effekte. Also müssen wir Transition nutzen. Wir müssen die Übersetzung in beiden Fällen definieren, ich meine, standardmäßig und mit dem Klassenwechsel. Im ersten Fall müssen wir also alle 0,2 s mit den Werten wechseln . Im zweiten Fall müssen Sie Höhe und Opazität angeben Die Dauer wird also in beiden Fällen 0,5 s betragen. Bei der Opazität benötigen wir jedoch eine gewisse Verzögerungszeit. Sagen wir 0,5 s. Wie Sie sehen können, funktioniert alles einwandfrei. Das einzige, was wir tun müssen, ist, diese Serviceschaltfläche bei Click auf die linke Seite zu verschieben diese Serviceschaltfläche bei Click auf die linke Seite zu Dafür müssen wir JavaScript verwenden, da wir einige Berechnungen benötigen. Sie denken vielleicht, dass wir nur die Position dieses Panelelements ändern müssen , aber das reicht nicht aus. Wenn wir die Lag-Position mit einem Wert von Null verwenden, können wir Transition nicht verwenden. Wenn wir zum Beispiel die richtige Position ändern und sie zu 100% festlegen, dann werden Sie sehen, wo sich die Spanelemente positionieren werden. Um ihre Positionen anzupassen, müssen wir also die Breite dieses Spanelements auf 100% subtrahieren die Breite dieses Spanelements auf 100% Ich werde eine neue Variable erstellen. Nennen wir es richtige Position. Wie gesagt, wir müssen die richtige Position des Dienstes btn definieren Und wir müssen es nur ändern , wenn bei den Service-Tags die Klasse geändert wird. Also müssen wir hier eine Bedingungsanweisung einfügen , in der wir überprüfen müssen , ob dieser Service Desk Klassenwechsel beinhaltet oder nicht. Wir brauchen also Punkte für die Dienstleistungssteuer, Klassenliste, Punkte, die enthalten. Und wir müssen hier den Klassenwechsel angeben. Wenn das stimmt, müssen wir die Breite dieses Spanelements auf 100% subtrahieren die Breite dieses Spanelements auf 100% Also werde ich eine der Methoden namens Calc verwenden. Dann brauchen wir 100% Minus. Um also Zugriff auf die Breite von Span-Elementen zu erhalten, verwende ich eine der Methoden namens get computed style Diese Methode gibt ein Objekt mit den Werten aller CSS-Eigenschaften zurück , die das Element besitzt. In der Klammer müssen wir die Span-Elemente angeben, die das untergeordnete Element des Dienstes Also brauchen wir Service Dot First Element Child. Und jetzt müssen wir auf die Breite zugreifen. Das passiert also, wenn die Bedingung wahr ist, aber wenn sie falsch ist, müssen wir die richtige Position auf Null setzen. In Ordnung? Schließlich müssen wir den Spanelementen die richtige Position zuweisen . Wir brauchen Servicepunkt als erstes Element, Kind, Punkt im Punktstil, rechts. Und es sollte der richtigen Position entsprechen . Wenn ich nun auf diese Oberflächendiagramme klicke und sie auf die linke Seite verschoben werden, müssen wir diesen Moment eigentlich glatter gestalten. Verwenden wir also Transition. Wir brauchen die richtige Dauer, 0,5 s. Ordnung, also wie Sie sehen, funktioniert alles perfekt Und mit diesem Abschnitt sind wir fertig. Als nächstes müssen wir uns um den Inhaltsbereich kümmern. Also lass uns weitermachen. 16. Kontaktformular erstellen und anpassen: Okay, in der vorherigen Vorlesung haben wir die Arbeit am Projektabschnitt abgeschlossen, und jetzt ist es an der Zeit, weiterzumachen und uns um den nächsten Abschnitt zu kümmern , der eine Kontaktaufnahme mit mir sein wird Dieser Abschnitt besteht aus verschiedenen Teilen. Wir haben hier die Überschrift, gefolgt von ein paar Eingabefeldern mit einer Schaltfläche zum Senden. Und unten haben wir auch eine Diashow der Social-Media-Symbole In dieser Vorlesung werden wir uns um das Formular kümmern. Was diese Vorlesung angeht, werden wir sie später erstellen. Die Überschrift, die oben in den Eingabefeldern platziert wird, ist dynamisch. Ich meine, standardmäßig sehen wir hier den Text. Lass uns reden. Aber wenn ich die Eingabefelder fokussiere , ändert sich das dynamisch. In Ordnung, schauen wir uns an, was wir erstellen werden. Wie üblich beginne ich mit dem HTML-Markup. Fügen wir neue Kommentare in die HTML-Datei ein. Abschnitt fünf. Aus Abschnitt fünf. Öffnen Sie dann den Abschnittsnamen mit einer Klasse, Abschnitt fünf. Im ersten Teil dieses Abschnitts werden wir also eine Abschnittsüberschrift und die Eingabefelder haben. Fügen wir neue Kommentare für die Überschrift von Abschnitt 5 ein. Öffnen Sie dann das H1-Überschrift-Tag mit der Überschrift des Klassenabschnitts. Und mit dem Inhalt. Kontaktiere mich. Als Nächstes erstelle ich ein Formularelement, aber vorher benötigen wir einen Formular-Wrapper Fügen wir eine neue Formularform für Kommentare und öffnen dann ein Div-Tag mit einer Klasse für Rubber. Dieses Element wird also die Überschrift und das Formular selbst enthalten . Öffnen wir das H2-Überschrift-Tag mit einer Klasse von Formularüberschriften. Und mit dem Inhalt. Lass uns reden. Richtig. Nach den Schulden werde ich selbst ein Formularelement erstellen, das jeder Klasse zugewiesen ist. Kontaktformular. Insgesamt haben wir also drei verschiedene Eingabefelder, Text, Bereich und eine Schaltfläche zum Senden. Öffnen wir das Eingabe-Tag. Der Typ wird besteuert. Außerdem benötigen wir hier ein Klassenattribut, Kontakt, Formulareingaben. Und dann brauchen wir einen Platzhalter. Mit dem Content Knee. Lassen Sie uns diese Codezeile zweimal duplizieren. Das zweite Eingabefeld wird für E-Mail sein. Also werde ich den Typ und auch das Platzhalterattribut ändern und auch das Platzhalterattribut Das nächste Eingabefeld wird Text enthalten. Was das Platzhalterattribut angeht, füge ich Ihren Betreff In Ordnung, danach erstelle ich einen Textbereich. Es wird zwei verschiedene Klassen geben. Einer für die gängigen Stile, ich meine Kontaktformulareingabe. Was den zweiten betrifft, so wird es für einzelne Stile sein. Lassen Sie uns den Textbereich Ihres Kontaktformulars einfügen. Außerdem benötigen wir ein Platzhalterattribut mit der Inhaltsnachricht Lassen Sie uns abschließend eine Schaltfläche zum Senden erstellen. Ich werde es mit Eingabeelementen erstellen. Der Typ wird eingereicht. Außerdem benötigen wir ein Klassenattribut mit dem Wertformular submit btn. Und dann brauchen wir das Attribut value mit den Inhalten, die Anfragen senden. In Ordnung? Das HTML-Markup ist also fertig, aber im Moment ist es nicht sichtbar Es befindet sich hinter dem Hintergrund. Also müssen wir anfangen, etwas CSS zu schreiben. Schreiben wir neue Kommentare in die CSS-Datei, Abschnitt fünf. Aus Abschnitt fünf. Wählen Sie dann die Elemente dieses Abschnitts aus. Zuallererst werde ich die Position ändern. Machen wir es zu einem Verwandten. Und dann definiere ich die Höhe. Machen wir es zu 100% aus dem Viewport. Wie Sie jetzt sehen können, ist der Inhalt sichtbar. Ich werde es in der Mitte dieses Abschnitts platzieren. Und dafür verwenden wir Flexbox. Ich werde dem Abschnitt Element Class Center zuweisen. Es wird also davon ausgegangen, dass der Inhalt in den Mittelpunkt dieser Aktion gestellt wird , und jetzt können wir die Elemente anpassen. Lassen Sie uns mit der Formularüberschrift beginnen. Ich füge neue Kommentare für das Formular ein. Wählen Sie dann die Formularüberschrift aus. Und lassen Sie uns zunächst die Schriftfamilie definieren. Ich werde hier Poppins San-Serif verwenden, um die Schriftgröße zu erhöhen, sechs RAM draus zu machen. Außerdem werde ich die Schrift etwas fetter machen. Lassen Sie uns die Schrift auf 400 setzen und dann die Farbe ändern. Ich verwende die U-Farbe 90, E 0 E. Als Nächstes werde ich etwas Abstand zwischen den Buchstaben schaffen. Und wir brauchen auch etwas Platz am Ende einer Überschrift. Verwenden wir also den seitlichen Abstand mit einem Wert von etwa 0,3. Und dann brauchen wir Margin Bottom mit Wert drei. Rampe. In Ordnung, schauen wir uns die Überschrift an. Lassen Sie uns weitermachen und uns um die Eingabefelder kümmern. Ich werde sie mit Flexbox ausrichten. Lassen Sie uns also weitermachen und dem Formularelement Klassenzentrum zuweisen . Außerdem müssen wir die Biegerichtung ändern um die Eingabefelder vertikal in einer Spalte zu platzieren . Wählen wir also „Kontaktformular“ und legen die Flexrichtung auf Spalte fest. Ordnung, wie Sie sehen können, sind die Eingabefelder ausgerichtet und jetzt müssen wir sie starten. Beginnen wir mit den Eingaben des Kontaktformulars. Zunächst definiere ich die Breite. Machen wir 60 RAM draus. Dann werde ich mithilfe von Padding etwas Platz innerhalb der Eingabe schaffen mithilfe von Padding etwas Platz innerhalb der Eingabe Wir erhalten den Wert 0,5 RAM. Lassen Sie uns außerdem etwas Platz am oberen und unteren Rand der Eingabefelder schaffen etwas Platz am oberen und unteren Rand der , indem wir Margin mit den Werten eins, RAM und Null verwenden . Okay, als Nächstes ändere ich die Hintergrundfarbe und auch den Rand Ich setze die Hintergrundfarbe auf Weiß. Aber bei einer niedrigeren Opazität verwende ich den RGBA-Wert mit weißer Farbe und mit der Opazität Und ändere auch die Grenze. Ordnen wir dem Punkt 1 g Feststoff zu, und wir färben 90 E 0 E. Gut, danach kümmere ich mich um die Schrift Erhöhen wir die Schriftgröße auf 1,7 Rem. Außerdem werde ich die Schrift fett machen. Dann ändere die Farbe. Sie verwenden Ihre Farbe AAA und schaffen auch etwas Abstand zwischen den Buchstaben. Machen wir 0,1 Rem daraus. In Ordnung, die Eingabefelder sehen also viel besser aus. Als Nächstes kümmere ich mich um die Höhe der Eingabefelder und auch um den Textbereich. Sie werden unterschiedliche Höhen haben. Lassen Sie uns die Höhe der Kontaktformulareingaben auf fünf RAM festlegen . Wählen Sie dann den Textbereich aus und stellen Sie den Wert auf 20 Runs ein. Ordnung, wie Sie sehen können, sehen die Eingabefelder und auch der Textbereich gut aus Bevor wir weitermachen und den Senden-Button anpassen, werde ich hier ein kleines Problem beheben. Im Falle des Textbereichs können wir seine Breite und Höhe manuell von der unteren rechten Ecke aus ändern , wo wir den Größenänderungscontroller haben Sobald wir die Größe des Textbereichs ändern, wird das Layout unterbrochen. Also werde ich diese Funktion deaktivieren. Dafür müssen wir eine der CSS-Eigenschaften namens resize verwenden der CSS-Eigenschaften namens resize Und wir müssen es auf Null setzen. Ordnung, wie Sie sehen können, können wir die Größe des Textbereichs nicht mehr ändern Das letzte Element , das wir benötigen, um diesen Senden-Button anzupassen, wählen wir aus. Zunächst definiere ich Breite und Höhe. Stellen wir die Breite auf 20 RAM ein. Was die Höhe angeht, werde ich fünf RAM draus machen. Dann ändere die Hintergrundfarbe. Ich werde hier dieselbe rote Farbe verwenden. Und dann werde die Standardgrenze los. Machen wir keinen draus. Okay, als Nächstes platziere ich es auf der linken Seite. Dafür verwende ich eine Eigenschaft namens align self. Wir könnten Flex schätzen, starten. Erhöhen Sie auch die Schriftgröße und ändern Sie die Farbe des Textes. In Ordnung, das ist es. Alle Elemente sind gestylt und jetzt ist es an der Zeit, das Formular dynamischer zu gestalten Sobald wir uns auf die verschiedenen Eingabefelder konzentriert haben, müssen wir die richtige Überschrift anzeigen. Dafür. Ich werde JavaScript verwenden. Gehen wir zur Datei script.js und fügen neue Kommentare für Abschnitt fünf ein. Zunächst wähle ich die Formularüberschrift und auch alle Eingabefelder, einschließlich des Textbereichs. Lassen Sie uns Ihr neues Kommentarformular einfügen. Dann wähle ich aus der Überschrift aus. Lassen Sie uns also eine neue Variable erstellen Rufen Sie sie von der Überschrift aus auf und wählen Sie diese Elemente dann mit der Abfrageauswahlmethode Dann müssen wir die Eingänge auswählen. Also werde ich diese Codezeile duplizieren und dann den Namen ändern. Wir benötigen Formulareingaben. Außerdem brauchen wir hier Query, Selector, alle Methoden. Und dann geben wir hier den Klassennamen und die Eingabe des Kontaktformulars an. In Ordnung. Danach müssen wir die Eingabefelder durchgehen und das Ereignis namens focus verwenden. Also werde ich für jede Methode mit Formulareingaben verwenden. Lassen Sie uns eine Callback-Funktion mit der Parametereingabe übergeben. Wir müssen also den Event-Listener mit dem Ereignis Focus an die Eingaben anhängen Event-Listener mit dem Ereignis Focus an die Eingaben anhängen Sobald wir also die Eingabefelder fokussiert haben, müssen wir den Textinhalt der Überschrift ändern. Also brauchen wir hier Formularüberschrift, Punkt, Textinhalt. Dann öffne ich Backticks. Der Text beginnt mit deinem. Und dann benötigen wir den Wert des Platzhalter-Attributs. Also werde ich hier Eingaben, Punkte, Ort, Halter weitergeben. Es gibt uns den Wert des Platzhalter-Attributs. Wenn ich mich also auf eine der Eingaben konzentriere, ändert sich der Standardinhalt der Überschrift. Alles funktioniert gut, aber wir müssen den Inhalt der Überschrift mit einem Fade-Effekt ändern . Sobald wir die Eingaben fokussiert haben, müssen wir die Überschrift ausblenden und nach einer gewissen Zeit wieder einblenden, was der Dauer des Übergangseffekts entsprechen sollte . Zuallererst müssen wir die Überschrift Institutionelles Formular Überschrift Punktstil, Punktopazität gleich Null ausblenden die Überschrift Institutionelles Formular Überschrift Punktstil, Punktopazität gleich Null Dann müssen wir eine setTimeout-Methode verwenden. Platzieren wir diese Codezeile in der Funktion. Und fügen Sie hier aus der Überschrift den Punktstil hinzu, wobei Punktopazität gleich eins ist Die Dauer des Übergangs wird 0,3 s betragen. Ich werde hier also 300 Millisekunden verstreichen Und dann müssen wir Transition in der CSS-Datei mit den Werten Opazität 0,3 s verwenden der CSS-Datei mit den Werten . Gut, wenn man bedenkt, dass wir jetzt einen schönen Fade-Effekt haben Das einzige, was wir tun müssen, ist, den Standardinhalt der Überschrift wieder hierher zu bringen , sobald wir das Eingabefeld nicht mehr fokussiert Um das zu erreichen, verwende ich ein anderes Ereignis namens Bluer, das auftritt, sobald wir die Eingabefelder unfokussiert Lassen Sie uns weitermachen und diesen Code duplizieren. Dann ändere das Ereignis, das wir hier brauchen, blauer. Und wir müssen auch den Inhalt der Überschrift ändern. Es wird der Standardinhalt sein. Lass uns reden. Wenn ich also irgendwo außer den Eingabefeldern klicke, ändert sich die Konstante und die Standardkonstante wird angezeigt. Ordnung, das war's also mit dem ersten Teil des Inhaltsabschnitts Als Nächstes erstellen wir eine Diashow mit den Social-Media-Symbolen Gehen wir also zur nächsten Vorlesung über. 17. Diashow von Social-Media-Links erstellen: Okay, also im letzten Video haben wir Kunden den ersten Teil des Kontaktbereichs erstellt des Kontaktbereichs Jetzt muss ich mich um diese Diashow der Social Media-Icons kümmern diese Diashow der Social Media-Icons Wie Sie sehen können, befinden sie sich unter den Eingabefeldern. Ich meine, unten auf der Seite bewegen sich die Symbole in einigen Intervallen. Das Symbol in der Mitte wird heller. Die übrigen Symbole sind standardmäßig dunkler. Ordnung, lassen Sie uns weitermachen und mit der Erstellung des HTML-Markups beginnen Lassen Sie uns neue Kommentare für die Diashow einfügen. Öffnen Sie dann das div-Tag, das der Wrapper dieser Diashow sein wird Insgesamt werden wir also fünf verschiedene Social-Media-Symbole haben . Sie werden durch die Bilder dargestellt, und sie werden auch von den Link-Elementen umhüllt. Also öffne ich das Link-Tag mit dem Link zur Diashow der Klasse Und dann werde ich hier erläutern, in welchen Elementen. Geben wir das Quellattribut an. Wir benötigen Ordner, Bilder, soziale Symbole und dann die Image-Diashow, MG F1, PNG Insgesamt werden wir also fünf Icons haben. Lassen Sie uns das Link-Element viermal duplizieren und dann schnell die Namen der Bilder ändern. Okay, hier haben wir die Icons. Im Moment sind sie zu groß und das Layout ist durcheinander. Also kümmern wir uns darum. Ich werde die Symbole horizontal in einer Reihe platzieren. Verwenden wir also Flexbox. Soweit ich Ihre Kommentare für die Diashow einfügen werde Ihre Kommentare für die Diashow Wählen Sie dann die ihm zugewiesenen Wrapper-Div-Elemente aus. Flex anzeigen. Außerdem werde ich seine Breite definieren. Als Nächstes müssen wir ein Linkelement auswählen und die Breite ändern. Ich setze die Breite auf 20%. Und schließlich müssen wir die Breite des Bildes selbst definieren . Wählen wir also ein Bild aus. Stellen Sie die Breite auf 100% ein. In diesem Fall nimmt das Bild 100% der Breite seines übergeordneten Elements ein. Wie Sie sehen können, haben wir hier also viel bessere Ergebnisse. Im Moment werden die Eingabefelder und die Symbole nebeneinander platziert , um sie übereinander zu platzieren Lassen Sie uns also weitermachen und die Biegerichtung des Schnittelements ändern . Wir müssen daraus eine Kolumne machen. Okay, jetzt brauchen wir etwas Platz zwischen den Eingaben und den Symbolen Verwenden wir Margin Top, den Wert zehn RAM, und schaffen wir zusätzlich etwas Platz auf der linken und rechten Seite, indem wir Padding verwenden Setzen wir es auf Null und starten es. Abschließend werde ich den Symbolen auf der linken und rechten Seite ein Padding zuweisen auf der linken und rechten Seite ein Padding Dadurch werden die Bilder verkleinert. Lassen Sie uns also Padding auf 0.1 run setzen. In Ordnung, schauen wir uns das CSS an. Vorerst. Wir müssen dafür sorgen, dass die Diashow mit JavaScript funktioniert. Gehen wir also zur Datei script.js. Zunächst füge ich Ihre neuen Kommentare für die Diashow Dann müssen wir die Wrapper-Entwicklung auswählen. Lassen Sie uns eine neue Variable erstellen. Ich nenne es Slideshow und wähle es mit der Methode querySelector Ordnung, lassen Sie mich Ihnen sagen, wie wir diese Diashow zum Laufen bringen Wir werden das erste Symbol aus der Liste entfernen und es als letztes Symbol wieder zur Liste hinzufügen. Wir werden das mit einigen Intervallen und auch mit einigen sanften Übergängen Lassen Sie uns alles über den Ablauf dieser Diashow erzählen. Wie gesagt, wir brauchen einige Intervalle und dafür verwende ich eine der eingebauten Methoden namens set interval. Es braucht zwei Argumente. Die erste ist eine Callback-Funktion, die nach jedem Intervall ausgeführt wird Was das zweite Argument betrifft, so wird es der Betrag des Integrals selbst sein. Wir werden die Bilder nach 3 s ändern. Ich werde also 3.000 Millisekunden überschreiten Okay, wie gesagt, wir müssen das erste Symbol entfernen und es dann als letztes zur Liste hinzufügen. Wählen wir also zunächst das erste Symbol aus. Ich werde eine neue Variable erstellen. Nennen wir es erstes Symbol. Dann benötigen wir den Slideshow-Punkt, das erste Element, ein Kind , um Zugriff auf das erste Symbol zu erhalten Jetzt ist das erste Symbol ausgewählt und um es aus der Wrapper-Entwicklung zu entfernen, verwende ich eine der Dome-Methoden namens removed child Also brauchen wir Diashow-Punkte, entferne das Kind. Und wir müssen das für eine Sekunde spezifizieren. Wie Sie sehen können, werden die Symbole alle 3 s entfernt. Wie gesagt, wir müssen sie wieder zur Liste hinzufügen. Und dafür verwende ich eine weitere Dome-Methode namens Append Child Standardmäßig fügt es ein Element als letztes Kind hinzu. Also brauchen wir Slideshow Dot Append Child. Und wir müssen hier noch einmal für seine Ikone angeben. Okay, wie Sie sehen können, funktioniert die Diashow, alles, aber wir müssen ein paar verschiedene Effekte hinzufügen Als erstes werde ich das erste Symbol sanft mit einem Fade-Effekt entfernen . Um das zu tun, erstelle ich eine neue Klasse und CSS, nennen wir es ausgeblendet Diese Klasse wird also zwei Zellen enthalten. Um die Elemente auszublenden, müssen wir sowohl die Opazität als auch die Breite auf Null setzen. Und außerdem müssen wir Transition für das erste Symbol verwenden . Um das erste Symbol auszuwählen, verwende ich die Kinderauswahl Dann lassen Sie uns den Übergang einleiten. Wir benötigen Breite, die Dauer 0,5 s und dann Opazität mit der gleichen Dauer Okay, das war's mit dem CSS. Gehen wir zurück zur JavaScript-Datei. Jetzt müssen wir Klasse hinzufügen, ausgeblendet. Das erste Symbol. Wir brauchen das erste Symbol, den Punkt, Klassenliste, den Punkt hinzufügen. Und wir müssen hier angeben, dass der Klassenname ausgeblendet ist. Jetzt wird das Symbol entfernt, aber ohne Fade-Effekt, da Übergangseffekt irgendwann auftritt, eigentlich in der halben Sekunde. Wir müssen also die Hälfte dieser Sekunde warten , bevor wir das Element aus der Liste entfernen. Um das zu tun, verwende ich eine der Metriken namens setTimeout Wir werden zwei Argumente haben. Die erste wird eine Callback-Funktion sein. Fügen wir hier diese beiden Zeilen ein. Was die Zeit angeht , werde ich 500 Millisekunden verwenden Jetzt wird das Symbol mit einem schönen Fade-Effekt entfernt. Jetzt müssen wir es wieder mit Fade-Effekt zur Liste hinzufügen . Um das zu tun, müssen wir die ausgeblendete Klasse aus den Elementen entfernen Also müssen wir zuerst das Symbol Punkt Klasse auflisten, Punkt entfernen, ausgeblendet Jetzt wird das Symbol zur Liste hinzugefügt, jedoch ohne Fade-Effekt. Denn auch hier müssen wir auf die halbe Sekunde warten. Also müssen wir die setTimeout-Funktion mit der gleichen Zeit, 500 Millisekunden, erneut verwenden der gleichen Zeit, 500 Millisekunden, Jetzt haben wir hier also immer noch keinen Fade-Effekt , weil wir den Übergang für das letzte Symbol definieren müssen . Eigentlich brauchen wir den gleichen Übergang , den wir für das erste Symbol verwendet haben. Also füge ich hier nur den Selektor für das fünfte Symbol Moment funktioniert alles gut und wir können weitermachen und uns um den zweiten Effekt kümmern. Ich meine, wir müssen die Symbole standardmäßig dunkler machen, und wir müssen sie heller machen, sobald sie den dritten Platz in der Liste einnehmen. Lassen Sie uns zunächst alle Symbole dunkler machen. Dafür verwende ich eine der Eigenschaften namens Filter mit einer Funktion namens Helligkeit. Danach erstelle ich eine neue Klasse und CSS, die die höhere Helligkeit beinhalten werden. Und wir werden diese Klasse als Elemente hinzufügen, die JavaScript verwenden. Nennen wir diese Klasse Licht und weisen ihr eine Filterhelligkeit mit dem Wert 1,5 zu. Jetzt müssen wir das dritte Symbol auswählen und ein neu erstelltes Klassenlicht hinzufügen. Erstellen wir eine neue Variable, nennen wir sie drittes Symbol. Um Zugriff auf das dritte Symbol zu erhalten, benötigen wir Slideshow-Kinder Und wir mussten hier die Zahl drei angeben. Jetzt haben wir das dritte Symbol ausgewählt und müssen seiner Klasse Licht hinzufügen. Wir brauchen also ein drittes Symbol, einen Punkt, eine Klassenliste. Punkte, Licht. Wie Sie jetzt sehen können, wird das Symbol heller, aber die Helligkeit bleibt erhalten. brauchen wir nicht. Wir müssen das Klassenlicht wieder entfernen. Wir müssen es also aus dem vorherigen Geschwistersymbol des dritten Symbols entfernen , denn sobald es sich bewegt, ist es nicht mehr das dritte Symbol in der Liste, sondern das zweite Also brauchen wir den dritten Symbolpunkt, vorherige Elemente, Geschwister, Punkt, Klassenliste, Punkt, entferne das Licht für den Klassennamen Also jetzt funktioniert alles gut. Wir müssen diesem Effekt nur einen Übergang hinzufügen. Lassen Sie uns also weitermachen und das dritte Symbol auswählen, indem wir den dem Übergang zugewiesenen untergeordneten Selektor mit dem Wertefilter 0,5 s verwenden. Jetzt haben wir also viel bessere Ergebnisse Das Symbol wird langsam dunkler. Aber wie Sie sehen können, brauchen wir einen Übergang sobald das Symbol ebenfalls heller wird. Also fügen wir hier Übergangsfilter und die Dauer 1,5 s hinzu. Okay, jetzt war alles in Ordnung. Und bevor wir diese Vorlesung beenden, werde ich noch eine Sache machen. Wenn ich die Seite neu lade, werden alle fünf Icons dunkler. Eigentlich brauchen wir das nicht. Wir müssen das Food Icon standardmäßig heller machen. Und um das zu tun, füge ich dem dritten Symbol in der HTML-Datei eine Klasse hinzu, die gelogen wurde. Okay, das ist alles. Endlich sind wir fertig. Wir haben die Arbeit am Kontaktbereich abgeschlossen. Lass uns weitermachen. 18. Navigation erstellen und anpassen: Okay, sobald wir mit dem Kontaktbereich fertig sind, werde ich die Navigation erstellen und anpassen. Schauen wir uns das fertige Projekt an. Wie Sie sehen können, haben wir hier ein paar verschiedene Navigationspunkte. Sobald wir auf der Seite nach unten scrollen , verwandelt sich das Navigationsmenü in ein Symbol, das aus zwei Zeilen besteht. Wenn wir erneut darauf klicken, werden die Menüelemente angezeigt. Wenn ich danach scrolle, werden die Elemente ausgeblendet und das Menüsymbol wird angezeigt. Wenn ich bis zum Anfang der Seite scrolle, die Menüelemente automatisch angezeigt. Wenn ich auf die Menüpunkte klicke, navigieren wir außerdem problemlos zu den richtigen Abschnitten. In Ordnung, genau das werden wir in dieser Vorlesung tun. Lassen Sie uns anfangen, ein HTML-Markup zu erstellen. Ich füge direkt nach dem Seitenhintergrund neue Kommentare ein. Dann füge ich hier wieder neue Kommentare für das Menüsymbol ein. Öffnen Sie dann das Div-Tag mit dem Klassenmenüsymbol. Wie Sie gesehen haben, wird das Menüsymbol aus zwei Zeilen bestehen. Also öffne ich das Div-Tag mit der Klassenmenü-Symbolzeile. Dann lass es uns duplizieren. Als Nächstes erstelle ich Navigationselemente. Lass uns deine neuen Kommentare einfügen, Navbar und los geht's. Öffnen Sie dann das HTML5-Navigationselement mit einer Klassen-Navigleiste. Insgesamt werden wir also fünf verschiedene Navigationspunkte haben. Öffnen wir das Link-Tag mit einem Nickerchen in der Klasse oder verlinken wir auf die Startseite des Inhalts. Dann werde ich die Linkelemente viermal duplizieren und den Inhalt ändern. Im zweiten Artikel geht es um mich. Dann werden wir Projekte, Dienstleistungen und Kontakte haben. In Ordnung, das war's also mit dem HTML-Markup. Alles ist vorbereitet, aber im Moment ist nichts sichtbar. Das werden wir bald beheben. Fangen wir an, CSS zu schreiben. Zunächst werde ich die Navigationselemente anzeigen und anpassen. Lassen Sie uns neue Kommentare, Navigation und Navigation einfügen . Dann brauchen wir wieder Kommentare für Navbar. Wählen wir Navigationselemente aus. Definieren Sie zunächst, dass die Position festgelegt werden soll. Und ich werde auch Top-Immobilien definieren. Machen wir 2,5 Rem daraus. Jetzt sind die jetzt vier sichtbar. Ich meine, wenn ich alle Elemente auswähle, werden Sie die Navigationselemente in der oberen linken Ecke der Seite sehen . Dafür müssen wir sie auf der richtigen Seite platzieren. Ich werde Flexbox verwenden. Definieren wir zunächst diese Breite. Ich setze es auf 100%. Dann benutze Flexbox. Wir brauchen Display Flex. Und um die Artikel auf der rechten Seite zu platzieren, begründen wir Inhalte mit Value Flex End. Wie Sie sehen können, befindet sich die Navigationsleiste auf der rechten Seite der Seite Okay, lassen Sie uns mit Polsterung etwas Platz auf der rechten Seite schaffen mit Polsterung etwas Platz auf der rechten Seite Ich werde die Polsterung nach rechts stellen, Rampe 23. Schauen wir uns jetzt oben rechts an, als Nächstes werde ich die Links anpassen. Wählen wir nun pro Link aus. Zunächst definiere ich die Schriftgröße. Lass es uns 1,5 laufen lassen. Dann mache ich das Telefon mutiger. Lassen Sie uns die Schriftstärke auf 700 setzen. Verwandeln Sie auch Text in Großbuchstaben und ändern Sie die Farbe, machen Sie ihn weiß Als Nächstes werde ich mithilfe von Margin etwas Abstand zwischen den Elementen schaffen . Setzen wir es oben und unten auf Null und links und rechts auf 2,5 rem. Ordnung, wie Sie sehen können, sind die Menüelemente angepasst Wenn ich auf der Seite nach unten scrolle, werden Sie feststellen, dass die Elemente hinter den Elementen landen. Ich werde das mit der Z-Index-Eigenschaft beheben. Setzen wir es auf 100. Und außerdem werde ich den Objekten einen kleinen Schatteneffekt hinzufügen. Verwenden wir Textschatten mit den Werten 0,3 RAM, 0,5 RAM und der schwarzen Farbe. In Ordnung, das ist es. Unsererseits sind wir fertig. Jetzt werde ich das Menüsymbol gestalten. Zuerst. Lassen Sie uns weitermachen und die Zahl mit Opazität Null und sichtbarer Sichtbarkeit ausblenden Opazität Null und sichtbarer Sichtbarkeit ausblenden Fügen Sie dann neue Kommentare für das Menüsymbol ein und wählen Sie es aus. Zuerst werde ich die Position des Menüsymbols festlegen . Dann definieren wir diese Breite und Höhe. Ich werde mit 212 RAM beginnen. Was die Höhe angeht, machen wir sieben RAM daraus. Und außerdem werde ich eine temporäre Hintergrundfarbe verwenden . Stellen wir es auf Rot. Also hier haben wir das Menüsymbol. Im Moment befindet es sich in der oberen linken Ecke der Seite, sodass wir seine Position ändern müssen. Setzen wir die obere Position auf Null und die rechte Position auf die sechste Rampe. In Ordnung, jetzt ist es an der Zeit , die Linien anzuzeigen. Lassen Sie uns also weitermachen und das Menüsymbol, Linie, die definierte Breite und Höhe auswählen. Ich setze die Breite auf vier RAM. Was den Hybrid angeht, wird es 0,1 RAM sein. Und ändere auch die Hintergrundfarbe, mache sie weiß. Hier haben wir also die Linien, aber wie Sie sehen können, brauchen wir etwas Abstand zwischen ihnen. Lassen Sie uns Raum schaffen, indem wir den Rand 0,5 rem und Null verwenden. Und lassen Sie uns den Linien auch einen kleinen Schatteneffekt hinzufügen. Die Verwendung von Box-Shadow ergibt die Werte 0,31, 0,5 RAM und die schwarze Farbe Ordnung, danach platziere ich das Symbol in der Mitte der Box Dafür können wir einfach ein Klassenzentrum nutzen. Außerdem müssen wir die Biegerichtung ändern. Stellen wir es so ein, dass es sie anruft. Ordnung, das Menüsymbol ist also angepasst und wir können den roten Hintergrund entfernen Das Symbol ist fertig und jetzt müssen wir die Navigation zum Laufen bringen. Standardmäßig blende ich das Menüsymbol aus und zeige die Navigationselemente wieder an. Wir brauchen also Opazität Null, Sichtbarkeit versteckt. Und außerdem müssen wir diese beiden Leitungen von hier aus loswerden. Sobald wir auf der Seite nach unten scrollen, müssen wir die Menüelemente ausblenden und das Menüsymbol anzeigen. Also müssen wir das Scroll-Event verwenden. Gehen wir zur JavaScript-Datei und wählen Sie zunächst das Menüsymbol aus. Und dann Albert, lassen Sie uns zuerst Kommentare, Navigation, Navigation einrichten. Dann wähle ich das Menüsymbol aus. Lassen Sie uns eine neue Variable erstellen und sie als Menüsymbol bezeichnen, und wählen Sie dann die Elemente mit der Methode querySelector Dann werde ich diese Codezeile duplizieren und den Namen der Variablen ändern. Wir brauchen Navbar. Und ich werde auch den Klassennamen ändern. Wir brauchen jetzt nochmal für okay, danach müssen wir den Dokumenten mit Scroll-Event einen Event-Listener anhängen Dokumenten mit Scroll-Event Wie gesagt, wir müssen es schaffen, das Menüsymbol beim Scrollen auszublenden und anzuzeigen. Ich werde neue Klassen und eine neue CSS-Datei mit neuen Stilen erstellen . Und dann fügen wir sie mithilfe von JavaScript zu den Elementen hinzu. Also lass uns eine neue Klasse erstellen, ich nenne sie Menüsymbol anzeigen. Um das Menüsymbol anzuzeigen, benötigen wir Opazität eins und Sichtbarkeit sichtbar bei der Zahl, wir müssen es ausblenden Also werde ich eine neue Klasse erstellen. Nennen wir es „Jetzt ausblenden“ -Bar. In diesem Fall benötigen wir Opazität Null und versteckte Sichtbarkeit. Okay, die Klassen sind fertig und jetzt müssen wir sie zum Menüsymbol hinzufügen Und dann unser oberes Menü, ich kann Klassenliste und Punkt hinzufügen. Und wir müssen hier den Klassennamen angeben und das Menüsymbol anzeigen. Und als nächstes benötigen wir im Fall eines Flughafens jetzt Portpunkt, Klassenliste, Punkt , fügen Sie den Klassennamen und die Höhe der Navigationsleiste Wenn ich also auf der Seite nach unten scrolle, werden die Navigationselemente ausgeblendet und das Menüsymbol wird angezeigt. Wir müssen diesen Wandel mithilfe eines Übergangs reibungsloser gestalten. Fügen wir dem Menüsymbol einen Übergang mit den Werten Opazität und 0,2 s hinzu. Was die Navigationsleiste betrifft, werde ich wieder Übergangsopacity 0,5 s und auch Sichtbarkeit 0,5 s verwenden s und auch Sichtbarkeit 0,5 s Wenn wir jetzt nach unten scrollen, werden die Elemente ausgeblendet und mit einigen Fade-Effekten angezeigt. Außerdem werde ich dem Napa einen weiteren Effekt hinzufügen Napa einen weiteren Effekt hinzufügen Ich möchte es auf die rechte Seite verschieben, sobald es versteckt ist. Lassen Sie uns also Ihre Transformation einfügen und X mit dem Wert zehn RAM übersetzen. Und füge dem Übergang auch eine Transformationseigenschaft mit derselben Dauer 0,5 s hinzu. Ich denke, wir haben jetzt einen viel besseren Effekt. Als Nächstes werden wir die Navigationselemente wieder anzeigen. Sobald wir zur Seite hochscrollen. Dazu müssen wir If-Anweisungen verwenden , in denen wir überprüfen müssen, ob die Seite gecrawlt wurde oder nicht Wir brauchen also Window Dot Scroll. Warum? Tatsächlich gibt diese Eigenschaft die Anzahl in Pixeln zurück, um die die Seite gerade vertikal scrollt. Wenn also die Eigenschaft scroll why gleich Null ist, bedeutet das, dass die Seite bis zum oberen Rand aufgerufen wird . Und wir müssen die Menüelemente anzeigen und das Menüsymbol ausblenden. Wir brauchen also einen Menüsymbol, einen Punkt, eine Klassenliste, nicht das Klassensymbol entfernen. Und im Fall von jetzt, was wir jetzt für die Punktklassenliste, Punktentfernung, Höhe, Zahl benötigen . In Ordnung? Wenn ich nach oben scrolle, werden authentische Menüelemente angezeigt, das Menüsymbol wird ausgeblendet. Okay, wir sind also fast fertig mit der Navigation. Das einzige , was wir tun müssen, ist die Navigationselemente anzuzeigen. Sobald wir also auf das Menüsymbol klicken, müssen wir die Menüelemente zu richtigen Abschnitten verbinden . Lassen Sie uns weitermachen und mit einem Klick auf ein Event einen Event-Listener an das Menüsymbol anhängen mit einem Klick auf ein Event einen Event-Listener an das Menüsymbol Und dann müssen wir hier diese beiden Linien passieren. Wenn ich also auf das Menüsymbol klicke, passiert nichts, da sich das Menüsymbol gerade hinter dem Mundkreis befindet. Wir müssen also eine Z-Index-Eigenschaft verwenden. Machen wir 100 draus. Und außerdem werde ich den Cursor ändern . Lass es uns klarstellen. In Ordnung, wie Sie sehen können, funktioniert alles einwandfrei. Als letztes müssen wir die Menüelemente mit den Abschnitten verbinden , damit wir ordnungsgemäß zu dem Abschnitt navigieren können. Sobald wir auf die Elemente klicken. Dazu müssen wir die Attribute h reference und id verwenden . Wir müssen die h-Referenzattribute der Links so angeben die h-Referenzattribute der Links so , dass sie mit den Werten der Attribute der Abschnitte übereinstimmen . Lassen Sie uns weitermachen und die h-Referenzattribute spezifizieren. Ich werde Ihre Abschnitte mit den Zahlen weitergeben. Danach müssen wir jedem Abschnittselement das ID-Attribut mit den ähnlichen Werten zuweisen jedem Abschnittselement das ID-Attribut . Wir benötigen Abschnittsnummern von eins bis fünf. Wenn ich also auf die Menüpunkte klicke, passiert nichts. Möglicherweise stimmt etwas mit CSS nicht. Lass uns weitermachen und nachschauen. Wie Sie sehen können, habe ich dem Link in der Navigationsleiste die Z-Index-Eigenschaft zugewiesen und nicht der Nummer selbst. Lassen Sie uns also weitermachen und dieses Problem beheben. Wie Sie jetzt sehen können, funktioniert alles perfekt. Und schließlich sind wir mit der Navigation fertig. Als Nächstes erstellen wir den Fortschrittsbalken. Fahren wir also mit der nächsten Vorlesung fort. 19. Designfortschrittbalkens - Teil 1: Okay, im letzten Video haben wir die Navigation erstellt und angepasst, und jetzt ist es an der Zeit, sich um den Fortschrittsbalken zu kümmern Schauen wir uns das fertige Projekt an. Hier haben wir also den Fortschrittsbalken, der die Form eines Kreises hat und dessen Position festgelegt ist. In der Mitte des Kreises. Wir haben den Pfeil. Sobald wir anfangen, auf der Seite nach unten zu scrollen , erscheint die rote Linie, die den Kreis füllt. Wenn wir bis zur Seite gehen. Sobald wir nach unten scrollen , ändert der Pfeil seine Richtung. Wenn wir anfangen, nach oben zu scrollen, verschwindet die rote Linie. Der Fortschrittsbalken funktioniert auch mit Projekten. Ich meine, wenn wir eines der Projekte erweitern, verschwindet die rote Linie und der Fortschrittsbalken beginnt, mit dem Projekt zu arbeiten. Ich meine, es wird gefüllt, sobald wir im Bild nach unten scrollen. Wenn wir das Projekt schließen, der Fortschrittsbalken entsprechend der Seite weiter funktioniert der Fortschrittsbalken entsprechend der Seite weiter . Ordnung, also lass uns weitermachen In Ordnung, also lass uns weitermachen und mit der Arbeit am Fortschrittsbalken beginnen Ich werde das HTML-Markup erstellen. Lassen Sie uns direkt nach dem Seitenhintergrund neue Kommentare einfügen . Wir brauchen einen Fortschrittsbalken und einen Fortschrittsbalken. Öffne dann ein Link-Tag mit einem Fortschrittsbalken für den Kurs. Innerhalb des Link-Elements benötigen wir vier verschiedene Elemente. Lassen Sie uns sie jetzt einfach erstellen und dann erklären und zeigen, warum wir diese Elemente benötigen. Öffnen wir ein div-Tag mit dem Klassenhalbkreis duplizieren Sie es dann dreimal. Eigentlich müssen wir die zweiten Div-Elemente nicht anfassen. Der dritte wird ein Hub Circle Top sein. Was das letzte Div-Element betrifft, so wird es ein Kreis mit Fortschrittsbalken sein. Wie der Inhalt. Fügen wir hier eine der HTML5-Entitäten Wir brauchen ein Amperand als die gestrichelte Linie 8595, Semikolon. In Ordnung, das war's mit dem HTML-Markup. Lass uns weitermachen und anfangen , etwas CSS zu schreiben. Lassen Sie uns neue Kommentare in die CSS-Datei einfügen, Fortschrittsbalken. Und des Fortschrittsbalkens. Wählen Sie dann die Link-Elemente aus. Zuerst setze ich es auf Position fest. Definieren Sie dann Breite und Höhe. Ich werde aus beiden eine Straßenbahn machen. Und ändere auch die Hintergrundfarbe, mache sie weiß. Wie Sie sehen können, befindet sich der Fortschrittsbalken in der oberen linken Ecke der Seite. Wir müssen seine Position ändern. Ich werde die unteren und rechten Eigenschaften definieren. Lassen Sie uns beide auf acht Runden setzen. Ordnung, der Fortschrittsbalken ist also positioniert und befindet sich in der unteren rechten Ecke Als Nächstes mache ich es rund. Dafür benötigen wir einen Grenzradius mit dem Wert 50 Prozent. In Ordnung, das war's mit der Verpackung. Lassen Sie uns weitermachen und uns um den Kreis der Fortschrittsbalken kümmern. Lassen Sie uns diese Elemente auswählen und ihre Breite und Höhe definieren. Ich werde beiden 7,8 RAM geben. Dann ändere die Hintergrundfarbe. Ich mache es schwarz. Als Nächstes müssen wir es mit einem Randradius von 50 Prozent abgerundet machen mit einem Randradius von 50 Prozent Ändern Sie auch die Farbe, machen Sie sie weiß und erhöhen Sie dann die Schriftgröße des Pfeils. Machen wir es zur Miete. Dieses Element hat also einen Titel, aber wir müssen uns um seine Position kümmern. Es sollte in der Mitte der Verpackung platziert werden. Und außerdem müssen wir den Pfeil innerhalb des Kreises zentrieren. In beiden Fällen werde ich ein Klassenzentrum benutzen. Nun wird geprüft, das Problem ist behoben. In Ordnung, der Fortschrittsbalken ist also vorbereitet. Es hat den Standard-Luke, und jetzt müssen wir das zum Laufen bringen. Wie Sie sich erinnern, haben wir verschiedene Entwicklungen entwickelt . Die ersten Entwicklungen, die einen Klassenhalbkreis haben, werden es schaffen, den Fortschrittsbalken mit roter Farbe zu erkennen. Als Erstes werde ich den schwarzen Kreis für eine Weile verstecken, um die Dinge besser zu erklären und zu demonstrieren. Also werde ich zuweisen , keine anzuzeigen. Okay, also der schwarze Kreis ist versteckt, und jetzt müssen wir uns um die drei Div-Elemente kümmern , die uns helfen werden, einen Fortschrittsbalken zum Laufen zu bringen Wählen wir alle drei Elemente gleichzeitig aus. Ich meine, wir brauchen einen halben Kreis mit einem halben Kreis oben. Definieren wir die Position, machen wir sie absolut. Außerdem müssen wir bei 50 Prozent sein. Für die Höhe. Ich mache es zu 100% und außerdem definiere ich die Eigenschaften von oben und links. Machen wir beide zu Null. Im Moment sind die Elemente also nicht sichtbar. Und um das zu beheben, werde ich jedem von ihnen eine andere temporäre Hintergrundfarbe zuweisen . Wählen wir einen Halbkreis mit dem n-ten Kinderwähler aus. Die Hintergrundfarbe für den ersten Halbkreis wird also grün sein. Dann werde ich diesen Code duplizieren. Lassen Sie uns die Hintergrundfarbe ändern und ihn blau machen. Und dann wähle einen halben Kreis oben. Machen Sie die Hintergrundfarbe orange. Ordnung, also werden alle drei Div-Elemente übereinander gelegt Deshalb sehen wir hier die Orange. Nur. Wenn ich diese Zeile kommentiere, werden wir hier die blauen Elemente sehen. Zuerst werde ich dafür sorgen, dass der Fortschrittsbalken beim Zeigen mit der Maus funktioniert , damit er leichter zu verstehen Und dann ändern wir den Mauszeiger und verwenden Scroll-Events mit JavaScript Wir müssen den ersten Halbkreis um 180 Grad drehen. Was den zweiten Halbkreis betrifft, müssen wir ihn um 360 Grad drehen , weil wir den gesamten Kreis ausfüllen müssen . Was die halbkreisförmige Oberseite betrifft, in diesen orangefarbenen Elementen müssen wir sie in diesen orangefarbenen Elementen verstecken. Wählen wir also den Fortschrittsbalken aus, indem wir den Mauszeiger bewegen, gefolgt vom ersten Halbkreis Wie gesagt, wir müssen es mit der Rotate-Funktion mit dem Wert 180 Grad transformieren . Dann duplizieren Sie diesen Code und ändern Sie die n-te Kindernummer. Wir müssen nach dem Wert der Rotationsfunktion fragen. Wir brauchen 360 Grad, oder? Außerdem müssen wir den Übergang nutzen, um den Rotationsmotor herzustellen Wir brauchen also Transformation 1 s. Und außerdem werde ich lineare Transitions-Timing-Funktion verwenden. Kopieren wir diese Codezeile und fügen sie ein. Für das zweite Element. Wir müssen die Dauer erhöhen. Machen wir 2 s. Wenn wir nun also den Mauszeiger über die Elemente bewegen, passiert nichts, weil die es uns nicht erlaubt, den Mauszeiger zu Das spricht dafür, dass die Z-Index-Eigenschaft verwendet wird. Setzen wir es auf 200. Wenn ich jetzt den Mauszeiger bewege, drehen sich die Elemente. Moment sehen wir hier nur das blaue Element, weil das grüne Element darunter ist. Wenn ich hier den blauen Hintergrund poste, wirst du die grünen Elemente sehen. Die Elemente drehen sich also, aber auf die falsche Weise. Ich meine, der Ursprung der Transformation ist standardmäßig auf Mitte gesetzt. Aber in unserem Fall müssen wir es in die richtige Mitte bringen. Lassen Sie uns also den Transformationsursprung mit Werten verwenden, oder? Zentrum. In diesem Fall liegt der Ursprung der Transformation Zentrum des Elements, jedoch auf der rechten Seite. Okay, sobald wir den Mauszeiger über den Fortschrittsbalken bewegen, müssen wir diese orangefarbenen Elemente ausblenden Wählen wir also den Fortschrittsbalken aus, indem wir den Mauszeiger bewegen, gefolgt vom Halbkreis oben, und setzen die Opazität auf Null Nun also die Elementhöhen sobald wir den Mauszeiger über den Fortschrittsbalken Aber eigentlich versteckt es sich zu früh. Wir müssen es verstecken, sobald das grüne Element mit der Drehung fertig ist. Also müssen wir es nach 1 s verstecken. Verwenden wir Transition. Mit Opazität. Die Dauer wird Null sein, und dann brauchen wir eine Verzögerung von 1 s. Ordnung, jetzt funktioniert alles einwandfrei Wir müssen die Farben ändern und wir müssen auch die Elemente drum herum gestalten. Die ersten beiden Entwicklungen sollten eine rote Farbe haben. Ich meine die Farbe B6 und die Nullen. Was das dritte Element betrifft, wird es weiß sein, weil der Fortschrittsbalken selbst einen weißen Hintergrund hat. Jetzt müssen wir diese äußeren Teile der Elemente verstecken. Verwenden wir dafür Overflow Hidden. In Ordnung, jetzt haben wir viel bessere Ergebnisse. Schließlich müssen wir den schwarzen Kreis sichtbar machen. Lassen Sie uns das Display entfernen. Moment ist der Teil des Kreises sichtbar , weil er hinter den div-Elementen gelandet ist. Um das zu beheben, verwenden wir es erneut, da ist die Index-Eigenschaft mit dem Wert 200. Okay? Wenn ich nun den Mauszeiger über den Fortschrittsbalken bewege, wird er schön mit der roten Farbe gefüllt Ordnung, wir haben Ihnen gezeigt, wie Sie solchen Fortschrittsbalken mithilfe von CSS erstellen Und jetzt zeigen wir Ihnen, wie wir es beim Scrollen mithilfe von JavaScript zum Laufen bringen können es beim Scrollen mithilfe von JavaScript zum Laufen bringen Lassen Sie uns zunächst diese Styles auskommentieren. Ich meine diese Handtücher, die schweben. Gehen Sie dann zur JavaScript-Datei. Zunächst wähle ich die div-Elemente aus. Ich meine, für Div-Elemente , die in der Fortschrittsleiste platziert sind. Lassen Sie uns neue Kommentare für den Fortschrittsbalken erstellen. Dann erstelle ich eine neue Variable, nennen wir sie Halbkreise. Und wähle die ersten beiden div-Elemente , die die Klassennamen Half Circle haben. Ich werde die Methode Query Selector All verwenden. Als Nächstes duplizieren wir diese Codezeile. Ändere den Namen der Variablen, sie wird einen halben Kreis oben haben. Außerdem benötigen wir hier eine Abfrage, Auswahlmethode und dann die Änderung des Klassennamens Und schließlich erstellen Sie die Variable für die letzte Entwicklung, ich nenne das einen Kreis mit Fortschrittsbalken. Wählen Sie es dann mit der Methode querySelector aus. Und geben Sie hier auch den Klassennamen, den Fortschrittsbalken und den Kreis an. Okay, als Nächstes erstelle ich eine neue Funktion, die beim Scrollen aufgerufen wird Nennen wir es Fortschrittsbalken f n. Wie Sie wissen, entspricht eine vollständige Umdrehung 360 Grad. Wir müssen diesen Anteil der Menschenmenge an der Höhe in Grad umrechnen . Bevor wir das tun, müssen wir ein paar verschiedene Variablen definieren. Die erste ist die Höhe des Seitenansichtsfensters. Es wird den Fensterpunkten in Ihrer Höhe entsprechen. Die nächste wird die gesamte Höhe der Seite haben. Lassen Sie uns also eine neue Variable erstellen, sie Seitenhöhe nennen. Um die gesamte Höhe der Seite zu erhalten, benötigen wir Dokumente, Punkte und Dokumentelemente. Und dann müssen wir die Eigenschaft Scrollhöhe verwenden . Und die letzte Variable wird dieser gecrawlte Teil der Seite sein dieser gecrawlte Teil der Seite Er sollte dem Y-Offset der Fensterpunktseite entsprechen. Gut, jetzt ist also alles bereit, um die Höhe dieses so genannten Abschnitts in Grad umzurechnen dieses so genannten Abschnitts in Grad Lassen Sie uns eine neue Variable erstellen. Ich nenne es „ Scrolled Portion Degree“. Jetzt müssen wir die Formel verwenden. Wir müssen uns trennen. Es heißt Portion, der Unterschied zwischen Seitenhöhen und Seitenansichtsporthöhe. Und wir müssen das Ergebnis mit 360 multiplizieren. Wir brauchen also eine Portion. Dann die Division. Als Nächstes benötigen wir die Seitenhöhe minus die Höhe des Seitenansichtsfensters. Wir müssen es mit 360 multiplizieren. Okay, schauen wir in der Konsole nach, oder diese Variable gibt uns, lassen Sie uns hier pausieren, den gescrollten Teil Grad Eigentlich müssen wir die Funktion on scroll aufrufen. Wir haben das Scroll-Event bereits mit der Navigation verwendet, also rufen wir die Funktion hier auf. Lassen Sie uns die Seite überprüfen und zum Konsolen-Tab wechseln. Sobald wir also auf der Seite nach unten scrollen und zum Ende gehen, erhalten wir die richtigen Werte von 0-360 Ordnung, wenn Sie jetzt diese Variable verwenden , werden Halbkreise gedreht Also müssen wir sie durchschauen und jeden Halbkreis drehen. Und dann die erste und die zweite Entwicklung in der Fortschrittsleiste. Wir brauchen hier also einen halben Kreis, Punkte für jeden Durchlauf, die Callback-Funktion mit einem Parameter EL , der für Elemente steht Jetzt müssen wir die Elemente drehen. Also lass uns hier eine Pause machen. Punkttransformation im Elementpunktstil. Es sollte gleich sein, sich zu drehen und Ihnen die Variablen übergeben müssen , die als Portionsgrad bezeichnet werden, gefolgt von Graden. Wenn wir jetzt also nach unten scrollen, fühlt sich der Scrollbalken an. Sobald wir die Hälfte erreicht haben, müssen wir den ersten Halbkreis beenden. Außerdem müssen wir das dritte Div-Element und dann den Halbkreis oben verstecken . Wir müssen also eine wenn-Aussage verwenden, in der wir definieren müssen Portionsgrad größer oder gleich 180 bezeichnet wird. Wenn diese Bedingung also zutrifft, müssen wir dem ersten Halbkreis den festen Wert geben , der 180 Grad entspricht. Also brauchen wir deine Halbkreise. Dann die Indexzahl Null, dann Style-Punkttransformation. Und wir müssen den Wert der Drehfunktion auf 180 Grad festlegen. Und wir müssen auch den Halbkreis oben verstecken. Lassen Sie uns also Ihre Punktopazität im Stil eines halben Kreises mit einem oberen Punkt eingeben , der Null entspricht Sobald wir also nach unten scrollen, wird der gesamte Fortschrittsbalken gefüllt. Aber wir haben hier ein kleines Problem. Sobald wir nach oben scrollen und gescrollt haben, wird der Grad des Abschnitts unter 180 Grad liegen. Wir müssen den halben Kreis oben auf der Rückseite zeigen. Also müssen wir die Else-Anweisung erstellen. Dann nehmen wir diese Codezeile, fügen sie hier ein und ändern den Wert der Opazität, machen sie zu einer Wie Sie sehen können, funktioniert jetzt alles einwandfrei. Wir müssen noch ein paar Dinge mit dem Fortschrittsbalken machen. Und dafür fahren wir mit der nächsten Vorlesung fort. 20. Designfortschrittbalkens - Teil 2: Okay, im letzten Video haben wir angefangen, am Fortschrittsbalken zu arbeiten Sobald wir auf der Seite nach unten scrollen fühlt sich die rote Linie auf dem Kreis an. Und jetzt füge ich dem Fortschrittsbalken ein Klickereignis hinzu . Schauen wir uns das fertige Projekt an. Sobald wir also auf den Fortschrittsbalken klicken, scrollen wir die Seite Abschnitt für Abschnitt nach unten. Und sobald wir ganz unten auf der Seite sind, dreht sich der Pfeil. Beim nächsten Klick navigieren wir zum Anfang der Seite. Außerdem dreht sich der Pfeil wieder, wenn ich nach unten gehe und dann anfange, nach oben zu scrollen . Und wenn wir auf den Fortschrittsbalken klicken, navigieren wir zum Ende der Seite. Richtig? Das werden wir also in dieser Vorlesung tun. Wir haben bereits eine Funktion für den Fortschrittsbalken erstellt. Lass uns weitermachen und anfangen , den Code zu schreiben. Als erstes müssen wir einen Klick-Event-Handler an den Fortschrittsbalken anhängen einen Klick-Event-Handler an den Fortschrittsbalken In diesem Fall verwenden wir den OnClick-Event-Handler da er das Klick-Ereignis nur einmal an die Lassen Sie uns neue Kommentare verfassen. Klicken Sie auf den Fortschrittsbalken und klicken Sie auf den Fortschrittsbalken. Wählen Sie dann einen Fortschrittsbalken aus. Ich werde eine neue Variable erstellen. Und wählen Sie dann die Elemente mit der Abfrageauswahlmethode aus. Dann müssen wir den OnClick-Event-Handler an den Fortschrittsbalken anhängen OnClick-Event-Handler an den Fortschrittsbalken Als erstes müssen wir also die Standardaktion verhindern, sobald wir auf den Fortschrittsbalken klicken. Also werde ich hier ein Event-Objekt übergeben. Und dann müssen wir die Prevent-Standardmethode verwenden. Danach müssen wir alle Elemente dieses Abschnitts auswählen. Lassen Sie uns also weitermachen und eine neue Variable erstellen , sie Abschnitte nennen. Und wählen Sie dann alle Abschnittselemente mit der Methode Query Selector All Ich werde hier den Abschnitt mit den Tagnamen angeben. Als Nächstes müssen wir die Positionen dieser Abschnittselemente definieren und sie im Array speichern. Also werde ich eine neue Variable erstellen. Nennen wir es Sektionspositionen. An den Positionen dieser Abschnitte meine ich, wo befinden sich die Abschnittsbeginne der gesamten Seite und nicht im Viewport Um diese Position zu ermitteln, benötigen wir die Summe aus dem gescrollten Bereich und dem Abstand zwischen dem oberen Rand des Viewports und der oberen Position dieses Abschnitts selbst Wie gesagt, wir müssen diese Werte im Array speichern. Und dafür verwende ich eine der Array-Hilfsmethoden namens map Es ermöglicht uns, die Funktion für jedes Array-Element auszuführen und die Werte im Array zu speichern. Um die Map-Methode verwenden zu können, müssen wir die Knotenliste in ein Array umwandeln. Sonst funktioniert es nicht. Um also die Knotenliste in ein Array umzuwandeln, müssen wir die Methode array from verwenden und hier Abschnitte übergeben. Dann brauchen wir eine Methode namens map, die einen Parameter benötigt. Es ist die Callback-Funktion, die selbst ein Argument benötigt, das aktuelle Element im Array Um die Position dieses Abschnitts zu ermitteln, müssen wir die folgende Berechnung durchführen. Zuerst müssen wir das Schlüsselwort return verwenden. Jetzt benötigen wir die Summe aus dem quadratischen Teil und dem Abstand zwischen dem oberen Rand des Viewports und der oberen Position dieser Aktion Wenn es also Portion plus Abschnitt heißt Punkt, wird der Bounding Client Rect angezeigt Hier. Immobilie namens Top. Tatsächlich ermöglicht uns die ES6-Syntax , diesen Code prägnanter zu schreiben Wir können lockige Zahnspangen loswerden. Und wir können auch das Schlüsselwort return entfernen. Okay, lassen Sie uns diese Variable zur Konsole ausführen und sehen, was sie uns gibt. Lassen Sie uns die Seite überprüfen und zum Konsolen-Tab wechseln. Wenn ich auf den Fortschrittsbalken klicke, passiert nichts. Aber wenn ich nach unten scrolle und dann auf die Elemente klicke, erhalten wir ein Array mit fünf Elementen. Jeder von ihnen steht für die Position dieses Abschnitts auf der Seite. Das sind die Pixel. Es hat also nicht funktioniert, bis wir auf der Seite nach da die Funktion nur aufgerufen wird , wenn das Scroll-Ereignis eintritt. Deshalb müssen wir es außerhalb der Scroll-Events noch einmal aufrufen . Wenn ich jetzt klicke, bekommen wir das Ergebnis in der Konsole Okay, also müssen wir diese Positionen verwenden, um beim Abschnitt nach unten zu scrollen. Zuerst werde ich diese Werte manuell verwenden , um zu sehen, wie es funktioniert. Und dann werden wir diesen Prozess dynamisieren. Um auf der Seite nach unten zu scrollen, verwende ich auch eine der Methoden, die Scrollen genannt werden. Und wir müssen diese Methode an das Fensterobjekt anhängen. Diese Methode benötigt zwei Argumente. Das werden die Koordinaten sein. Das erste ist ebenfalls das Pixel entlang der horizontalen Achse der Elemente. Das zweite ist das Pixel entlang der vertikalen Achse der Elemente. In unserem Fall sollte das erste Argument Null sein, weil wir vertikal und horizontal scrollen werden. Als zweites Argument übergebe ich einen der Werte aus dem Array, sagen wir den dritten. Wenn ich also auf den Fortschrittsbalken klicke, gelangen wir zum dritten Abschnitt. Okay, also wie gesagt, in diesem Fall geben wir die Position manuell und wir müssen sie dynamisch definieren. Dafür verwende ich eine Array-Hilfsmethode namens find Diese Methode gibt den Wert des ersten Elements im Array zurück , das die Bedingung erfüllt Lassen Sie uns eine neue Variable erstellen. Ich nenne es Position. Und dann müssen wir den Abschnittspositionen eine gute Methode zuordnen . Es dauert. Ein Parameter ist die Callback-Funktion. Außerdem benötigen wir hier einen weiteren Parameter, Abschnittsposition und dann wieder die Schlüsselwortrückgabe. Jetzt müssen wir also die Bedingung definieren, die wir kennen müssen, und das wird Abschnitt. Um zu scrollen und zu diesem Abschnitt zu navigieren. Um diese Informationen zu erhalten, müssen wir die Position dieses Abschnitts mit diesem sogenannten Abschnitt vergleichen . Wir benötigen also, dass die Abschnittsposition größer ist als der gekritzelte Sobald diese Bedingung erfüllt ist, wird die Ausführung der Anweisung eingestellt und wir erhalten die Position des nächsten Abschnitts. Also statt dieses Werts hier werde ich die Position weitergeben. Und außerdem wollen wir in der Konsole sehen, was uns diese Variable gibt. Wenn ich also auf den Fortschrittsbalken klicke, scrollen wir die Seite Abschnitt für Abschnitt nach unten. Sie sehen hier auch deutlich, wie sich die Position verändert. Sobald wir das Ende der Seite erreicht haben und erneut klicken, navigieren wir zum Anfang der Seite, aber die Position wird undefiniert Es ist passiert, weil keine anderen Fälle gefunden wurden , in denen die Bedingung zutraf. Eigentlich brauchen wir das. Wir müssen onClick nach oben scrollen. Aber es wäre komisch, wenn wir es so belassen würden. Und es wird für andere Entwickler schwer zu verstehen sein. Ich denke, es wäre besser, wenn wir eine Bedingung schreiben würden. Lassen Sie uns weitermachen und eine Variable erstellen , in der ich definiere, ob wir das Ende der Seite erreichen oder nicht. Also werde ich die Variablen Bu nennen. Und es sollte gleich sein, dass der Scrollbereich plus die Höhe des Seitenansichtsfensters der Seitenhöhe entspricht Wenn diese Variable also wahr ist, bedeutet das, dass wir das Ende der Seite erreicht haben. Und deshalb müssen wir beim Klicken zum Anfang der Seite navigieren . Ich werde eine Bedingungsanweisung mit dem ternären Operator erstellen eine Bedingungsanweisung mit dem ternären Operator Wir brauchen Scroll Bull. Wenn das stimmt, müssen wir zum Anfang der Seite navigieren . Daher benötigen wir auch Windows Dot Scroll mit den Argumenten Null an beiden Stellen. Und wenn diese Bedingung falsch ist, dann brauchen wir diesen Ausdruck hier. In Ordnung, also funktioniert alles gut. Als nächstes müssen wir die Richtung des Pfeils ändern. Sobald wir das Ende der Seite erreicht haben, müssen wir sie drehen. Dafür verwende ich die If-else-Aussage. Tatsächlich stört das neue Kommentare, Pfeilrotation und die Rotation außerhalb des Pfeils. Wir müssen also denselben booleschen Wert überprüfen. Ich meine, scrolle nach unten. Wenn das stimmt, müssen wir den Pfeil drehen. Schreiben wir hier Fortschrittsbalken, Kreis, Punkttransformation im Punktstil. Es sollte gleich sein, um 180 Grad zu drehen. Und wenn es falsch ist, dann brauchen wir die else-Aussage. Nehmen wir diese Codezeile und ändern den Wert der Rotate-Funktion, die wir hier benötigen, auf Null. Lassen Sie uns abschließend den Übergang verwenden, bei dem die Werte 0,5 s transformiert werden. Wenn ich also den unteren Rand der Seite erreicht habe, dreht sich der Pfeil. Wenn ich anfange, nach oben zu scrollen, dreht es sich wieder. In Ordnung, bisher funktioniert also alles perfekt. Und jetzt müssen wir den Fortschrittsbalken zum Laufen bringen , sobald wir die Projekte geöffnet haben. Lassen Sie uns dazu mit der nächsten Vorlesung fortfahren. 21. Designfortschrittbalkens - Teil 3: Okay, in der letzten Lektion haben wir der Fortschrittsleiste ein Klickereignis hinzugefügt Wir können Abschnitt für Abschnitt nach unten scrollen. Sobald wir auf den Fortschrittsbalken geklickt haben, funktioniert er auf der Seite einwandfrei, aber wir müssen ihn zum Laufen bringen, sobald wir auf das Projekt klicken und das Bild erweitern. Bevor wir uns darum kümmern, haben wir hier ein kleines Problem. Sobald wir das Projekt geöffnet haben, sollten wir das Menüsymbol ausblenden. Ich werde das mit der Z-Index-Eigenschaft beheben. Weisen wir dem Projekt-Image-Wrapper Z-Index-Eigenschaft mit einem Wert Also gerade die Navigation, falls ihr das nicht getan habt, aber wie ihr seht, ist der Schließbutton hinter dem Projekt gelandet. Um das zu beheben, werde ich den Wert der Z-Index-Eigenschaft für die Schaltfläche Ausblenden des Projekts erhöhen Z-Index-Eigenschaft für die Schaltfläche Ausblenden des Projekts Machen wir 200 draus. Ordnung, jetzt war alles in Ordnung und wir In Ordnung, jetzt war alles in Ordnung und wir können weiter am Fortschrittsbalken arbeiten Wie wir wissen, erstellen wir, sobald wir auf das Projekt klicken, ein großes Bild und es ist die Hülle Wir müssen also überprüfen, ob der Image-Wrapper erstellt wurde oder nicht Und dann müssen wir den Fortschrittsbalken bei der Arbeit entsprechend gestalten . Wir müssen hier einen neuen Parameter einfügen. Nennen wir es einen großen IMG-Rapper. Standardmäßig mache ich es falsch. In diesem Fall sagen wir also, dass wir an der Seite arbeiten , weil das Element nicht existiert. Also müssen wir eine If-else-Anweisung erstellen, in der wir definieren müssen, ob der Image-Wrapper existiert oder nicht Lassen Sie uns Ihnen also einen großen IMG-Wrapper geben. Wenn diese Bedingung also zutrifft, bedeutet das, dass das Projekt geöffnet ist und wir hier den Code einfügen müssen , der in diesem Fall funktioniert. Aber ich ziehe es vor, hier den Code für die Seite einzufügen. Also können wir hier einfach einen NOT-Operator hinzufügen. Jetzt müssen wir dir diese beiden Zeilen einfügen. Eigentlich werde ich diese Variablen außerhalb der if-Anweisung deklarieren . Verwenden wir das Schlüsselwort let. Ich werde beide Variablen gleich Null machen. Wie Sie sehen können, funktioniert der Fortschrittsbalken auf der Seite einwandfrei. Jetzt müssen wir eine else-Anweisung erstellen , in der wir den Code für den Image-Wrapper definieren Eigentlich können wir uns diese beiden Zeilen schnappen. Die Seitenhöhe wird der Höhe eines großen Bildes entsprechen. Wir brauchen also einen Rapper-Punkt mit einem großen Bild, das untergeordnet ist, weil das Bild das untergeordnete Element des Wrappers ist Für dieses Publikum wird es eine große Portion geben, AMG, Rapper Dot Scroll Top Diese Eigenschaft gibt uns die Anzahl der Pixel , mit denen der Inhalt eines Elements vertikal gekritzelt wird In Ordnung, jetzt müssen wir eine Funktion aufrufen. Sobald wir auf das Projekt geklickt haben, benötigen wir den Fortschrittsbalken f n. Und wir müssen hier das Argument großer IMG-Wrapper übergeben Wie Sie sehen können, ist der Fortschrittsbalken jetzt aktualisiert. Aber sobald wir im Projekt nach unten scrollen, funktioniert es nicht, weil wir die Funktion auch bei diesem Aufruf aufrufen müssen. Wir brauchen also einen großen IMG-Wrapper, Dots on Scroll Event Handler Und dann müssen wir die Funktion aufrufen. Wie Sie sehen können, funktioniert es jetzt einwandfrei. Aber wir haben hier ein kleines Problem. Sobald das Bild nach unten aufgerufen wurde, dreht sich der Pfeil nicht mehr . Lassen Sie uns in der Konsole überprüfen, ob die Bedingung in der if else-Anweisung wahr oder falsch ist Ich werde die Konsole durchgehen und mit Bu scrollen. Wenn wir also nach unten scrollen und das Ende der Bilddaten erreichen, billiger als der boolesche Wert wieder falsch, was bedeutet, ist billiger als der boolesche Wert wieder falsch, was bedeutet, dass dieser Ausdruck nicht der Seitenhöhe entspricht Lassen Sie uns sie auch in der Konsole überprüfen. Ich werde den Scrollbereich plus die Höhe des Seitenansichtsfensters und auch die Seitenhöhe ausführen Höhe des Seitenansichtsfensters und auch die Seitenhöhe Wenn wir also nach unten scrollen, erhalten wir einen Unterschied von zwei Pixeln zwischen diesen Werten. Das ist eigentlich irgendwie komisch. Aber der Grund ist, dass das Bild ein Inline-Element ist. Und in diesem Fall müssen wir es blockieren lassen. In Ordnung, jetzt funktioniert alles gut. Als Nächstes müssen wir den Fortschrittsbalken zum Laufen bringen , sobald wir darauf klicken, da er im Moment immer noch entsprechend der Seite funktioniert. Wir benötigen diese ähnlichen If-Else-Anweisungen mit dem onClick-Eventhandler Lassen Sie uns hier die Bedingung weitergeben, dass es sich nicht um einen Big-Image-Rapper handelt. Außerdem nehme ich den gesamten Code und füge ihn in die if-Anweisung ein. Danach brauchen wir L-Statements, in denen wir erneut nach Scrollen suchen müssen, Boolean Also, wenn es stimmt, dann brauchen wir auch eine große leere Rapper-Punkt-Schriftrolle. Bei Nullen bedeutet dies, dass das Bild nach oben gescrollt werden sollte Und wenn diese Bedingung falsch ist, müssen wir nach unten scrollen. Wir brauchen also einen großen IMG-Rapper-Punkt, zu dem Sie scrollen. Das erste Argument wird Null sein. Was das zweite Argument angeht, müssen wir Angie Wrapper, Punkte, Scrollhöhe auswählen Wenn wir jetzt auf den Fortschrittsbalken klicken, scrollt das Bild nach unten, aber ohne glatten Effekt. Um das zu beheben, müssen wir dem Image-Wrapper eine Eigenschaft namens Scrollverhalten zuweisen , was Smooth abwerten würde Wie Sie jetzt sehen können, funktioniert alles perfekt und wir sind fast fertig mit dem Fortschrittsbalken. Das einzige , was wir tun müssen, ist die Scrollleiste zu aktualisieren. Sobald wir das Projekt geschlossen haben. Eigentlich müssen wir die Funktion aufrufen , wenn wir auf die Schaltfläche klicken. Lassen Sie uns hier den Fortschrittsbalken pausieren . In Ordnung, jetzt funktioniert alles einwandfrei Und mit dem Fortschrittsbalken sind wir fertig. Wir sehen uns in der nächsten Vorlesung. 22. Code-Refactoring: Okay, in den vorherigen Vorlesungen haben wir es geschafft, den Fortschrittsbalken auf der Seite zu bearbeiten Und wenn wir das Projekt öffnen, bevor wir weitermachen und mit der Arbeit an der nächsten Sache beginnen, werde ich unseren aktuellen Fortschritts-Barcode überarbeiten und ihn übersichtlicher gestalten. Vorher möchte ich ein kleines Problem beheben. Sobald wir auf eines der Projekte klicken und es erweitern. Und wenn wir dann die Seite überprüfen, funktioniert der Fortschrittsbalken nicht richtig. Es wird laut Seite weiterhin funktionieren. Das Problem tritt auf, sobald wir die Größe des Fensters ändern. Es passiert, weil das Scroll-Ereignis aus irgendeinem Grund ausgelöst wird. Um das zu beweisen, lassen Sie uns etwas auf der Konsole ausführen. Wie Sie sehen können, haben wir hier Scroll, was bedeutet, dass das Scroll-Ereignis stattfindet. Um dieses Problem zu beheben, müssen wir den Code aus der Funktion in diesem Call-Event abrufen . Dann deklarieren Sie draußen eine neue Funktion. Ich nenne es scroll f n und füge den Code in diese Funktion ein. Danach müssen wir diese Funktion mit dem Scroll-Event aufrufen . Im Moment hat sich hier also nichts geändert. Alles funktioniert auf die gleiche Weise. Aber jetzt können wir mit der Funktion Scroll-Events entfernen und müssen dies tun, sobald wir auf eines der Projekte geklickt haben. Also brauchen wir hier ein Dokument, Punkt, den Event-Listener entfernen Dann müssen wir das Scroll-Event angeben. Außerdem müssen wir hier die Funktion übergeben , die wir erstellt haben, mit f n. Wenn wir jetzt das Projekt öffnen, funktioniert der Fortschrittsbalken einwandfrei. Wir werden kein Problem haben, sobald wir die Größe des Fensters ändern. Wenn wir das Projekt jedoch schließen, funktioniert der Fortschrittsbalken nicht mehr. Um das zu beheben, müssen wir das Scroll-Ereignis an das Dokument anhängen , wenn wir das Projekt schließen. Also brauchen wir hier document.write im Event-Listener. Dann scrollt das Event. Und die Funktion heißt f n. Wenn wir das überprüfen, werden Sie sehen, dass alles einwandfrei funktioniert. Und jetzt können wir beginnen , unseren Code zu überarbeiten. Moment haben wir also eine große Funktion , in die wir alles rund um den Fortschrittsbalken eingeben. Das erste , was ich tun werde, ist, mir einen OnClick-Eventhandler zu schnappen ihn aus der Funktion zu entfernen Als Nächstes deklariere ich ein paar Variablen außerhalb der Funktion. Ich mag Variablen , die für die Funktion und den OnClick-Event-Handler üblich sind Funktion und den OnClick-Event-Handler Platzieren wir also den Scrollbereich außerhalb der Funktion. Außerdem müssen wir die Scrollbull-Variable deklarieren. Setzen wir es auf falsch. Als Nächstes müssen wir das Schlüsselwort const von hier entfernen. Und außerdem müssen wir eine weitere Variable deklarieren , den Image-Wrapper Und wir müssen es auf falsch setzen. In Ordnung? Wie Sie sehen können, haben wir hier einen großen IMG-Wrapper mit dem Standardwert false Ich werde es loswerden. Und stattdessen benötigen wir einen Image-Wrapper, der dem großen IMG-Wrapper entspricht Und jetzt müssen wir überall den großen Andrew-Wrapper in Image-Rapper umwandeln Okay, schließlich können wir den OnClick-Event-Handler in einen Click-Event-Listener ändern den OnClick-Event-Handler in einen Click-Event-Listener Also müssen wir den Event-Listener hinzufügen. Ich muss dieses Gleichheitszeichen nicht loswerden. Ordnung, also wenn wir jetzt nachschauen, dann wird alles perfekt funktionieren Aber jetzt haben wir viel saubereren Code als zuvor. Okay, fahren wir mit der nächsten Vorlesung fort. 23. Klebrige Elemente: Okay, sobald wir mit dem Fortschrittsbalken fertig sind, müssen wir jetzt weitermachen und mit der Arbeit am nächsten Feature unseres Projekts beginnen , das ich ein klebriges Element nenne Schauen wir uns das fertige Projekt an. Wenn ich den Mauszeiger über das Menüsymbol oder den Fortschrittsbalken bewege, bleiben diese Elemente am Cursor haften Sobald wir den Cursor jedoch weit von der Standardposition des Elements entfernt bewegen weit von der Standardposition des , werden die Elemente wieder an ihre eigenen Positionen gebracht. Ich finde es ist ein netter und cooler Effekt. Also lass uns weitermachen und loslegen. Dieser Effekt sollte bei Mausbewegungsereignissen auftreten. Zuerst wird der Code hier geschrieben, und dann erstellen wir eine Funktion und rufen die Funktion hier auf. Fügen wir neue Kommentare ein. Klebrige Elemente. Von klebrigen Elementen. Wir müssen einen Effekt erzielen. Sobald wir den Mauszeiger über das Menüsymbol und den Fortschrittsbalken bewegen, werde ich beiden Elementen zusätzliche Klassen zuweisen Klebrig. Als Nächstes müssen wir herausfinden, über welchem Element wir den Mauszeiger bewegen Dafür können wir eine der eingebauten Funktionen verwenden , die als Elemente aus Punkten bezeichnet werden. Ich werde eine neue Variable erstellen. Nennen wir es Elemente, die mit der Maus über E L schweben . Es sollte genauso sein, Punktelemente von Punkten aus zu dokumentieren Diese Funktion benötigt zwei Argumente, x und y. Sehen wir uns in der Konsole an, was uns diese Variable gibt. Lassen Sie uns Elemente mit dem Mauszeiger ausführen. Wenn ich also den Mauszeiger über eines der Elemente auf der Seite bewege, werden wir es in der Konsole abrufen Richtig? Jetzt müssen wir überprüfen, ob ein Harvard-Element Cluster Tiki enthält oder nicht Wir müssen also eine if-Anweisung verwenden , in der wir die folgende Bedingung benötigen. Elemente, Punkte, Klassenliste, Punkt enthält. Und wir müssen hier die Klasse Sticky angeben. Lassen Sie uns außerdem zur Konsole laufen. Klebrig. Wenn ich jetzt mit der Maus über das Menüsymbol fahre, bleiben wir in der Konsole hängen Aber wenn ich den Mauszeiger über den Fortschrittsbalken bewege, bleiben wir in der Konsole nicht Das passiert, weil der Kreis der Fortschrittsleiste den Fortschrittsbalken selbst bedeckt. Und wir können den Mauszeiger nicht über den Fortschrittsbalken bewegen. Um dieses Problem zu beheben, können wir Zeigerereignisse für den Fortschrittsbalkenkreis deaktivieren . Lassen Sie uns die Zeigerereignisse auf num setzen. Übrigens, lassen Sie uns diesen kommentierten Code von hier löschen. Wenn ich jetzt den Mauszeiger über den Fortschrittsbalken bewege, bleiben wir in der Konstante hängen Ordnung, bisher funktioniert alles einwandfrei In Ordnung, bisher funktioniert alles einwandfrei. Als Nächstes müssen wir die Positionen der Elemente im Array speichern Also werde ich eine neue Variable außerhalb der Mausbewegungsereignisse erstellen . Nennen wir es Position des schwebenden Elements und setzen es auf ein leeres Array Also nochmal, wir werden hier die Position der Elemente speichern . Ich befinde mich in den Koordinaten oben und links indem ich die Eigenschaften Offset Top und Offset Left verwende. Zunächst müssen wir überprüfen, ob das Array leer ist oder nicht. Wenn es leer ist, müssen wir die Positionen speichern. Ich werde es benutzen. Wenn Anweisungen, in denen ich überprüfen werde , ob das Array leer ist oder nicht. Wir müssen also die Positionspunktlänge des Harvard-Elements mit eins vergleichen . Wenn diese Bedingung zutrifft, bedeutet das, dass ein Array keine Elemente enthält und wir die Positionen im Array speichern müssen . Wir benötigen also die Position des Elements, Mauszeiger schwebt, einem Array mit den folgenden Elementen entspricht Wir brauchen das schwebende Element des Set-Tops und dann Harvard-Elemente des Sets In Ordnung, lassen Sie uns weitermachen und testen, ob es gut funktioniert. Und sobald Sie jedoch zur Konsole laufen , Elementposition. Wenn ich also mit der Maus über das Menüsymbol fahre, erhalten wir seine Positionen im Array Wenn wir nun den Mauszeiger über den Fortschrittsbalken bewegen, erhalten wir wieder die Positionen des Menüsymbols Weil die Bedingung in der if-Anweisung falsch ist . Sie aktualisiert die Positionen im Array nicht. Wenn ich die Seite neu lade, wird das Array leer. Und wenn ich den Mauszeiger über den Fortschrittsbalken bewege, werden wir hier die Positionen des Fortschrittsbalkens Ordnung, jetzt müssen wir die obere und linke Position der Elemente ändern , über denen der Mauszeiger schwebt. Also brauchen wir hier Harvard-Elemente, Punktstil, Punkt-CSS-Text. Dann öffne ich die Zecken auf der Rückseite. Die oberste Position wird y sein. Mit Pixeln. Was die linke Position angeht, so wird es x sein. Ordnung? Wenn ich jetzt den Mauszeiger über die Elemente bewege, bewegt es sich, aber nicht ganz richtig. Es ist nicht klebrig. Um das zu beheben, müssen wir die Elemente um -50% nach oben und nach links bewegen -50% nach oben und nach links Dafür werde ich Transform Translate zweimal mit -50 Prozent verwenden Transform Translate zweimal mit -50 Prozent Jetzt haben sich die Positionen des Menüsymbols geändert, sodass wir die obere und rechte Position anpassen müssen. Tatsächlich haben wir die Elemente um 50 Prozent verschoben. Das bedeutet also, dass wir die Positionen um 50% der Breite und Höhe verringern müssen. Die oberste Position wird 3,5 RAM sein. Was die richtige Position angeht, so wird sie Null sein. Wie Sie sehen können, ist das Element jetzt korrekt positioniert, und sobald wir den Mauszeiger darüber bewegen, wird es klebrig Moment bewegt es sich auf der gesamten Seite, aber das werden wir bald beheben. Lassen Sie uns dasselbe auch für den Fortschrittsbalken tun. Wir müssen transformieren, zweimal mit den Werten -50 Prozent übersetzen Und wir müssen auch die untere und rechte Position ändern . Wir benötigen vollen RAM für beide Eigenschaften. Wenn ich jetzt den Mauszeiger über den Fortschrittsbalken bewege, funktioniert er immer noch nicht richtig. Es scheint, dass von der linken Seite nicht die ganze Welt passiert. Der Grund dafür ist, dass wir Zeigerereignisse für die Halbkreise deaktivieren müssen. Verwenden wir also Zeigerereignisse. Keine. In Ordnung, jetzt sieht alles gut aus. Als Nächstes haben wir definiert, wie weit sich das Element bewegen soll. Es wird 100 Pixel auf allen vier Seiten sein. Wir müssen also eine IF-Aussage erstellen , in der wir die Positionen definieren müssen. Wie Sie wissen, speichern wir Standardpositionen im Array. Das erste Element im Array ist die Position der Elemente, über denen der Mauszeiger schwebt Ich meine Offset-Top. Also müssen wir 100 Pixel addieren und subtrahieren, um sie zu verteilen. Und man muss es mit der Spitzenposition des Harvard-Elements vergleichen . Lassen Sie uns also weitermachen und eine IF-Anweisung erstellen , in der wir die folgende Bedingung benötigen. Wenn Sie mit der Maus auf Elemente zeigen, ist der Punktversatz nach oben geringer als die Position des Elements als die Position des Elements beim ersten Element — 100 Pixel. Wenn diese Bedingung also zutrifft, müssen wir das Element wieder an seine Standardposition bringen. Wir brauchen also schwebende Elemente. Punktstil, Punkt-CSS-Text, der einer leeren Zeichenfolge entspricht. Und außerdem müssen wir das Array löschen. Schwebeposition. Es sollte einer leeren eckigen Klammer entsprechen. Wenn ich nun nach 100 Pixeln anfange, die Elemente nach oben zu bewegen, bewegt sie sich zurück zu ihrer Standardposition. Ordnung, in diesem Fall lassen wir den Effekt nur in eine Richtung wirken Wir brauchen alle vier Richtungen. Verwenden wir hier den logischen OR-Operator. Dann kopiere ich diese Bedingung. Jetzt müssen wir 100 Pixel hinzufügen. Außerdem müssen wir das Kleiner-als-Zeichen in ein Größer-als-Zeichen ändern . Jetzt funktioniert der Effekt, sobald wir den Cursor nach unten bewegen. Als nächstes müssen wir uns um die linke und rechte Seite kümmern. Verwenden wir erneut den logischen ODER-Operator und fügen Sie die Bedingung ein. Bei der linken und rechten Richtung müssen wir das zweite Array-Element überprüfen, ich meine Versatz nach links. Also müssen wir die Indexnummer ändern. Es wird eins sein. Außerdem müssen wir nach links versetzten. Jetzt funktioniert der Effekt auf der linken Seite. Und schließlich brauchen wir die richtige Richtung. Also lasst uns weitermachen und diese Bedingung kopieren. Wir brauchen hier ein Plus-Schild. Und auch das Größer-als-Zeichen. Wie Sie sehen können, funktioniert das klebrige Element auf allen vier Seiten einwandfrei. Wir sind also fast fertig mit diesem Effekt. Wir müssen nur ein kleines Problem lösen. Wenn ich zum Beispiel das Menüsymbol nach oben bewege , die Elemente nicht ihre Standardposition, sobald der Cursor die Seite verlässt erhalten die Elemente nicht ihre Standardposition, sobald der Cursor die Seite verlässt. Dies passiert, weil in diesem Fall die zurückgelegte Entfernung weniger als 100 Pixel beträgt weniger als 100 Pixel und die if-Anweisung nicht ausgeführt wird. Also müssen wir dem Element die Standardposition zuweisen dem Element die Standardposition sobald die Maus das Element verlässt. Wir brauchen also Harvard-Elemente. Punkte auf dem Mausblatt. Dann müssen wir funktionieren. Nehmen wir diese beiden Zeilen und fügen sie hier ein. Okay, jetzt funktioniert alles perfekt und wir haben hier einen schönen und coolen Effekt Bevor wir diese Vorlesung beenden, werde ich den Code leicht ändern , um ihn übersichtlicher zu machen. Lassen Sie uns eine neue Funktion außerhalb der Mausbewegungsereignisse erstellen . Ich werde diese Funktion Sticky Elements nennen. Es werden drei Parameter benötigt. Wir benötigen X- und Y-Koordinaten und auch das gesamte Element. Dann hole ich mir die gesamte IF-Aussage von hier. Fügen wir es in die Funktion ein. Eigentlich werde ich diese IF-Aussage hier ändern. Verwenden wir den logischen Operator und den Operator. Danach rufen wir diese Funktion innerhalb der Mausbewegungsereignisse mit den Argumenten x, y und Harvard-Element auf. Wie Sie sehen, funktioniert alles perfekt. Endlich sind wir fertig. Sehen wir uns in der nächsten Vorlesung? 24. Mauskreis transformieren-Effekt: Ordnung, es ist also an der Zeit unserem Projekt ein weiteres Feature hinzuzufügen, was ich für einen schönen und coolen Effekt halte Wenn ich den Mauszeiger über einige Elemente wie die Navigationselemente oder die Projekte bewege, auch über die Dienste und die Eingabefelder Dann verwandelt sich der Mundkreis in die Form des Harvard-Elements. Und sobald wir die Elemente mit der Maus verlassen, bekommt es seine Standardform zurück, ich meine den Kreis. Ordnung, also lassen Sie uns weitermachen und diese Effekte der Projekte hinzufügen Ich werde direkt nach den Sticky-Elementen neue Kommentare in die Java-Datei einfügen . Lassen Sie uns Ihre Mauskreis-Transformation und Ihre Mundkreis-Transformation einfügen . Und dann erstelle eine neue Funktion. Ich nenne es Mauskreis-Transformation. Es benötigt einen Parameter und es wird das gesamte Element sein. Zuallererst werde ich diesen Effekt in Projekten erzeugen . Und am Ende des Tages werden wir diese Funktion auch zu anderen Elementen hinzufügen. Ich werde allen Projekten neue Klassen hinzufügen, so wie wir es bei den Sticky-Elementen gemacht haben . Lassen Sie uns also weitermachen und den Wrappern der Bilder eine neue Klasse hinzufügen den Wrappern der Bilder eine neue Klasse Ich nenne diesen Klassenzeiger Enter. Als Nächstes müssen wir definieren, ob der Mauszeiger auf das Element gesetzt wird, das diese neu hinzugefügten Klassen enthält Wir müssen also eine if-Anweisung verwenden, in der wir definieren müssen, ob das mit der Maus verbundene Element den Klassenzeiger Enter enthält Wir benötigen also eine Punktklassenliste mit schwebenden Elementen. Das beinhaltet muss hier den Klassennamen angeben, Zeiger eingeben. Lass uns testen, ob es gut funktioniert. Ich werde etwas auf der Konsole ausführen. Sagen wir Zeiger Enter. Und dann rufe diese Funktion mit der Maus auf. Ereignisse verschieben. Ordnung, schauen wir uns die Seite an und wechseln zum Konsolen-Tab Wenn ich also mit der Maus über die Projekte fahre, erhalten wir einen Zeigereingang in der Konsole Aber wenn ich den Mauszeiger über andere Elemente bewege , passiert nichts In Ordnung, bis jetzt funktioniert alles gut. Als nächstes müssen wir anfangen, daran zu arbeiten , die Form des Mundkreises zu ändern. Sobald wir die benötigten Elemente gefunden haben, müssen wir den Event-Handler für Mausbewegungen verwenden Und bei der Mausbewegung müssen wir die Form des Kreises ändern. Wir brauchen. Mit der Maus bewegen Sie sich mit Harvard-Elementen. Als Nächstes müssen wir ein paar verschiedene CSS-Stile für den Mauskreis definieren . Wir brauchen also Texte im Mauskreis, Punktstil und Punkt-CSS-Texte. Fangen wir mit der Breite und Höhe an. Um die Breite der Hubbard-Elemente zu ermitteln, verwende ich eigentlich die Breite der Hubbard-Elemente zu ermitteln, eine Methode namens get bounding client rect Und wir müssen es mit den Harvard-Elementen verbinden. Als nächstes benötigen wir hier die Eigenschaft, die mit Pixeln aufgerufen wird. Definieren wir auf die gleiche Weise die Höhe. Danach definiere ich die Eigenschaften oben und links. Wir können diese Codezeile duplizieren und die Höhe nach oben ändern. Und dann brauchen wir dasselbe auch für die linke Position. Wenn ich jetzt also mit der Maus über die Projekte fahre, passiert nichts, weil jetzt die meisten Kreisfunktionen funktionieren Sobald wir den Mauszeiger über die Elemente bewegen , für die der Klassenzeiger eingegeben wird, müssen wir die Ausführung der Funktion Code in der Mundkreisfunktion beenden die Ausführung der Funktion Code in der Mundkreisfunktion Und das mache ich mit einem booleschen Wert. Lassen Sie uns weitermachen und eine neue Variable erstellen. Ich nenne es Maus, eingekreister Stier. Und ich werde es wahr machen. Dann müssen wir innerhalb der Mundkreisfunktion eine If-Anweisung erstellen , in der wir überprüfen müssen, ob der boolesche Wert der Mausrückgewinnung wahr oder falsch ist Wenn diese Bedingung also zutrifft, müssen wir diese Codezeile ausführen. Eigentlich werde ich hier einen logischen und Operator anstelle der if-Anweisung verwenden einen logischen und Operator anstelle der if-Anweisung Danach müssen wir den Wert dieser booleschen Variablen innerhalb der Transformationsfunktion für den Mundkreis ändern dieser booleschen Variablen innerhalb Transformationsfunktion für den Mundkreis Und wir müssen es falsch machen. Im Moment ist es also immer noch so, dass nichts passiert, weil der Mauskreis standardmäßig die Opazität auf Null hat Und wir haben aufgehört, den Code dort auszuführen , wo er die Opazität hat Also müssen wir eine neue Opazität einführen. Jetzt funktioniert der Code, aber das wollen wir natürlich nicht. Der Mauskreis hat standardmäßig Transformationsumrechnung mit -50 Prozent Eigentlich brauchen wir das nicht. Wir müssen die Werte der Übersetzungsfunktion auf Null setzen. Also müssen wir transformieren, übersetzen und wir brauchen Null für beide Richtungen. Jetzt wird die Position des Kreises geändert. Als Nächstes beende ich die Animation, denn wie gesagt, der Kreis wird animiert Also brauchen wir hier Animationen, keine. Jetzt wird der Kreis also nicht mehr animiert und er erhält auch die Breite und Höhe der Elemente , über denen der Mauszeiger schwebt. Als Nächstes müssen wir den Grenzradius definieren. Dafür verwende ich eine der Methoden namens gets computed style Wir müssen hier schwebende Elemente angeben. Und dann müssen wir eine Eigenschaft namens Border-Radius verwenden. Wenn ich jetzt den Mauszeiger über das Projekt bewege, erhält der Mauskreis die Form der Elemente, über die der Mauszeiger schwebt. In Google Chrome funktioniert eigentlich alles einwandfrei. Aber wenn ich das Projekt in Mozilla Firefox überprüfe, werden Sie feststellen, dass der Grenzradius aus irgendeinem Grund nicht funktioniert Lassen Sie uns in der Konsole überprüfen, welchen Border-Radius uns in beiden Browsern gibt Ich werde die Konsole durchgehen. Für den Radius. In Google Chrome erhalten wir fünf Pixel. Aber in Mozilla Firefox erhalten wir eine leere Zeichenfolge Das ist ein kleines Problem für Mozilla Firefox. Und die Lösung, die ich mir ausgedacht habe, besteht darin, den Grenzradius in den Randradius einer beliebigen Ecke zu ändern den Grenzradius in den Randradius einer beliebigen Ecke zu . Weil alle Elemente, für die wir diese Tatsache verwenden werden , auf allen vier Seiten den gleichen Grenzradius Also verwende ich hier, sagen wir, Rand, unten, links, Radius. Lassen Sie uns weitermachen und überprüfen, ob dies in beiden Browsern einwandfrei funktioniert. Wie Sie sehen können, funktioniert alles einwandfrei. In Ordnung, bevor wir weitermachen, werde ich ein politisches Problem lösen Wenn ich anfange, den Mauszeiger vom unteren Rand des Projekts aus zu bewegen, ändert sich die Form des Kreisknochens weil wir gerade über dem Bild schweben Daher müssen wir Zeigerereignisse für die Projektbilder deaktivieren . Also lassen Sie uns dem Projekt Bildzeigerereignisse zuweisen. Keine. In Ordnung, jetzt war alles in Ordnung Als Nächstes füge ich diesem Effekt einen Übergang hinzu. Wir brauchen hier ein paar verschiedene Immobilien. Beginnen wir mit, mit, ich werde Ihre Übergangsdauer verwenden, 0,5 s. Als Nächstes haben wir die Höhe als obere und linke Position. Als nächstes kommt die Transformation. Und schließlich für den Radius. Okay, wie Sie sehen können, haben wir jetzt ein viel besseres Ergebnis. Aber trotzdem müssen wir einige Themen auswählen. Sobald die Maus die Elemente verlässt, müssen wir die Form des Kreises wieder ändern. Dafür müssen wir den Mouse-Live-Event-Handler verwenden. Wir müssen es mit dem Harvard-Element verbinden. Will die Maus die Elemente leben, müssen wir den booleschen Wert des Mundkreises in True umwandeln den booleschen Wert des Mundkreises Wenn nun die Maus das Projekt verlässt, wird die Standardform des Gepäckstücks abgerufen. Als Nächstes werde ich ein anderes Problem beheben. Wenn wir die Seite scrollen, kreist der Mauskreis und die Elemente stimmen nicht überein. Wir müssen also den Scroll-Event-Handler verwenden und ihn an das Dokument anhängen Sobald wir die Seite gescrollt haben, sollten die oberste Position des Mauskreises und die Harvard-Elemente übereinstimmen. Dies sollte jedoch passieren, sobald der boolesche Wert falsch ist, was bedeutet, dass wir den Mauszeiger über das Element bewegen, auf das der Klassenzeiger antwortet Also brauchen wir hier eine IF-Aussage. Und als Bedingung brauchen wir den booleschen Mauskreis nicht. Wenn diese Bedingung also zutrifft, sollten die oberen Positionen des Mundkreises und der schwebenden Elemente übereinstimmen Wir brauchen also Mauskreis Punkt, Stil, Punkt oben, gleich den Harvard-Elementen. Lass dich nicht einschränken. Client mit rechtem Punkt oben mit Pixeln. In Ordnung, jetzt ist das Problem behoben. Als Nächstes werde ich mich um ein anderes Problem kümmern. Wenn ich auf das Projekt klicke und es erweitert habe, wird die Form des Projekts weiterhin angezeigt. Also müssen wir es mit einem Klick loswerden. Wir müssen dafür sorgen, dass sich die Opazität der Maus an Null erinnert, sobald wir auf das Projekt klicken Also müssen wir Ihren Mundkreis punktförmig, Punkt, Opazität gleich Null einfügen Punkt, Opazität gleich Null In Ordnung, jetzt war alles in Ordnung. Und das Letzte, was wir tun müssen, ist, diesen Effekt auch mit anderen Elementen zu erzeugen. Ich werde wieder den Klassenzeiger Enter verwenden. Lassen Sie uns weitermachen und es zu den Navigationselementen hinzufügen. Als nächstes müssen wir dieses Glas zu den Diensten hinzufügen. Und zum Schluss fügen wir die Klasse zu den Eingabefeldern und der Schaltfläche „Senden“ hinzu. Lassen Sie uns diesen Effekt mit den Navigationselementen überprüfen. Wie Sie sehen können, funktioniert alles einwandfrei. Dann werde ich das bei den Diensten überprüfen. Wie Sie sehen, haben wir hier ein kleines Problem, eigentlich das gleiche Problem, das wir mit den Projekten hatten. Die Dienste beinhalten die Span-Elemente und wir haben zwei deaktivierte Zeigerereignisse für die Spans Lassen Sie uns ihnen also Zeigerereignisse zuweisen, keine. Jetzt ist das Problem behoben. Was die Eingabefelder betrifft, funktioniert alles einwandfrei. Okay, das ist alles. Wir haben die Arbeit an dem Feature abgeschlossen. Als Nächstes müssen wir damit beginnen, das Projekt an verschiedene Bildschirmgrößen anzupassen. Also lass uns weitermachen. 25. Projekt reaktionsfähig machen - Teil 1: Okay, wir haben den Bau unserer Projekte abgeschlossen. Ich bin dabei, dass alle Abschnitte erstellt wurden. Und jetzt müssen wir, wie bereits gesagt, unser Projekt an verschiedene Bildschirmgrößen anpassen. Das Projekt basiert auf einer extra großen Bildschirmgröße. Bildschirmgröße mit 1920 Pixeln Breite und 1080 Pixeln Höhe. Und wir müssen dafür sorgen, dass es auf kleinere Bildschirmgrößen reagiert. In diesem Teil werden wir CSS-Medienabfragen verwenden. Bevor wir anfangen, den Code zu schreiben, schauen wir uns die Seite an. Wechseln Sie in den responsiven Modus und überprüfen Sie das Projekt auf verschiedenen Bildschirmgrößen. Wie Sie sehen, sieht es auch auf kleineren Bildschirmgrößen gut aus. In Ordnung. Ich habe bereits verschiedene Breakpoints vorbereitet , an denen wir einige Änderungen vornehmen werden. Also werde ich keine Zeit damit verschwenden, sie zu finden. Im Allgemeinen müssen Sie die Änderungen vornehmen und den Bruchpunkt festlegen, an dem das Projekt sie benötigt. Ich denke, das ist der beste Weg , um Ihr Projekt verantwortlich zu machen. Wir sind also bereit zu beginnen. Lassen Sie uns neue Kommentare in diese CSS-Datei für Responsive einfügen . Der erste Breakpoint , an dem wir einige Änderungen vornehmen werden, wird also 1.500 Pixel sein An den Breakpoints. Ich werde die Kreise auf dem Treppenabsatz kleiner machen. Lassen Sie uns also weitermachen und eine CSS-Medienabfrage erstellen. Geben Sie dann die maximale Breite als 1.500 Pixel an. Dann wähle ich einen Kreis aus und setze Breite und Höhe, beide auf 15 Rampen. Außerdem werde ich diesen Hauptkreis auch kleiner machen . Lassen Sie uns also weitermachen und es auswählen und seine Breite und Höhe festlegen, beide auf 45. Miete. Außerdem müssen wir den Hauptkreis verkleinern , sobald wir den Mauszeiger darüber bewegen Lassen Sie uns also weitermachen und den Hauptkreis auswählen, indem Sie den Mauszeiger bewegen. Und dann mache Breite und Höhe. 55 Rampe. Außerdem werde ich die Größe des Bildes selbst ändern. Wählen wir also den Hauptkreis, IMG, und legen wir Breite und Höhe fest. Beide auf 160%. Ordnung, das war's mit dem ersten Abschnitt Lassen Sie uns weitermachen und den Text Über mich ein Jahr frei nehmen Ich werde die Schriftgröße des Textes verringern. Wählen wir also den Text Über mich aus, gefolgt von den Span-Elementen und setzen die Schriftgröße auf 11 rent. Das war's mit dem zweiten Abschnitt. Als nächstes kommt der Projektabschnitt, aber wir müssen ihn jetzt nicht bearbeiten. Als nächstes müssen wir den Abstand zwischen den Diensten und dem Kontaktbereich vergrößern . Wählen wir also Abschnitt vier aus und legen Sie den unteren Rand fest, um die Rampe abzubiegen. Außerdem müssen wir die Schriftgröße des Service Batson und der Servicetexte verringern . Lassen Sie uns also weitermachen und service btn with span auswählen. Stellen Sie die Schriftgröße auf neun Rem ein. Wählen Sie außerdem Servicetexte und stellen Sie die Schriftgröße so ein, dass RAM aufgerufen wird. Ordnung, das war's mit diesem Breakpoint , alles sieht gut aus Wir können weitermachen und den nächsten Breakpoint finden, der 1.350 Pixel groß sein wird Lassen Sie uns eine neue CSS-Medienabfrage erstellen und maximale Breite als 1.350 Pixel angeben An den Breakpoints werde ich die Größe des Haupt-Batson verringern Wählen Sie die Hauptbtn-Datei aus und stellen Sie die Breite und Höhe ein, beide auf 12,5 g. Gut, danach werde ich die Kreise überhaupt ausblenden Wählen wir also einen Kreis aus und weisen ihn ihm zu. Keine anzeigen. Ordnung, wie Sie sehen können, sind die Kreise versteckt Als Nächstes ändere ich die Positionen des Fortschrittsbalkens, da er, wie Sie sehen, die Texte teilweise abdeckt. Lassen Sie uns also weitermachen und den Fortschrittsbalken auswählen. Ich setze die richtige Position auf ein RAM. Was die unterste Position angeht, machen wir sie auf Null. Okay, der Fortschrittsbalken ist also positioniert und das Letzte, was wir an diesem Breakpoint tun müssen , ist die Schriftgröße des Textes Über mich zu verkleinern die Schriftgröße des Textes Über mich zu Weil alle anderen Abschnitte gut aussehen. Wählen wir also den Text „Über mich“, gefolgt von den Span-Elementen, und legen die Schriftgröße auf zehn Rampen fest. In Ordnung, das war's mit diesem Breakpoint. Lassen Sie uns weitermachen und den nächsten suchen, der 1.150 Pixel groß sein wird Lassen Sie uns also weitermachen und eine neue CSS-Medienabfrage mit der maximalen Breite von 1.150 Pixeln erstellen eine neue CSS-Medienabfrage mit der maximalen Breite von 1.150 Pixeln Das erste, was ich tun werde, ist die Schriftgröße des HTML-Elements zu verringern. Dies wirkt sich auf die Größe aller Elemente aus. Lassen Sie uns also weitermachen und die Schriftgröße für das HTML-Element auf 55% festlegen . Es ist also zu sehen, dass alle Elemente kleiner wurden. Und mit der Codezeile haben wir ein viel besseres Ergebnis. Als Nächstes werde ich die Maus und den Mauspunkt überhaupt ausblenden , da wir auf kleineren Bildschirmgrößen keine Maus mehr haben. Wählen wir also beide Elemente aus, Mauskreis und Mauspunkt. Und ihnen zugewiesen, zeigen keine an. Okay, danach kümmern wir uns um die Navigationselemente Ich werde den Abstand zwischen ihnen verringern. Wählen wir also den Navbar-Link und weisen ihm einen Rand mit den Werten Null oben und unten und zwei RAM links und rechts zu. Okay, als Nächstes verringern wir die Größe des Hauptkreises. Und ich werde auch die Größe verringern, wenn der Mauszeiger darauf zeigt. Wählen wir also den Hauptkreis aus und stellen Breite und Höhe ein, beide auf vier für Ram. Dann dupliziere ich diesen Code hier, bewege den Mauszeiger. Und ändere auch die Werte, die wir hier brauchen. 45 Lauf. Okay, das war's mit dem ersten Abschnitt. Als Nächstes werde ich den Text, der über mir steht, verkleinern . Wählen wir also diese Elemente aus, gefolgt von span und setzen Sie die Schriftgröße auf 7,5 rund. Ordnung, wie Sie sehen können, wird der Text kleiner. Es sieht nett aus. Als Nächstes werde ich mich um das Projekt kümmern. Ich meine, sobald wir es erweitern, können Sie sehen, dass wir auf der linken und rechten Seite des Bildes viel Platz haben . Also kümmern wir uns darum. Ich werde IMG Projekte auswählen. Und ich definiere Topfen als sieben Rem oben und unten und 11 Rem auf der linken und rechten Seite Außerdem müssen wir den Schließknopf ein wenig nach rechts bewegen . Wählen wir also project hide btn aus und legen die richtige Position für die Ausführung In Ordnung, das Projekt sieht also gut aus. Als Nächstes werde ich mich um den Bereich Dienste kümmern. Lassen Sie uns zunächst die Höhe der Servicetaste verringern . Wählen Sie service btn aus. Und grüßte 12 Uhr. Als Nächstes werde ich die Schriftgröße der Span-Elemente reduzieren und dieser Service wird ebenfalls besteuert Wählen wir also service btn, span und setzen die Schriftgröße auf acht RAM Was den Servicetext angeht, werde ich die Schriftgröße 3,5 ändern. In Ordnung, der Servicebereich sieht also gut aus. Außerdem müssen wir den Kontaktbereich nicht ändern. Was die Diashow der Social Media-Symbole angeht, werde ich den Platz oben verkleinern und unten etwas Platz schaffen Lassen Sie uns also weitermachen und den für die Slideshow definierten Rand als fünf Rem oben und unten und Null auf der linken und rechten Seite auswählen Slideshow definierten Rand als fünf Rem oben und unten und Null auf der linken und rechten In Ordnung, das war's also. In Bezug auf diese Breakpoints sieht alles gut aus. Also müssen wir weitermachen und den nächsten Breakpoint finden. Und das machen wir in der nächsten Vorlesung. 26. Projekt reaktionsfähig machen - Teil 2: In Ordnung, wir haben also bereits ein paar verschiedene Breakpoints erstellt Der letzte hatte 1.150 Pixel. Lass uns weitermachen und den nächsten Breakpoint finden. Der nächste wird also 900 Pixel haben. Wie Sie sehen, sind einige dieser Abschnitte durcheinander. Lassen Sie uns also weitermachen und eine neue CSS-Medienabfrage erstellen. Geben wir hier die maximale Breite als 900 Pixel an. Das erste, was ich tun werde, ist die Position des Menüsymbols zu ändern. Wählen wir es aus und setzen die rechte Position auf minus vier RAM. Danach werde ich die Navigationselemente anpassen. Wählen wir eine App oder einen Link aus. Lassen Sie uns zunächst die Schriftgröße ändern und 1,5 RAM daraus machen. Und ich werde auch den Abstand zwischen den Objekten ändern. Lassen Sie uns den Spielraum auf 0,1 setzen. Lauf. Ordnung, als Nächstes verschiebe ich den Feature-Text in die Nähe der Seitenränder Wählen wir den ersten Text und definieren den Rand oben als Null. Dann unsere Reihe auf der rechten Seite, Null am unteren Ende, fünf Rem auf der linken Seite. Dann werde ich diesen Code duplizieren. Ändern Sie den Klassennamen, den wir auch für den Feature-Text benötigen, und ändern Sie auch die Werte der Margin-Eigenschaft. Wir brauchen 05 rem, dann wieder 0,0. In Ordnung, das war's mit dem ersten Abschnitt. Als Nächstes verschiebe ich die Abschnittsüberschriften ein wenig nach links Wählen wir also die Abschnittsüberschrift aus. Wie Sie wissen, ist dies ein gebräuchlicher Klassenname. Setzen wir die linke Position auf fünf Runs. Ordnung, danach werde ich mich um den obigen Text kümmern Wählen wir also den Text Über mich aus, gefolgt vom Span-Element und setzen die Schriftgröße auf 5,5 ran. Außerdem werde ich die Schrift etwas heller machen um den Text auf kleineren Geräten sichtbar zu machen. Stellen wir die Farbe auf ein hellgraues ccc ein. Ordnung, als Nächstes werde ich diesen Servicebereich anpassen Lassen Sie uns die Höhe der Oberflächenschaltfläche verringern und ich werde auch die Schriftgröße verringern. Wählen wir also service btn und setzen die Höhe auf neun RAM. Dann müssen wir Service Btn Span auswählen. Ändern wir die Schriftgröße, machen wir sechs RAM daraus. Und wir müssen auch Servicetexte auswählen. Lassen Sie uns die Schriftgröße auf drei Punkte setzen, um sie auszuführen. In Ordnung, schauen wir uns den Abschnitt Dienste an. Es sieht gut aus. Und tatsächlich, am Breakpoint, sind wir fertig. Lass uns weitermachen und den nächsten suchen , der 700 Pixel groß sein wird. Lassen Sie uns also weitermachen und eine neue CSS-Medienabfrage mit der maximalen Breite von 700 Pixeln erstellen eine neue CSS-Medienabfrage mit der maximalen Breite von 700 Pixeln Das erste, was ich tun werde, ist die Schriftgröße des HTML-Elements zu verringern. Lassen Sie uns die Schriftgröße auf 50% setzen. Wie Sie sehen können, wurden die Elemente kleiner. Und fast jeder Abschnitt sieht gut aus, außer dem Kontaktbereich. Wir müssen die Breite der Eingabefelder verringern. Wählen wir also Contact Form Input und setzen die Breite auf 50 ran. Ordnung, das war's mit diesem Breakpoint Lassen Sie uns weitermachen und das Projekt beim nächsten anpassen Der nächste Breakpoint wird also 550 Pixel sein. Lassen Sie uns weitermachen und eine neue CSS-Medienabfrage erstellen und die maximale Breite auf 550 Pixel angeben Auch hier werde ich die Schriftgröße des HTML-Elements verringern . Wählen wir es also aus und setzen die Schriftgröße auf 40%. Als Nächstes ändere ich die Größe des Bildes innerhalb des Hauptkreises. Wählen wir also den Hauptkreis aus, gefolgt vom IMG-Tag. Ich werde Breite und Höhe setzen, beide auf 180 Prozent Ordnung, wir leihen also, es sieht gut aus Ebenfalls. Wir müssen den zweiten und dritten Abschnitt nicht ändern. Was die Dienste angeht, werde ich die Schriftgröße erneut verringern. Wählen wir also service btn mit span aus. Stellen Sie die Schriftgröße auf 4,5 RAM ein. Wählen Sie dann den Servicetext und definieren Sie diese Schriftgröße als drei Rem. Außerdem werde ich die Farbe des Oberflächentextes leicht ändern . Lass es piepen, piep, piep. In Ordnung, schauen wir uns den Abschnitt Dienste an. Als Nächstes kümmere ich mich um den Kontaktbereich. Lassen Sie uns die Breite der Eingabefelder verringern. Nochmals. Ich wähle eine Kontaktformulareingabe aus und definiere dann die Breite. Mach es zum Laufen. In Ordnung. Das Letzte, was ich am Breakpoint tun werde , ist, die Social-Media-Symbole etwas kleiner zu machen. Zunächst wähle ich eine Rapper-Slideshow aus. Ändern wir die Breite, machen wir 45 RAM daraus. Wählen Sie dann Bild und ändern Sie den Abstand. Ich setze die Polsterung oben und unten auf Null und links und rechts auf 1,1. In Ordnung, das war's also. Mit diesem Breakpoint sind wir fertig und jetzt ist es an der Zeit, das Projekt anzupassen Am letzten Breakpoint, der 400 Pixel sein wird Lassen Sie uns eine neue CSS-Medienabfrage mit einer maximalen Breite von 400 Pixeln Zunächst werde ich erneut die Schriftgröße der HTML-Elemente verringern. Setzen wir es auf 35%. Als Nächstes ändere ich die Position des Logos. Ich werde es etwas weiter unten platzieren und auch in den Mittelpunkt der Kreditvergabe stellen. Wählen wir also Logo aus. Lassen Sie uns zunächst die Schriftgröße ändern sie auf 1,7 rem festlegen. Um es dann etwas nach unten zu platzieren, werde ich die obere Position ändern. Machen wir 13 RAM draus. Und um die Elemente dann horizontal zu zentrieren, müssen wir die linke Position auf 50 Prozent setzen. Und außerdem müssen wir für eine perfekte Zentrierung transformieren, also x -50 Prozent übersetzen Lassen Sie uns also sehen, dass das Logo perfekt zentriert ist. Als Nächstes platziere ich den Knopf oder ebenfalls in der Mitte Wählen wir es also aus und setzen die Eigenschaft justify content auf center. Moment ist die Navigationsleiste nicht perfekt zentriert, da sie standardmäßig auf der rechten Seite etwas gepolstert Also müssen wir es loswerden. Lassen Sie uns das Padding auf Null setzen. In Ordnung, das war's mit der Navigation. Als Nächstes kümmere ich mich um den Hauptkreis und das Bild darin. Schauen wir uns den Hauptkreis an und verringern wir seine Breite. Mach 38 RAM draus. Dann werde ich auch die Breite verringern, wenn der Mauszeiger darauf zeigt. Und ändere mit make it 42 RAM. Und wir müssen auch das Bild auswählen. Lassen Sie uns Breite und Höhe festlegen, beide zu 200 Prozent. Die Landung und der Rest der Abschnitte sehen also gut aus. Das einzige, was ich tun werde, ist, die Schriftgröße der Formularüberschrift zu verringern. Denn sobald wir den Betreff oder die Nachricht fokussiert haben , ist das Layout etwas durcheinander Lassen Sie uns also weitermachen und die Schriftgröße ändern. Wählen Sie aus der Überschrift aus. Stellen Sie die Schriftgröße auf fünf Rampen ein. In Ordnung, also endlich sind wir fertig. Unser Projekt ist responsiv. Wenn wir das überprüfen, werden Sie feststellen, dass das Projekt auf verschiedenen Bildschirmgrößen gut aussieht. Kam. Als nächstes müssen wir die Eingabefelder validieren. Denn danach werden wir das Projekt hosten und es live machen. Also lass uns weitermachen. 27. Formularvalidierung: Okay, nachdem wir unsere Projekte auf verschiedene Bildschirmgrößen angepasst haben , ist es jetzt an der Zeit, mit dem nächsten Teil fortzufahren und unser Projekt und andere Funktionen zu erweitern Ich werde unser Formular validieren, denn irgendwann werden wir das Projekt hosten und es einfach machen. Werfen wir einen Blick auf das fertige Projekt. Somit werden alle vier Eingabefelder, einschließlich des Textbereichs, validiert Wenn ich sie leer lasse und auf die Schaltfläche „Senden“ klicke, erhalten wir Fehlermeldungen. Tatsächlich wird das Formular auf unterschiedliche Weise validiert. Wir erhalten Fehlermeldungen, wenn wir die Eingabefelder leer lassen. Auch wenn wir die Längenanforderungen nicht schützen. Wenn ich zum Beispiel nur ein Zeichen in das erste Eingabefeld eingebe, erhalten wir eine andere Fehlermeldung. Wenn wir das Hinzufügenzeichen im E-Mail-Feld übersehen, erhalten wir außerdem eine andere Fehlermeldung die besagt, dass die E-Mail nicht gültig ist. Lassen Sie uns mit der Arbeit an der Formularvalidierung beginnen. Zuallererst müssen wir ein paar Dinge in der HTML-Datei tun . Ich werde allen Formulareingabefeldern die IGA-Attribute zuweisen . Der erste wird Name sein. Kopieren wir es und fügen es für die E-Mail ein. Dann haben wir Betreff und Nachricht. Ordnung, als Nächstes füge ich nach jedem Eingabefeld einen Absatz Diese Elemente werden verwendet , um die Fehlermeldung anzuzeigen. Öffnen wir also das P-Tag mit der Klassennachricht. Mit der inhaltlichen Fehlermeldung. Okay, das war's jetzt mit dem HTML. Bevor wir anfangen, etwas JavaScript zu schreiben, werde ich den Absatz so gestalten , dass er Teil des Kontaktabschnitts ist, also füge ich den Code in den fünften Abschnitt Lassen Sie uns eine neue Validierung des Kommentarformulars erstellen. Und der Formularvalidierung. Wählen Sie dann Absatz aus. definiere ich die Schriftgröße. Lassen Sie uns einen Punkt auf RAM legen. Dann werde ich die Schrift fett machen. Lassen Sie uns die Schriftstärke auf 700 setzen. Ändere auch die Farbe. Ich werde deine Farbe F phi phi e, phi e verwenden. Hier haben wir also die Fehlermeldung. Ich mache es in Großbuchstaben und platziere es auch auf der linken Seite Lassen Sie uns also die Texttransformation in Großbuchstaben setzen. Außerdem werde ich etwas Abstand zwischen den Buchstaben schaffen. Setzen wir es auf 0.1 run. Und dann platziere ich den Text auf der linken Seite. Verwenden wir also Margin mit den Werten 01 brand und dann wieder Null. In Ordnung, das war's jetzt mit dem CSS. Jetzt können wir anfangen, etwas JavaScript zu schreiben. Lassen Sie uns weitermachen und neue Kommentare in die Datei einfügen. Wir müssen eine Bestätigung beantragen. Dann Ende der Formularvalidierung. Zunächst erstelle ich ein paar verschiedene Variablen, um alle benötigten Elemente auszuwählen. Lassen Sie uns mit einem Formular beginnen, eine neue Variable erstellen und sie Form nennen. Und wählen Sie dann Formularelemente mit der Methode querySelector aus. Geben wir hier das Kontaktformular für den Klassennamen an. Als Nächstes wähle ich das erste Eingabefeld aus. Lassen Sie uns eine neue Variable erstellen und sie Username nennen. In diesem Fall wähle ich die Elemente mithilfe von id aus. Ich meine, ich verwende die Methode get element by ID. Wir müssen hier den ID-Namen angeben. Lassen Sie uns diese Codezeile dreimal duplizieren. Das nächste Eingabefeld wird also für E-Mail sein. Dann haben wir ein Thema. Dann wird die nächste Nachricht sein. Und außerdem wähle ich alle Nachrichten aus. Ich meine die Absätze. Lassen Sie uns also eine neue Variable erstellen, sie Nachrichten nennen und dann mit der Methode Query Selector, all, alle Absätze auswählen Methode Query Selector, all, alle In Ordnung, also sind alle benötigten Variablen vorbereitet. Und als Nächstes werde ich eine Funktion erstellen, wir überprüfen können, ob die Eingabefelder leer sind oder nicht. Lassen Sie uns also eine neue Funktion erstellen. Ich nenne es „Pflichtfelder überprüfen“. Diese Funktion benötigt einen Parameter, der ein Array sein wird. Und es wird alle Eingabefelder enthalten Um also zu überprüfen ob die Eingabefelder leer sind oder nicht, müssen wir zuerst das Array durchgehen. Und dafür verwende ich eine der Array-Hilfsmethoden namens for-each Es wird ein Parameter benötigt. Es wird die Callback-Funktion sein, die selbst einen Parameter übernimmt, die aktuellen Eingabefelder aus dem Array Jetzt müssen wir überprüfen, ob der Wert der Eingabe leer ist oder nicht. Wir müssen also die IF-Anweisung verwenden. Und als Bedingung müssen wir den eingegebenen Punktwert mit der leeren Zeichenfolge vergleichen. Eigentlich reicht der eingegebene Punktwert hier nicht ganz aus, denn wenn wir etwas mit einem Leerzeichen in die Eingabefelder eingeben , wird dieser Leerraum als der Teil des Werts erkannt , den wir nicht benötigen Um solche Dinge zu vermeiden, meine ich, um den Leerraum zu ignorieren, können wir eine der Methoden namens trim verwenden Wenn diese Bedingung zutrifft, müssen wir eine Fehlermeldung anzeigen. Um das zu tun, werde ich eine neue Funktion erstellen. Nennen wir es Fehler. Es werden zwei Parameter benötigt. Das erste werden die Eingabeelemente sein. Was den zweiten betrifft, so wird es eine Botschaft sein. In Ordnung, die Funktion ist also erstellt. Jetzt müssen wir Zugriff auf den Absatz bekommen und diesen Inhalt definieren. Außerdem müssen wir standardmäßig die Fehlermeldung ausblenden und sie anzeigen, sobald wir den Fehler haben. Gehen wir also standardmäßig zur CSS-Datei und zur Höhe der Absätze. Dafür verwende ich Visibility Hidden und Opazität Zero Dann definiere ich eine neue Klasse, die dann dem Absatz hinzugefügt wird , sobald sie beschuldigen, ich nenne es Fehler, dann brauchen wir Nachricht Und eigentlich brauchen wir hier keinen Speicherplatz weil wir diesen Cluster hinzufügen müssen, das Element selbst und nicht seine Eltern. Um die Nachricht anzuzeigen, müssen wir Sichtbarkeit haben. Und auch Opazität eins. Außerdem werde ich Transition verwenden , um die Fehlermeldung reibungslos anzuzeigen. Verwenden wir Opazität mit der Dauer 0,3. Ordnung, jetzt müssen wir diese Klasse zum Absatz hinzufügen Außerdem müssen wir den Textinhalt der Nachricht definieren . Um Zugriff auf den Absatz zu erhalten, verwende ich eine der Eigenschaften, die als nächstes Element Sibling bezeichnet wird, da der Absatz das Schwesterelement des Eingabeelements ist Schwesterelement des Eingabeelements Wir müssen also Punkt als nächstes Element als Geschwisterpunktklassenliste eingeben als nächstes Element als Geschwisterpunktklassenliste Und wir müssen den Klassenfehler zur Klassenliste hinzufügen. Was den TextContent angeht, wird es die Nachricht sein , die wir hier als Parameter verwenden Wir brauchen also den Eingabepunkt neben dem Element Sibling. Zweifle daran, dass TextContent der Masse entspricht. Okay? Die Funktion für die Fehlermeldung ist also bereit. Wir können es unten in der IF-Anweisung aufrufen. Es werden zwei Argumente benötigt. Die erste wird als Eingabe dienen. Was den zweiten betrifft, so wird es die Botschaft sein. Öffnen wir Backticks. Zuerst. Ich gebe dir die Eingabe-ID. Es gibt uns den Namen des Eingabefeldes. Und dann wird der folgende Text sein, ist erforderlich. Okay, also ist alles bereit. Wir müssen nur einen Event-Listener zu den Formularelementen hinzufügen und die Erforderliche Felder überprüfen“ aufrufen Funktion „Erforderliche Felder überprüfen“ aufrufen, sobald wir das Formular abgeschickt Also müssen wir den Add-Event-Listener bilden. Der Veranstaltungstyp wird eingereicht. Außerdem brauchen wir hier eine Callback-Funktion mit Event-Objekt. Als erstes werde ich die Standardaktion des Formulars verhindern. Wir müssen eine Zahlungsunfähigkeit verhindern. Und dann müssen wir die Funktion Check als Pflichtfelder aufrufen . Wie Sie wissen, hat diese Funktion einen Parameter, nämlich das Array der Eingabefelder. Als Argument müssen wir hier also ein Array der Eingabefelder übergeben . Ich meine, wir müssen deinen Benutzernamen weitergeben. E-Mail-Betreff und Nachricht. Ordnung, wenn ich jetzt die Eingabefelder leer lasse und auf die Schaltfläche „Senden“ klicke, erhalten wir Fehlermeldungen Als wenn ich das Eingabefeld ausfülle. Und klicken Sie erneut auf die Schaltfläche Senden, dann wird die Fehlermeldung nicht ausgeblendet. Eigentlich wollen wir das nicht. Wir müssen eine weitere Funktion erstellen, um erfolgreich zu sein, um die Fehlermeldung zu entfernen. Lassen Sie uns also eine neue Funktion erstellen, nennen wir sie Erfolg. Es wird ein Parameter benötigt, es wird die Eingabe sein. In dieser Funktion müssen wir also den Klassenfehler aus dem Absatz entfernen. Wir müssen also mit dem Eingabepunkt auf den Absatz zugreifen . Nächstes Element Geschwister. Dann brauchen wir eine Klassenliste. Und wir müssen den Klassenfehler entfernen. Als Nächstes müssen wir diese Funktion aufrufen sobald das Eingabefeld nicht leer ist. Wir müssen also eine else-Anweisung erstellen und die Funktion success mit der Argumenteingabe aufrufen. In Ordnung? Wenn ich jetzt auf die Schaltfläche „Senden“ klicke, erhalten wir Fehlermeldungen. Und wenn ich das Eingabefeld ertaste und erneut auf die Schaltfläche „Senden“ klicke, dann entfernt die Fehlermeldung den Rest rund um den ersten Teil der Validierung. Wir können überprüfen, ob die Eingabefelder leer sind oder nicht. Jetzt ist es an der Zeit, weiterzumachen und die Länge der Zeichen zu überprüfen , die wir in das Eingabefeld eingeben. Dafür werde ich eine weitere Funktion erstellen. Nennen wir es Check the length. Diese Funktion benötigt zwei Parameter. Der erste wird ebenfalls ein Input sein. Die zweite wird die Mindestanzahl der Zeichen sein . Wenn also die Länge des Werts des Eingabefeldes weniger als die Mindestanzahl von Zeichen beträgt, sollten wir die Fehlermeldung anzeigen. Wir müssen also eine if-Anweisung erstellen , in der wir die Länge des Werts des Eingabefeldes mit der Mindestanzahl der Zeichen vergleichen die Länge des Werts des müssen. Wir müssen also Punkte, Wert, Punkte, drei Punkte, Länge, weniger als min eingeben . Wenn diese Bedingung also zutrifft, müssen wir die Fehlermeldung anzeigen. Daher müssen wir die Fehlerfunktion aufrufen. Wie Sie wissen, sind zwei Argumente erforderlich. Die erste ist die Eingabe. Denn der zweite ist die Botschaft. Also brauchen wir hier die eingegebene Punkt-ID , dann muss die Steuer sein. Wenigstens. Wir müssen hier den Mittelwert des zweiten Parameters übergeben. Und dann brauchen wir Charaktere. Wenn diese Bedingung falsch ist, müssen wir die Erfolgsfunktion aufrufen. Wir brauchen also eine L-Anweisung, als die Funktion erfolgreich mit der Argumenteingabe ist. Okay, endlich müssen wir die Funktion Check Length für alle Eingabefelder außer der E-Mail aufrufen die Funktion Check Length für alle Eingabefelder außer der E-Mail Denn für die E-Mail-Validierung werden wir eine separate Funktion erstellen. Es heißt also Check length. Zuerst für den Benutzernamen. Die Mindestanzahl von Zeichen wird, sagen wir, zwei sein. Lassen Sie uns diese Codezeile zweimal duplizieren. Das nächste Eingabefeld wird Betreff sein. Und dann haben wir Nachricht als Mindestanzahl von Zeichen für die Nachricht. Ich werde zehn bestehen. Ordnung, lassen Sie uns weitermachen und überprüfen, ob alles gut funktioniert Ich werde nur ein Zeichen in den ersten Eingabefeldern beantworten . Wenn ich auf die Schaltfläche „Senden“ klicke, erhalten wir keine Fehlermeldungen. Für das erste Eingabefeld. Das passiert, weil die Else-Anweisung bei der Funktion „ Erforderlicher Kraftstoff überprüfen“ funktioniert. Also müssen wir es loswerden. Wenn ich jetzt noch einmal teste, erhalten wir die richtige Nachricht. Und tatsächlich wird das Gleiche für die restlichen Eingabefelder passieren . In Ordnung, jetzt ist es an der Zeit, sich um die E-Mail-Eingaben zu kümmern. Wie gesagt, wir werden eine separate Funktion erstellen. Nennen wir es, E-Mail checken Diese Funktion benötigt einen Parameter. Es wird der Input sein. Um die E-Mail-Adresse zu validieren, müssen wir also reguläre Ausdrücke verwenden. Eigentlich werde ich sie nicht manuell schreiben, weil sie aus vielen verschiedenen Zeichen bestehen. Und es könnte ziemlich verwirrend sein. Wir können einfach bei Google danach suchen. Suchen wir nach JavaScript, z. B. nach E-Mail Gehen wir zum ersten Link und holen uns diese Variable hier und fügen sie in die Funktion ein. Lassen Sie uns den Namen der Variablen ändern. Ich nenne es reg X. Jetzt müssen wir überprüfen, ob der E-Mail-Eingabewert diesen Anforderungen entspricht, wir müssen if-Anweisungen verwenden, dann müssen wir eine Methode namens test verwenden Hängen wir es an die Variable reg X an. Und als Argument müssen wir hier wieder einen Eingabewert mit der Baummethode übergeben . Wenn das stimmt, dann haben wir Erfolg. Und wenn es falsch ist, brauchen wir L-Anweisungen, bei denen wir die Fehlerfunktion mit Eingaben und mit einer Nachricht aufrufen müssen. E-Mail ist nicht gültig. Okay, schließlich müssen wir diese Funktion mit dem Argument email aufrufen diese Funktion mit dem Argument email Außerdem werde ich den Typ der Eingabeelemente ändern, da HTML, wie Sie wissen, standardmäßig die Validierung für die E-Mail hat. Und eigentlich brauchen wir es gerade nicht. Also hat es den Typ geändert, mach es zu Text. Okay, wenn ich jetzt einige Zeichen eingebe , die nicht wie die E-Mail-Adresse aussehen, erhalten wir eine Fehlermeldung besagt, dass die E-Mail nicht gültig ist. Aber wenn ich hier eintrage, sagen wir mal john@gmail.com, dann bekommen wir keine Fehlermeldungen. In Ordnung, das war's mit der Formularüberprüfung. Bevor wir diese Lektion beenden, werde ich noch eine Sache machen wie Sie es sehen. Sobald wir die Eingaben fokussieren , werden die zuvor eingegebenen Zeichen angezeigt. Um es zu deaktivieren, können wir eines der Attribute namens Autocomplete mit einem Wert verwenden Autocomplete mit einem Wert Okay, jetzt kann es sehen, dass alles perfekt aussieht. Lass uns weitermachen. 28. Website-Hosting auf Netlify: Ordnung, in der vorherigen Vorlesung haben wir unser Formular und den Inhaltsbereich validiert Und jetzt ist es, wie gesagt, an der Zeit, unsere Website zu hosten und live zu machen. Um dies zu tun, werden wir einen der beliebtesten und am häufigsten verwendeten Dienste namens Netlify verwenden beliebtesten und am häufigsten verwendeten Dienste namens Netlify Es ist heute ein wirklich großartiges Tool. Sie können ein kostenloses Konto mit vielen verschiedenen Funktionen haben und Ihre Website ganz einfach hosten. Sie können auch ein Pro-Konto mit einigen zusätzlichen Funktionen haben . Als erstes muss ich mich auf der Website registrieren. Wie Sie sehen, gibt es verschiedene Möglichkeiten, sich anzumelden. Sie können sich also Zeit nehmen und sich registrieren. Wir haben uns bereits angemeldet, also werde ich keine Zeit damit verschwenden , weil es ein einfacher Vorgang ist. Im Moment haben wir hier also keine gehosteten Websites. Ich werde das Schritt für Schritt mit dir machen. Das erste, was ich tun werde, ist, die allgemeine Eingabeaufforderung zu öffnen und sie als Administrator auszuführen. Eigentlich müssen Sie, wenn Sie einen Mac verwenden, das Schlüsselwort sudo um die Befehle als Administrator auszuführen, dann müssen wir auf die Projekte zugreifen In unserem Fall wird das Projekt auf dem Desktop platziert. Also müssen wir zuerst diese beiden Ordner verlassen. Ich werde die Stadt mit einem Schrägstrich leiten. Und dann brauchen wir den Pfad des Ordners. Wenn Sie den Teil des Projektordners nicht kennen, können Sie den Terminal-Interviewcode öffnen und der Teil des Projekts wird Ihnen automatisch angezeigt. Ich kopiere den Pfad. Tatsächlich bestehen in meinem Fall alle vier Ordinalnamen aus nur einem Wort Wenn Sie die Ordnernamen jedoch mit mehreren Wörtern haben, müssen Sie sie in Anführungszeichen setzen. Gehen wir zum Projektordner. Jetzt müssen wir Netlify mit dem Node-Paketmanager npm installieren dem Node-Paketmanager Dafür sollten Sie Node JS installiert haben. Andernfalls können Sie npm nicht verwenden. Um NodeJS zu installieren, müssen Sie zu Node js.org gehen Laden Sie dann eine der Versionen von hier herunter und installieren Sie sie. Sobald Sie die Datei Node.JS installiert haben, können Sie einen Node Package Manager verwenden. Um Netlify zu installieren, müssen Sie also den folgenden Befehl ausführen, npm I, der für install, dash g, Netlify, CLI steht dash g, Netlify, CLI Es wird einige Zeit dauern. Sobald es installiert ist, müssen wir eine Konfigurationsdatei namens Netlify dots TO und l erstellen Netlify dots TO und . Das ist also eine Konfigurationsdatei angibt , wie nullify erstellt In dieser Datei müssen wir den Build-Ordner angeben. Und dann müssen wir ein Verzeichnis definieren , das die Deploy-Ready-HTML-Datei enthält. In unserem Fall haben wir hier keinen separaten Ordner für unsere HTML-Datei. Wir können das Verzeichnis also einfach auf folgende Weise angeben . Wir müssen veröffentlichen, um den Punkt mit Anführungszeichen zu erreichen. Okay? Der nächste Schritt ist die Initialisierung von Netlify Dafür müssen wir Netlify darin ausführen. Jetzt werden Sie aufgefordert, die Website manuell zu erstellen und bereitzustellen oder das Verzeichnis zuerst mit GitHub zu verbinden Im Moment werde ich mich dafür entscheiden, diese Site manuell zu erstellen und bereitzustellen. Dann fragt es nach dem Namen des Teams. Sie müssen die obere Pfeiltaste und die Eingabetaste verwenden. Der nächste Schritt ist der Name der Site. Sie können es entweder für einen zufälligen Namen leer lassen und nullify generiert ihn für Sie Oder Sie können einen eindeutigen Namen verwenden. In unserem Fall rufe ich den Site-Code auf und erstelle eine Portfolio-Website. Wenn wir nun unsere Projekte überprüfen, finden Sie hier einen neuen Ordner namens Netlify, in dem wir eine JSON-Datei haben die die eindeutige ID unserer Website enthält Richtig? Wenn wir die Seite nun neu laden, kommen wir hier, unsere Portfolio-Website im Seitenbereich. Als Nächstes müssen wir Netlify ausführen, bereitstellen. Es wird uns einen URL-Entwurf geben. Und wenn Sie der Meinung sind, dass auf Ihrem URL-Entwurf alles gut aussieht , können Sie Netlify ausführen, dash, prod bereitstellen Schließlich erhalten wir hier die URL der Website. Wenn wir zu dieser URL gehen, sehen wir unsere Website live im Browser, sodass jeder darauf zugreifen kann. Ordnung, sobald die Website live ist, werde ich jetzt dafür sorgen, dass das Formular funktioniert Ich meine, sobald wir die Informationen in die Eingabefelder eingegeben und das Formular abgeschickt haben, sollten wir es auf unserem Netlify-Dashboard erhalten Werfen wir einen Blick auf die Formulardokumentation. Ich werde nach Netlify-Formularen suchen Hier haben wir also die Dokumentation Sie können es sich ansehen und lernen, wie Sie die Formulare einrichten. Gehen wir zur Datei index.html. Wir müssen hier noch ein paar Dinge tun. Wir müssen den Formularelementen zwei Attribute hinzufügen. Die erste wird Action sein. Mit einem Wert, der veröffentlicht wird, als wir brauchen, verstärken Daten den wahren Wert Als Nächstes müssen wir jedem Eingabeelement und auch dem Textbereich ein Namensattribut hinzufügen . Der erste wird Name sein, dann benötigen wir E-Mail. Der nächste wird Thema sein. Und schließlich brauchen wir eine Nachricht. In Ordnung, das war's mit dem HTML. Als Nächstes müssen wir auch in der JavaScript-Datei einige Dinge tun . Im Moment haben wir hier die Standardfunktion zum Verhindern , mit der wir kein Formular einreichen können. Wir müssen dafür sorgen, dass diese Methoden nur funktionieren , wenn wir den Fehler haben. Um das zu tun, erstelle ich eine neue Variable. Nennen wir es nicht gültig. Um herauszufinden, ob wir einen Fehler haben oder nicht, müssen wir die Nachrichten durchsehen. Sobald wir herausgefunden haben, ob die Fehlermeldung vorhanden ist, müssen wir die Funktion preventDefault ausführen Zuallererst müssen wir Nachrichten in ein Array transportieren, da es sich im Moment um eine Knotenliste handelt. Also brauchen wir Array Punkt von und wir müssen deine Nachrichten weiterleiten. Dann verwende ich eine der Array-Hilfsmethoden namens find Diese Methode unterbricht den Kreislauf, sobald die Bedingung, die ich hier bestehen werde, erfüllt ist. Also müssen wir mit einer Callback-Funktion suchen, die einen Parameter annimmt und es wird die aktuelle Nachricht im Array sein Wenn die Nachricht also einen Klassenfehler enthält, bedeutet dies, dass wir eine Fehlermeldung haben. Wir müssen also überprüfen, ob Nachrichtenklassenliste einen Klassenfehler enthält. Sobald wir die Fehlermeldung haben, müssen wir die Funktion preventDefault ausführen Dafür verwende ich eine bedingte Aussage. Wir brauchen nicht gültig, gefolgt vom logischen Operator und. Und dann müssen wir den Zahlungsausfall verhindern. Okay, endlich müssen wir von hier aus die präventive Fußfunktion loswerden von hier aus die präventive Fußfunktion Außerdem müssen wir unsere Website mit neu hinzugefügtem Code aktualisieren . Dafür müssen wir wieder Netlify, Deploy Dash, Dash Prod ausführen Netlify, Deploy Dash, Dash Prod Jetzt ist die Website aktualisiert und wir müssen das Formular ausfüllen. Klicken Sie nun auf die Schaltfläche Senden. Wie Sie sehen, haben wir hier eine kleine Nachricht erhalten , die uns mitteilt, dass das Formular eingereicht wurde. Wenn wir das Dashboard überprüfen, erhalten wir die Informationen , die wir gerade übermittelt haben. Also funktioniert alles gut. Und tatsächlich haben wir die Arbeit an unserem Projekt abgeschlossen. Ich hoffe, es war interessant und hilfreich und Sie werden einige neue Dinge lernen , die Ihnen helfen werden, Ihre eigene persönliche Portfolio-Website zu erstellen die modern, schön und professionell aussieht und nur mit reinem HTML, CSS und JavaScript verwendet wird schön und professionell aussieht und nur mit . In Ordnung, ich hoffe, Ihnen hat dieser Kurs gefallen. Danke, dass du bei uns bist. Wünsche dir alles Gute. Tschüss.