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 réels à 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 remplissage est transparent, sauf style contraire.
Border : Cela enveloppe le remplissage et le contenu. Il peut être stylisé avec la largeur, le style (par exemple, uni, pointillé) et la couleur.
Marge : Il s'agit de l'espace à l'extérieur de la bordure. 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 il ne s'agit que de 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 20 px autour, augmentant la taille à 340 x 190 px
Bordure : entoure le remplissage, ce qui donne à la boîte finale une taille de 360 x 210 px
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 inclut le remplissage et la bordure 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 superposés : Comprendre l'index z et le positionnement permet de gérer la profondeur lorsque les éléments se chevauchent.
Concevoir pour la cohérence : utilisez une taille de boîte cohérente 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 remplissage augmente la zone cliquable à l'intérieur de la carte mais n'ajoute pas à la largeur déclarée de la carte.
Margin : Utilisé 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 de boîte CSS, 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 maîtrisant ce concept, vous serez mieux équipé pour créer des conceptions claires, 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
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3