Utilisez des cases à cocher cachées pour contr?ler l'état du menu; 2. Positionnez le menu hors écran par défaut via CSS; 3. Utilisez des sélecteurs vérifiés et des frères pour développer l'effet; 4. Ajouter une transition pour réaliser une animation en douceur; 5. Contenu poussé en option ou ajouter des masques pour améliorer l'expérience utilisateur. Cette méthode peut réaliser un menu de barres latéraux CSS léger et efficace sans JavaScript, ce qui convient aux sites Web simples ou aux scénarios d'apprentissage, complet et efficace.
La création d'un menu hors canalisation avec CSS est un moyen propre et efficace d'économiser de l'espace, en particulier sur les appareils mobiles, tout en offrant une navigation facile. Vous pouvez le construire en utilisant uniquement HTML et CSS (pas de JavaScript requis pour les fonctionnalités de base), en tirant parti des transformations et des cases à cocher pour la baisse.

Voici comment le faire étape par étape:
? 1. Structure HTML de base
Commencez par une disposition simple: un bouton à bascule, une zone de contenu principale et la barre latérale hors canalisation.

<input type = "checkbox" id = "menu-toggle" class = "menu-toggle"> <étiquette pour = "menu-toggle" class = "menu-button"> ? </ labe> <nav class = "off-canvas-menu"> <ul> <li> <a href = "#"> Accueil </a> </li> <li> <a href = "#"> à propos de </a> </li> <li> <a href = "#"> Services </a> </li> <li> <a href = "#"> Contact </a> </li> </ul> </ nav> <Main class = "Main-content"> <h1> Contenu de votre site Web </h1> <p> Cliquez sur l'ic?ne du menu pour ouvrir la navigation hors canalisation. </p> </-main>
Nous utilisons une case à cocher cachée (
menu-toggle
) pour contr?ler l'état du menu via CSS. L'étiquette agit comme le bouton à bascule.
? 2. Styliser le menu hors canapé avec CSS
L'idée clé est de positionner le menu hors écran par défaut et de le faire glisser en utilisant transform
.

/ * Réinitialiser les styles de base * / corps { marge: 0; Font-Family: Arial, Sans-Serif; Overflow-X: Hidden; / * Empêcher le défilement horizontal * / } .Menu-Toggle { Affichage: aucun; / * Caché mais fonctionnel * / } .Menu-bouton { Position: fixe; En haut: 10px; Gauche: 10px; Contexte: # 333; Couleur: blanc; rembourrage: 10px; curseur: pointeur; Border-Radius: 4px; Z-Index: 3; } / * Menu hors canaux * / .off-canvas-menu { Position: fixe; en haut: 0; à gauche: 0; Largeur: 250px; hauteur: 100%; Contexte: # 222; Couleur: blanc; Transform: Translatex (-100%); / * Caché par défaut * / transition: transformer 0,3 s facilité; Z-Index: 2; Tableau de rembourrage: 60px; } .off-canvas-menu ul { Style de liste: aucun; rembourrage: 0; marge: 0; } .off-canvas-menu a { Affichage: bloc; rembourrage: 15px 20px; Couleur: blanc; Décoration du texte: aucune; Border-Bottom: 1px solide # 444; } .off-canvas-menu A: Hover { Contexte: # 444; } / * Contenu principal * / . rembourrage: 20px; transition: transformer 0,3 s facilité; }
? 3. Basculer le menu à l'aide du piratage de la case à cocher
Utilisez la pseudo-classe :checked
pour déclencher l'apparence du menu lorsque la case est basée.
/ * Afficher le menu lorsque la bo?te à cocher est cochée * / .Menu-toggle: vérifié ~ .off-canvas-menu { transformée: tradlatex (0); / * Glisser dans * / } / * Facultatif: appuyez sur le contenu principal lorsque le menu est ouvert * / .Menu-toggle: vérifié ~ .main-content { transform: tradlatex (250px); }
Le
~
(combinateur de frères généraux) nous permet de styliser des éléments qui viennent après la case à cocher dans le DOM.
? 4. Facultatif: ajouter une superposition ou un comportement réactif
Pour un meilleur UX, vous voudrez peut-être diminuer l'arrière-plan lorsque le menu est ouvert.
/ * Ajouter une superposition semi-transparente * / .Menu-toggle: vérifié ~ .main-content :: avant { contenu: ''; Position: fixe; en haut: 0; à gauche: 0; à droite: 0; en bas: 0; Contexte: RGBA (0, 0, 0, 0,5); Z-Index: 1; }
Cette superposition aide également à fermer le menu lorsque vous cliquez sur (depuis que cliquez en dehors du menu déclenche l'étiquette ou le corps, décochez l'entrée).
? Résumé des points clés
- Utilisez une case à cocher cachée comme état à bascule.
- Positionnez le menu hors écran avec
transform: translateX(-100%)
. - Utilisation
:checked
et s?urs pour déclencher l'effet de diapositive . - Ajoutez des transitions lisses avec
transition
. - Puyez éventuellement le contenu ou ajoutez une superposition pour un meilleur UX.
Cette méthode est légère et fonctionne sans javascript. Alors que les applications modernes utilisent souvent JS pour un comportement plus complexe, cette solution Pure-CSS est parfaite pour des sites simples ou des fins d'apprentissage.
Fondamentalement, il s'agit de positionnement, de transformations et d'utilisation intelligente du piratage de la case à cocher. Pas flashy, mais efficace.
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 grace à 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)

