En tant que développeur frontend, comprendre le modèle de boîte CSS est une étape décisive pour pouvoir fournir des mises en page parfaites au pixel près. Allons droit au but et discutons de la façon dont les éléments en ligne et en bloc se comportent différemment dans le contexte des deux types de modèles de boîte : content-box et border-box.
Avant d'entrer dans les détails, cela vaut la peine de récapituler ce qu'est le modèle de boîte. Chaque élément de votre page est une boîte (oui, même ceux qui ne semblent pas réellement de forme carrée). Les boîtes peuvent se trouver à l'intérieur, contenir et/ou à côté d'autres boîtes.
Le modèle de boîte s'applique à tous et se compose de :
Ainsi, presque tous les éléments HTML contenus dans et y compris le
, ainsi que chaque pseudo-élément CSS, sont une boîte. Les "murs" de cette boîte sont votre bordure et peuvent recevoir une épaisseur (ou une largeur. Entre ce contenu et les parois de cette boîte, vous avez un rembourrage. Entre ces murs et les autres boîtes, vous avez une marge.Il est crucial de comprendre les principales différences dans l'impact du modèle de boîte sur les éléments en ligne et en bloc :
Largeur : Les éléments de bloc s'agrandissent pour remplir leur conteneur par défaut. Des éléments en ligne ? Ils occupent juste assez d'espace pour leur contenu.
Hauteur : Pour les éléments de bloc, le remplissage, la bordure et la marge augmenteront tous la hauteur. Les éléments en ligne restent dans la hauteur de la ligne, quel que soit le remplissage vertical ou les bordures.
Impact sur la mise en page : Les éléments de bloc influencent la mise en page horizontale et verticale. Les éléments en ligne concernent uniquement le flux horizontal, avec un impact minimal sur l'espacement vertical.
Réduction des marges : La réduction des marges est un comportement spécifique aux éléments de bloc, où les marges verticales adjacentes peuvent fusionner (ainsi, une marge inférieure : 20 px sur un élément peut s'effondrer en une marge supérieure : 20px sur un élément suivant, créant une marge de 20px). Les éléments en ligne ne jouent pas à ce jeu.
Maintenant que nous connaissons les composants du modèle de boîte et la différence entre les éléments en ligne et en bloc, voyons comment les boîtes de contenu sont affectées par la propriété box-sizing selon qu'il s'agit d'un élément en ligne ou en bloc.
La propriété box-sizing contrôle la manière dont la largeur et la hauteur d'un élément sont calculées et peut avoir un impact significatif sur la mise en page.
Lors du dimensionnement de la boîte : content-box est appliqué à un élément en ligne :
Lors du dimensionnement de la boîte : content-box est appliqué à un élément de bloc :
Lors du dimensionnement de la boîte : border-box est appliqué à un élément en ligne :
Lors du dimensionnement de la boîte : border-box est appliqué à un élément de bloc :
Il convient de souligner que même si la content-box est la valeur par défaut, la border-box est largement considérée comme plus intuitive et offre le plus grand degré de contrôle.
Le modèle de boîte CSS n'est pas seulement un concept puissant : c'est un outil fondamental dans votre arsenal de développement frontend. En comprenant comment la taille des boîtes affecte différemment les éléments en ligne et les éléments en bloc, vous pouvez commencer à créer des mises en page impeccables, à la fois nettes et fonctionnelles, sans avoir à résoudre les problèmes liés aux mises en page qui se comportent mal.
Si vous avez apprécié ce téléchargement sur le modèle de boîte, passez la souris sur cette boîte en forme de cœur en haut à gauche et montrez à ce message tout votre amour !
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