Hé, des gens extraordinaires ! Bienvenue sur mon blog. ? Aujourd'hui, nous approfondissons le modèle CSS Box, démystifiant comment la taille de chaque élément est déterminée et comment vous pouvez utiliser ces connaissances pour créer des conceptions précises, modernes et épurées (exemples concrets à la fin de cet article).
Le modèle de boîte CSS est fondamental pour la conception Web, dictant la manière dont chaque élément HTML occupe l'espace dans une page Web.
Répartition détaillée des composants du modèle de boîte
Contenu : Il s'agit du contenu réel de la boîte, où se trouvent le texte, les images et d'autres éléments. Sa taille est définie par les propriétés de largeur et de hauteur.
Padding : C'est l'espace autour du contenu, à l'intérieur de la bordure. Le rembourrage est transparent, sauf indication contraire.
Bordure : Ceci entoure le remplissage et le contenu. Il peut être stylisé avec la largeur, le style (par exemple, uni, pointillé) et la couleur.
Marge : C'est l'espace en dehors de la frontière. Il est également transparent et affecte l'espacement entre les éléments
Le modèle Box en action :
.example { width: 200px; /* Content width */ height: 100px; padding: 10px; /* Adds 20px to both width and height */ border: 5px solid #000; /* Adds 10px to both width and height */ margin: 20px; /* Does not contribute to the element's dimensions but affects layout */ }
Calcul de la largeur totale : 200px (contenu) 20px (remplissage) 10px (bordure) = 230px
Calcul de la hauteur totale : 100px 20px 10px = 130px
Malentendus courants
La largeur/hauteur n'affecte que le contenu : Beaucoup supposent que le réglage de la largeur ou de la hauteur définit la taille totale, mais ce n'est que la zone de contenu.
Box Sizing : Sans box-sizing : border-box, l'ajout d'un remplissage ou d'une bordure augmente un élément au-delà de sa largeur/hauteur définie.
Visualisation du modèle de boîte : Imaginez que vous ayez une boîte avec les dimensions ci-dessus. Voici une répartition visuelle :
.box { background-color: #f0f0f0; width: 300px; height: 150px; padding: 20px; border: 10px solid #000; margin: 30px; }
Zone de contenu : 300x150px (la zone grise)
Padding : Ajoute 20px autour, augmentant la taille à 340x190px
Bordure : Entoure le rembourrage, ce qui donne à la boîte finale une taille de 360x210px
Marge : Crée un espace autour de la bordure, mais ne compte pas directement dans les dimensions de l'élément.
Propriété Box-Sizing : Utilisation de box-sizing : border-box rend le remplissage et la bordure inclus dans la largeur/hauteur spécifiée, rationalisant ainsi la conception :
* { box-sizing: border-box;}
Cette déclaration s'appliquera à tous les éléments, rendant les calculs de taille plus intuitifs.
Valeurs en pourcentage : Lorsqu'ils sont utilisés avec un remplissage ou des marges, les pourcentages sont calculés par rapport à la largeur de l'élément conteneur.
Marges automatiques : Définition de la marge : auto peut centrer les éléments horizontalement (ou verticalement si flexbox est utilisé).
Floats : Les éléments avec float peuvent conduire à des comportements inattendus où les marges s'effondrent ou se chevauchent.
Flexbox et Grid : Ces méthodes de mise en page modernes gèrent les marges différemment. Par exemple, les marges ne s'effondrent pas dans les conteneurs flexibles ou les cellules de grille comme elles le feraient avec des éléments de niveau bloc.
Éléments qui se chevauchent : Comprendre le z-index et le positionnement permet de gérer la profondeur lorsque les éléments se chevauchent.
Concevoir pour la cohérence : Utilisez un dimensionnement de boîte cohérent dans tout votre projet pour éviter les erreurs de calcul de taille.
Responsive Design : rappelez-vous comment le remplissage et les marges évoluent. Les valeurs en pourcentage pour le remplissage peuvent aider à maintenir les proportions sur différentes tailles d'écran.
Débogage : Si un élément apparaît plus grand ou plus petit que prévu, vérifiez vos paramètres de remplissage, de bordure et de marge.
Utilisation du contour : Contrairement aux bordures, les contours n'affectent pas les dimensions de l'élément, ce qui peut être utile dans certaines conceptions d'interface utilisateur.
1.Mise en page de la carte réactive / veuillez vérifier le code sur Codepen.
Explication :
Box-Sizing : Définition de la taille de la boîte : border-box ; garantit que le rembourrage ne s'ajoute pas à la largeur et à la hauteur totales, ce qui simplifie la conception réactive.
Disposition de la carte : La classe .card définit un conteneur avec une largeur fixe, des coins arrondis et une ombre pour la profondeur.
Image de la carte : Agit comme un espace réservé pour une image dont les dimensions sont définies par la hauteur.
Contenu de la carte : Ici, le remplissage est utilisé pour espacer le contenu de la bordure. C'est ici que vous voyez le modèle de boîte en action ; le rembourrage augmente la zone cliquable à l'intérieur de la carte mais n'ajoute pas à la largeur déclarée de la carte.
Marge : Utilisée subtilement dans .card-title et .card-text pour espacer les éléments dans la carte.
Bouton : conçu pour ressembler à un appel à l'action typique, avec des effets de survol illustrant les transitions CSS.
2.Liste simple des articles de blog / veuillez vérifier le code sur Codepen.
Faites-moi savoir si vous avez besoin d'explications sur cet exemple ! Je serai ravi de vous aider dans les commentaires !
Le modèle CSS Box, bien que simple en théorie, comporte des niveaux de complexité qui affectent la façon dont nous concevons et débogueons les mises en page Web. En comprenant et en maîtrisant ce concept, vous serez mieux équipé pour créer des conceptions épurées, prévisibles et réactives.
? Bonjour, je m'appelle Eleftheria, Community Manager, développeur, conférencière et créatrice de contenu.
? Si vous avez aimé cet article, pensez à le partager.
? Tous les liens | X | LinkedIn
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!