Maison >interface Web >tutoriel CSS >Pourquoi les éléments Inline-Block débordent-ils de leur conteneur malgré « box-sizing : border-box » ?

Pourquoi les éléments Inline-Block débordent-ils de leur conteneur malgré « box-sizing : border-box » ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-11 20:11:21418parcourir

Why Do Inline-Block Elements Overflow Their Container Despite `box-sizing: border-box`?

Conteneur de surajustement des boîtes de blocs en ligne

En CSS, les éléments de blocs en ligne sont intrinsèquement rendus avec un espacement supplémentaire. Cela peut entraîner des débordements inattendus ou un emballage dans des conteneurs.

Considérons l'exemple suivant :

.ok {
  width: 300px;
  background: red;
  height: 100px;
  box-sizing: border-box;
}

.box {
  display: inline-block; 
  box-sizing:border-box;
  width:25%;
  border:2px solid blue;
  height:100%;
}
<div class="ok">
  <div class="box">1</div>
  <div class="box">2</div>
  <div class="box">3</div>
  <div class="box">4</div>
</div>

Malgré la définition de box-sizing : border-box, les éléments de bloc en ligne à l'intérieur le récipient ne rentre pas parfaitement. En effet, l'espacement par défaut entre les éléments en ligne, y compris les sauts de ligne, entraîne un espace horizontal supplémentaire.

Pour résoudre ce problème, on peut éliminer les espaces entre les éléments dans la source HTML :

<div class="ok"><div class="box">1</div><div class="box">2</div><div class="box">3</div><div class="box">4</div></div>

Cela garantit qu'il n'y a pas d'espace supplémentaire entre les éléments du bloc en ligne, leur permettant de s'adapter correctement dans leur conteneur.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn