Exemple popup modal CSS
Utilisez Pure CSS pour implémenter des fenêtres pop-up modales pour contrôler les cases à cocher visibles et cachées. 1. Utilisez l'entrée [Type = "Checkbox"] comme commutateur d'état; 2. Utiliser: coché .Modal pour contrôler l'affichage des boîtes modales; 3. Utilisez l'étiquette [pour] pour déclencher la vérification pour atteindre et désactiver; 4. Ajouter une animation @keyframes pour réaliser l'effet pop-up fondu; 5. Le bouton Fermer ou la zone de clic masque dans la boîte modale peut être lié à l'étiquette de contrôle caché. L'ensemble du processus ne nécessite pas de JavaScript, est très compatible et accessible et convient aux pages statiques ou aux scénarios interactifs légers.
Une fenêtre popup modale purement implémentée CSS (popup modal) peut contrôler la visible et cachée via :target
ou label
checkbox
sans utiliser JavaScript. Vous trouverez ci-dessous un exemple de boîte modale CSS simple, pratique et réutilisable, en utilisant des cases à cocher cachées pour contrôler l'affichage et fermer pour une expérience plus stable.

✅ Exemple de popup modal CSS pur
<! Doctype html> <html lang = "zh"> <adal> <meta charset = "utf-8" /> <Title> Exemple de popup modal CSS </TITAL> <style> / * Réinitialisation de base * / * { marge: 0; rembourrage: 0; Dimensionnement en boîte: Border-Box; } corps { Font-Family: Arial, Sans-Serif; Color d'arrière-plan: # F4F4F4; rembourrage: 20px; } / * Style bouton * / .btn-open { rembourrage: 10px 18px; Color en arrière-plan: # 007BFF; Couleur: blanc; Border: aucun; Border-Radius: 4px; curseur: pointeur; taille de police: 16px; } / * Masque d'arrière-plan modal * / .modal { Affichage: aucun; Position: fixe; en haut: 0; à gauche: 0; Largeur: 100%; hauteur: 100%; Color d'arrière-plan: RGBA (0, 0, 0, 0,5); Justification-contenu: centre; Align-Items: Centre; Z-Index: 1000; } / * cocher la boîte de contrôle Affichage de la boîte modale et cachée * / # modal-toggle { Affichage: aucun; } # modal-toggle: vérifié .modal { Affichage: flex; } / * Boîte de contenu modale * / .modal-contenu { Contexte: blanc; Largeur: 90%; largeur maximale: 500px; rembourrage: 20px; Border-Radius: 8px; Box-Shadow: 0 4px 15px RGBA (0, 0, 0, 0,2); Position: relative; Animation: Fadein 0.3s Spoche-Out; } / * Bouton Fermer * / .Modal-Close { Position: absolue; En haut: 10px; À droite: 15px; taille de police: 24px; Couleur: #AAA; Décoration du texte: aucune; hauteur de ligne: 1; curseur: pointeur; } .Modal-Close: Hover { Couleur: # 000; } / * effet d'animation * / @keyframes fadein { depuis { Opacité: 0; transformée: échelle (0,9); } à { Opacité: 1; transformée: échelle (1); } } </ style> </ head> <body> <! - Bouton de déclenchement -> <étiquette pour = "modal-toggle" class = "btn-open"> Ouvrez la boîte modale </ labe> <! - Box cachée -> <input type = "checkbox" id = "modal-toggle" /> <! - Boîte modale -> <div class = "modal"> <div class = "modal-content"> <a href = "#" class = "modal-close" onclick = "document.getElementyid ('modal-toggle'). checked = false;"> × </a> <h2> Titre de la boîte modale </h2> <p> Ceci est le contenu de la boîte modale. Vous pouvez ajouter des formulaires, des images ou d'autres contenus. </p> <étiquette pour = "modal-toggle" style = "margin-top: 10px; affichage: bloc en ligne; padding: 8px 12px; arrière-plan: # 6c757d; couleur: blanc; border-radius: 4px; curseur: pointeur;"> clôture </ label> </div> </div> </docy> </html>
? Description des points clés
- Non JavaScript Visible et Control implicite : Utilisez
<input type="checkbox" id="modal-toggle">
et:checked .modal
pour contrôler l'affichage. - Cliquez sur la zone extérieure du masque pour fermer : vous pouvez ajouter un pseudo-élément au
.modal
ou écouter le clic de l'étiquette, mais dans ce cas, il est plus sûr de fermer avec le lien ou le bouton "Fermer". - Animation de prise en charge : utilisez
@keyframes
pour réaliser l'effet pop-up fondu. - Accessibilité :
label[for]
améliore la convivialité et la sémantique claire.
✅ Améliorations facultatives
- Cliquez sur la couche de masque pour fermer: vous pouvez ajouter une
label
.modal
pour couvrir la couche d'arrière-plan,for="modal-toggle"
. - Utilisation
:target
la cible est plus simple, mais l'URL change (comme#modal
) et ne convient pas à tous les scénarios.
? Conseils
- Si vous voulez une manière plus moderne, vous pouvez combiner
prefers-reduced-motion
pour éviter l'inconfort des animations sur les utilisateurs sensibles. - N'oubliez pas d'ajouter
overflow-y: auto
pour empêcher le contenu de déborder.
Fondamentalement, tout ce qui est, non compliqué mais assez pratique. Vous pouvez copier ce code dans un fichier HTML et exécuter directement le test.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

1. Binance est connue pour son énorme volume de transactions et ses paires de trading riches. Il fournit des modèles de trading diversifiés et des écosystèmes parfaits. Il garantit également la sécurité des actifs des utilisateurs via les fonds SAFU et les technologies de sécurité multiples et attache une grande importance aux opérations conformes; 2. OKX OUYI fournit un large éventail de services de trading d'actifs numériques et de modèles de comptes de trading unifiés, déploie activement le domaine Web3 et améliore la sécurité et l'expérience des transactions grâce à un contrôle des risques strict et à l'éducation des utilisateurs; 3. Gate.io Sesame ouvre la porte et a une bonne vitesse de devise et une monnaie riche, fournit des outils de trading diversifiés et des services à valeur ajoutée, adopte plusieurs mécanismes de vérification de sécurité et adhère à la transparence des réserves d'actifs pour améliorer la confiance des utilisateurs; 4. Huobi fournit des services d'actifs numériques à guichet unique avec une accumulation profonde de l'industrie, avec une forte profondeur de transaction et

Les unités VW et VH obtiennent une conception réactive en associant des tailles d'élément avec la largeur et la hauteur de la fenêtre; 1VW est égal à 1% de la largeur de la fenêtre et 1VH est égal à 1% de la hauteur de la fenêtre; couramment utilisé dans la zone pleine écran, les polices réactives et l'espacement élastique; 1. Utilisez 100VH ou mieux 100dvh dans la zone en plein écran pour éviter l'influence de la barre d'adresse du navigateur mobile; 2. 3. Espacement élastique comme la largeur: 80vw, marge: 5Vhauto, rembourrage: 2VH3VW, peut rendre la disposition adaptable; Faites attention à la compatibilité des appareils mobiles, à l'accessibilité et aux conflits de contenu de largeur fixe, et il est recommandé de donner la priorité à l'utilisation d'abord de DVH;

Utilisez une div avec bordure pour créer rapidement des lignes verticales et définissez des styles et des hauteurs en fixant la bordure-gauche et la hauteur; 2. Utiliser :: avant ou :: après des pseudo-éléments pour ajouter des lignes verticales sans étiquettes HTML supplémentaires, adaptées à la séparation décorative; 3. Dans la disposition de Flexbox, en réglant la largeur et la couleur d'arrière-plan de la classe de diviseur, les séparateurs verticaux adaptatifs entre les conteneurs élastiques peuvent être obtenus; 4. Dans CSSGrid, insérez les lignes verticales sous forme de colonnes indépendantes (telles que les colonnes auto-idgeth) en disposition de la grille, qui convient à la conception réactive; La méthode la plus appropriée doit être sélectionnée en fonction de la mise en page spécifique pour s'assurer que la structure est simple et facile à entretenir.

ThecsssfilterPropertyAllowsVisualEffectslikeBlur, Brightness et GrayscaletobeAppliedDirectlyToHtMlelements.1) usethesyntaxfilter: filter-function (valeur) toapplyeffects.2) combinemultipleFilterSwithSpacesparation, e.g., Blur (2px) Brightness (70%).

La pseudo-classe CSS est un mot-clé utilisé pour définir l'état spécial d'un élément. Il peut appliquer dynamiquement des styles en fonction de l'interaction utilisateur ou de l'emplacement du document; 1.: Hover est déclenché lorsque la souris est en plane, comme le bouton: le volant modifie la couleur du bouton; 2.: Focus prend effet lorsque l'élément se concentre, améliorant l'accessibilité du formulaire; 3.: lent-enfant () sélectionne les éléments par position, soutenant des formules étranges, même ou des formules telles que 2n 1; 4.: d'abord-enfant et: dernier-enfant sélectionnez les premiers et derniers éléments enfants respectivement; 5.: Non () exclut les éléments qui correspondent aux conditions spécifiées; 6.: Visité et: Styles de définition des liens basés sur l'état d'accès aux liens, mais: Visité est limitée par la confidentialité.

La méthode la plus courante et recommandée pour supprimer les classes CSS des éléments DOM à l'aide de JavaScript est via la méthode Suppor () de la propriété ClassList. 1. Utilisez Element.ClassList.Remove ('ClassName') pour supprimer en toute sécurité une seule ou plusieurs classes, et aucune erreur ne sera signalée même si la classe n'existe pas; 2. La méthode alternative consiste à utiliser directement la propriété ClassName et à supprimer la classe par remplacement de chaîne, mais il est facile de causer des problèmes en raison d'une correspondance régulière ou d'un traitement d'espace incorrect, donc il n'est pas recommandé; 3. Vous pouvez d'abord juger si la classe existe, puis la supprimer via element.classList.Contains (), mais ce n'est généralement pas nécessaire; 4.Classlist

Lorsque vous utilisez des sélecteurs CSS, les sélecteurs à faible spécifiquement spécifique doivent être utilisés en premier pour éviter les limitations excessives; 1. Comprendre le niveau de spécificité et les utiliser raisonnablement dans l'ordre de type, de classe et d'ID; 2. Utilisez des noms de classe polyvalents pour améliorer la réutilisabilité et la maintenabilité; 3. Utilisez des attributs et des sélecteurs de classe pseudo pour éviter les problèmes de performances; 4. Gardez le sélecteur court et clair; 5. Utiliser BEM et d'autres spécifications de dénomination pour améliorer la clarté structurelle; 6. Évitez les abus de sélecteurs de balises et: nième-enfant, et donnez la priorité à l'utilisation de classes d'outils ou de CSS modulaires pour s'assurer que le style est contrôlable pendant longtemps.

CLAMP () incSSenablesFluid, ResponsiveTypographyBysettingAvaluebetweenaminimum, Preferred, andmaximumSize; 1.Serclamp (min, préféré, max) todéfinescalablefontsize; 2.setminandMaxinremForAccessibility; 3.UsevwintrefredValuewitharEMOffsetforsMoothscaleding; 4