Sujets chauds

AutoPrefixer est un outil qui ajoute automatiquement les préfixes des fournisseurs aux attributs CSS en fonction de la portée du navigateur cible. 1. Il résout le problème de maintenir manuellement les préfixes avec des erreurs; 2. Travaillez le formulaire de plug-in PostCSS, analyse CSS, analysez les attributs qui doivent être préfixés et générer du code en fonction de la configuration; 3. Les étapes d'utilisation incluent l'installation de plug-ins, la définition de la liste de navigateurs et leur permettant dans le processus de construction; 4. Les notes ne comprennent pas manuellement les préfixes, le maintien des mises à jour de la configuration, les préfixes pas tous des attributs, et il est recommandé de les utiliser avec le préprocesseur.

TOCREATESTICKYHEADERSERSANDFOOTERS WITHCSS, USEPOSITION: StickyforhederswithTopValueAndz-Index, assurant leparentContainerson’trestrictit.1.Forstickyheders: SetPosition: Sticky, Top: 0, Z-index, AndbackgroundColor.2

Il existe trois fa?ons de créer un rotateur de chargement CSS: 1. Utilisez le rotateur de base des frontières pour obtenir une animation simple via HTML et CSS; 2. Utilisez un rotateur personnalisé de plusieurs points pour atteindre l'effet de saut à travers différents temps de retard; 3. Ajoutez un rotateur dans le bouton et basculez les classes via JavaScript pour afficher l'état de chargement. Chaque approche souligne l'importance des détails de conception tels que la couleur, la taille, l'accessibilité et l'optimisation des performances pour améliorer l'expérience utilisateur.

Mobile-FirstcssDesigrequequetsettingTheViewportMetatag, UsingrelativeUnits, StylingFromsMallScreensup, OptimizingTypographicAndTouchtarget.First, addtiControlsaling.second, use%, em, orreminsteadofpixel

Pour créer une disposition de grille réactive intrinsèque, la méthode principale consiste à utiliser le mode répétition de CSSGrid (Auto-Fit, Minmax ()); 1. Définir la grille-template-colonnes: répéter (Auto-Fit, Minmax (200px, 1fr)) pour laisser le navigateur ajuster automatiquement le nombre de colonnes et limiter les largeurs minimales et maximales de chaque colonne; 2. Utiliser l'espace pour contr?ler l'espacement de la grille; 3. Le conteneur doit être réglé sur des unités relatives telles que la largeur: 100%, et utiliser la taille de la bo?te: Border-Box pour éviter les erreurs de calcul de la largeur et les centrer avec la marge: auto; 4. Définissez éventuellement la hauteur de la ligne et l'alignement du contenu pour améliorer la cohérence visuelle, comme la ligne

Pour rendre l'intégralité de la disposition de la grille centrée dans la fenêtre, elle peut être réalisée par les méthodes suivantes: 1. Utilisez la marge: 0Auto pour atteindre le centrage horizontal, et le conteneur doit être défini pour définir la largeur fixe, qui convient à la mise en page fixe; 2. Utilisez Flexbox pour définir les propriétés de justification et d'alignement des éléments dans le récipient extérieur, et combinez la hauteur min: 100VH pour atteindre le centrage vertical et horizontal, qui convient aux scénarios d'affichage plein écran; 3. Utilisez la propriété Place-Items de CSSGrid pour se concentrer rapidement sur le conteneur parent, ce qui est simple et a un bon soutien des navigateurs modernes, et en même temps, il est nécessaire de garantir que le conteneur parent a une hauteur suffisante. Chaque méthode a des scénarios et des restrictions applicables, choisissez simplement la solution appropriée en fonction des besoins réels.

FeatureSectionIncSsusing @ supportScheCkSifabrowSerSupportsaSaspecificfEATUREBOreApplyingreatedStyles.1.ituseSConditionalcSsblocksbasedOnproperty-Valuepraire, telshas @ supports (affichage: Grid).

Pour faire face à la compatibilité du navigateur CSS et aux problèmes de préfixe, vous devez comprendre les différences de prise en charge du navigateur et utiliser raisonnablement les préfixes des fournisseurs. 1. Comprendre les problèmes communs tels que Flexbox et le support de la grille, Position: Sticky Invalid et les performances d'animation sont différentes; 2. Vérifier l'état du support de la fonction de confirmation de Caniuse; 3. Utilisez correctement -webkit-, -moz-, -ms-, -o- et autres préfixes du fabricant; 4. Il est recommandé d'utiliser AutopRefixer pour ajouter automatiquement les préfixes; 5. Installez PostCSS et configurez le navigateur pour spécifier le navigateur cible; 6. Gérer automatiquement la compatibilité pendant la construction; 7. Les fonctionnalités de détection modernizr peuvent être utilisées pour les anciens projets; 8. Pas besoin de poursuivre la cohérence de tous les navigateurs,
