Wie erstelle ich ein animiertes Modalfenster mit CSS?
Verwenden Sie versteckte Kontrollkästchen und: Überprüfung der Pseudoklasse, um den Status des modalen Kontrollkästchens zu steuern. 2. Klicken Sie hier, um die Label Association zu öffnen und zu schließen. 3. Verwenden Sie CSS-Übergang oder @KeyFrames, um eine Fade-In-Zoomanimation zu erreichen. 4. Setzen Sie Zeiger-Events, um sicherzustellen, dass das Klicken auf die Maske geschlossen werden kann. 5. ESC -Schlüssel kann in reinem CSS nicht geschlossen werden. Diese Methode erfordert kein JavaScript, ist leicht und kompatibel mit modernen Browsern und für einfache Projekte oder Lernzwecke geeignet.
Das Erstellen eines CSS-animierten Modalfensters ist mit nur HTML und CSS vollständig machbar-kein JavaScript erforderlich. Der Trick besteht darin, den :target
oder Kontrollkästchen mit :checked
auf die Sichtbarkeit zu verwenden, kombiniert mit CSS -Übergängen oder Animationen auf reibungslose Effekte.

Hier erfahren Sie, wie Sie einen Schritt für Schritt einen Schritt erstellen:
✅ :target
.
Da wir JavaScript nicht verwenden können, brauchen wir einen Weg, uns an den Status des Modals zu erinnern. Zwei gemeinsame Methoden:

-
:target
- Verwendet URL -Fragment -Identifikatoren (z. B.#modal
) - Kontrollkästchen Hack - verbirgt ein Kontrollkästchen und stilft seinen
:checked
Status
Wir werden die Checkbox-Methode verwenden, da sie ein reibungsloseres Verhalten und eine bessere Kontrolle ermöglicht.
HTML -Struktur:
<!-verstecktes Kontrollkästchen zur Steuerung des modalen Status-> <input type = "checkbox" id = "modal toggle" class = "modal toggle"> <label für = "modal-toggle" class = "modal-open-btn"> modal </label> öffnen <!-Modal-> <div class = "modal"> <Label für = "Modal-Toggle" class = "modal-overlay"> </label> <div class = "modal content"> <Label für = "Modal-Toggle" class = "modal-close"> & times; </label> <h2> Modal -Titel </h2> <p> Dies ist Ihr animierter modaler Inhalt. </p> </div> </div>
Das Kontrollkästchen fungiert als Umschalter. Klicken Sie auf das Etikett (
modal-open-btn
) oder schließen Elemente das Kontrollkästchen, das wir bedingt stylen.
✅ 2. styal das Modal mit CSS -Animation
Wenden Sie nun Stile an, um es animiert und visuell ansprechend zu machen.
Kern -CSS:
/ * Verstecken das Kontrollkästchen */ .Modal-Toggle { Anzeige: Keine; } / * Modale Basis: standardmäßig versteckt */ .modal { Deckkraft: 0; Sichtbarkeit: versteckt; Position: fest; Top: 0; links: 0; Breite: 100%; Höhe: 100%; Zeiger-Events: Keine; Übergang: Deckkraft von 0,3s Leichtigkeit; } / * Modal Overlay (Hintergrund dim) */ .modal-overlay { Position: absolut; Top: 0; links: 0; Breite: 100%; Höhe: 100%; Hintergrundfarbe: RGBA (0, 0, 0, 0,5); } / * Modal Content Box *// .Modal-Inhalt { Position: absolut; Top: 50%; Links: 50%; Transformation: Translate (-50%, -50%) Skala (0,8); Breite: 90%; Max-Breite: 500px; Hintergrund: weiß; Polsterung: 30px; Border-Radius: 10px; Box-Shadow: 0 4px 20px RGBA (0,0,0,0,2); Übergang: 0,3S -Leichtigkeit; } / * Schaltfläche schließen */ .modal-close { Position: absolut; Top: 10px; Rechts: 15px; Schriftgröße: 28px; Cursor: Zeiger; Farbe: #aaa; } .modal-close: hover { Farbe: #000; } / * Modal anzeigen, wenn das Kontrollkästchen aktiviert ist */ .Modal-Toggle: Checked .modal { Deckkraft: 1; Sichtbarkeit: sichtbar; Zeiger-Events: Auto; } .Modal-Toggle: überprüft .modal .modal-content { Transformation: Translate (-50%, -50%) Skala (1); }
Die
pointer-events: none
auf dem Modal- undpointer-events: auto
wenn aktiv sicherstellt, dass das Overlay das Modal schließen (über das Etikett).
✅ 3.. Fügen Sie Eingangs- und Ausgangsanimationen hinzu
Willst du mehr Flair? Ersetzen Sie transition
durch eine vollständige @keyframes
-Animation.
Beispiel: Fade & scale Animation
@keyframes modal-in { 0% { Deckkraft: 0; Transformation: Translate (-50%, -50%) Skala (0,7); } 100% { Deckkraft: 1; Transformation: Translate (-50%, -50%) Skala (1); } } @keyframes modal-out { 0% { Deckkraft: 1; Transformation: Translate (-50%, -50%) Skala (1); } 100% { Deckkraft: 0; Transformation: Translate (-50%, -50%) Skala (0,8); } } / * Animation nur beim Öffnen anwenden */ .Modal-Toggle: überprüft .modal .modal-content { Animation: Modal-in 0,3s vorwärts; } / * Optional: Animate Out - Tricky ohne JS, funktioniert aber bei der Nähe, wenn Sie sich umkehren */ .Modal-Inhalt { Animation: Keine; }
HINWEIS: Da CSS die Animationen nicht einfach im Uneingeschränkten umkehren können, ist die Verwendung
transition
oft reibungsloser als der Versuch, das Schließen zu animieren.
✅ 4. Optional: Schließen Sie Overlay oder ESC (teilweise)
- Overlay-Klick : bereits über
<label for="modal-toggle" class="modal-overlay"></label>
gehandhabt. - ESC -Schlüssel : Kann nicht in reinem CSS behandelt werden. Sie würden JS für die Tastaturunterstützung benötigen.
✅ Zusammenfassung: Schlüsselpunkte
- Verwenden Sie ein verstecktes Kontrollkästchen und
:checked
, um den Status zu simulieren. - Verwenden Sie
label
, um offen/schließen zu lösen. - Animate mit
transition
oder@keyframes
. - Verwenden Sie
pointer-events
, um das Klickverhalten im Hintergrund zu steuern. - Keine Tastaturunterstützung (ESC) ohne JavaScript.
Diese Methode ist leicht, für die grundlegende Verwendung zugänglich und funktioniert in modernen Browsern. Es ist perfekt für einfache Projekte oder das Erlernen von CSS -Logik.
Grundsätzlich verbinden Sie das Kontrollkästchen einfach mit Beschriftungen und beleben Sie das Erscheinungsbild. Nicht Magie - nur clevere CSS.
Das obige ist der detaillierte Inhalt vonWie erstelle ich ein animiertes Modalfenster mit CSS?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

VW- und VH -Einheiten erreichen reaktionsschnelles Design, indem sie Elementgrößen mit Ansichtsfenster und Höhe in Verbindung bringen. 1 VW entspricht 1% der Ansichtsfensterbreite, und 1 VH entspricht 1% der Ansichtsfensterhöhe; häufig im Vollbildbereich, reaktionsschnellen Schriftarten und elastischen Abstand verwendet; 1. Verwenden Sie im Vollbildbereich 100VH oder besser 100DVH, um den Einfluss der Mobile Browser -Adressleiste zu vermeiden. 2. Responsive Schriftarten können mit 5 VW begrenzt und mit einer Klemme (1,5REM, 3VW, 3REM) in Kombination der minimalen und maximalen Größe begrenzt werden. 3. Elastischer Abstand wie Breite: 80VW, Rand: 5VHAUTO, Polsterung: 2VH3VW, kann das Layout anpassungsfähig machen; Achten Sie auf Kompatibilität, Zugänglichkeit und Inhaltskonflikte für mobile Geräte. Es wird empfohlen, zuerst DVH zu verwenden.

Thespect-ratiocsSpropertydefinästhespen-to-hweigthtratioofanelemente, sicherzustellen, dass die Verbreitung von Verantwortung durchgesetzt wird

Die: Leerepseudo-KlasseSelectSselementsWithnochildrenorContent, einschließlich Spacesorcomponenten, SoonlyTryEmptyElementslikematchit; 1.itcanhideemptyContainersByusing: leer {display: none;} tocleanuPlayouts; 2.itallowsaddingPlaceLylingsSylingvise :::.

Verwenden Sie einen DIV mit Rand, um schnell vertikale Linien zu erstellen und Stile und Höhen zu definieren, indem Sie randlinks und Höhe einstellen. 2. Verwendung :: vor oder :: Nach Pseudoelementen, um vertikale Linien ohne zusätzliche HTML-Tags hinzuzufügen, die für die dekorative Trennung geeignet sind; 3. In Flexbox -Layout können adaptive vertikale Trennwände zwischen elastischen Behältern erreicht werden, indem die Breite und die Hintergrundfarbe der Trennklasse festgelegt werden. 4. Fügen Sie in CSSGrid vertikale Linien als unabhängige Spalten (z. B. Autowidth -Spalten) in das Gitterlayout ein, das für reaktionsschnelles Design geeignet ist. Die am besten geeignete Methode sollte gemäß dem spezifischen Layout ausgewählt werden, um sicherzustellen, dass die Struktur einfach und leicht zu warten ist.

Die CSS-Pseudo-Klasse ist ein Schlüsselwort, mit dem der spezielle Zustand eines Elements definiert wird. Es kann dynamisch Stile anwenden, basierend auf Benutzerinteraktion oder Dokumentenort. 1.: Hover wird ausgelöst, wenn die Maus schwebt, z. B. die Taste: HOVER ändert die Knopffarbe. 2.: Fokus wirkt sich in Wirksamkeit, wenn das Element den Fokus erhält und die Zugänglichkeit verbessert. 3.: nt-child () wählt Elemente nach Position aus und unterstützt ungerade, sogar oder Formeln wie 2n 1; 4.: Erstkind und: Last-Kind Wählen Sie die ersten bzw. letzten Kinderelemente aus; 5.:Not () schließt Elemente aus, die den angegebenen Bedingungen entsprechen; 6.: Besuchen und: Link -Set -Stile basierend auf dem Linkzugriffsstatus, aber: Besucht wird durch Privatsphäre eingeschränkt.

ThecssFilterPropertyAllowsvisualeffects-ähnlich, Helligkeit und GryscaletobeAppliedDirecttoHtmlelements.1) Usethesyntaxfilter: Filterfunktion (Wert) toappyeffects.2) Kombination

Um einen Gla-Mimikry-Effekt von CSS zu erzeugen, müssen Sie Backdrop-Filter verwenden, um Hintergrundunschärfe zu erzielen, einen durchscheinenden Hintergrund wie RGBA (255,255,255,0.1) festzulegen, subtile Grenzen und Schatten hinzuzufügen, um das Gefühl der Hierarchie zu verbessern, und sicherzustellen, dass der visuelle Inhalt hinter den Elementen genügend visuelle Inhalt gibt. 1. Verwenden Sie Backdrop-Filter: Blur (10px), um den Hintergrundinhalt zu verwischen; 2. Verwenden Sie RGBA oder HSLA, um den transparenten Hintergrund zu definieren, um den Grad der Transparenz zu steuern. 3. Fügen Sie 1pxsolidrgba (255.255.255,0,3) Grenzen und Box-Shadow hinzu, um die dreidimensionale zu verbessern. V. 5. Es ist mit alten Browsern kompatibel

Verwenden Sie CSS, um gepunktete Grenzen zu erstellen, und stellen Sie einfach das Grenzattribut auf gepunktete fest. Zum Beispiel kann "Border: 3PXDotted#000" dem Element einen 3-Pixel-schwarzen Punktrand hinzufügen. Durch die Einstellung der Randbreite kann die Größe des Punktes geändert werden. Die breiteren Grenzen erzeugen größere Punkte. Sie können gepunktete Grenzen für eine bestimmte Seite festlegen, z. B. "Border-Top: 2PXDottedRed". Gepunktete Grenzen eignen sich für Elemente auf Blockebene wie Div und Eingabe. Sie werden häufig in Fokuszuständen oder bearbeitbaren Bereichen verwendet, um die Zugänglichkeit zu verbessern. Achten Sie auf Farbkontrast. Gleichzeitig präsentiert Dotted eine kreisförmige Punktform. Diese Funktion wird in allen Mainstream -Browsern häufig verwendet.
