Maison > interface Web > tutoriel CSS > Pourquoi les boutons \'display: block\' et 'width: auto\' n'étirent-ils pas pour remplir le conteneur dans Chrome ?

Pourquoi les boutons \'display: block\' et 'width: auto\' n'étirent-ils pas pour remplir le conteneur dans Chrome ?

Barbara Streisand
Libérer: 2024-10-29 05:42:02
original
1051 Les gens l'ont consulté

Why Doesn't

Pourquoi « affichage : bloc » et « largeur : auto » n'étirent pas les boutons pour remplir le conteneur

Lors de l'application de « affichage : block" et "width: auto" sur un bouton, vous pouvez vous attendre à ce qu'il s'étire et remplisse le conteneur comme les autres éléments de bloc. Cependant, ce comportement ne se produit pas dans les versions récentes de Chrome.

Comprendre le comportement

La raison de ce comportement réside dans la classification des boutons comme « éléments remplacés ». " Les éléments remplacés, qui incluent les éléments input, select, button, img, object et textarea, ont des propriétés d'affichage par défaut spécifiques.

Selon les spécifications CSS, les éléments remplacés peuvent avoir des dimensions intrinsèques déterminées par des ressources externes, telles que des images. ou les contrôles du navigateur. Par exemple, si un élément d'image a une largeur définie sur « auto », il utilisera la largeur réelle du fichier image lié.

De plus, les éléments remplacés peuvent avoir des exigences de formatage visuel imposées par l'élément lui-même, telles que comme l'apparence des contrôles de l'interface utilisateur pour les éléments de formulaire, qui échappent au contrôle de CSS.

Comment cela affecte les boutons

Bien que les boutons ne soient pas considérés comme de purs éléments remplacés, car définis par le W3C, ils se comportent de la même manière dans ce contexte. Par défaut, ils ont des dimensions intrinsèques basées sur leur contenu, et "display: block" ne remplace pas ce comportement.

Solution pour étirer les boutons

Si vous le souhaitez étirer les boutons pour remplir le conteneur, vous pouvez utiliser une approche alternative :

<code class="css">button {
  display: flex;
  width: 100%;
}</code>
Copier après la connexion

Flexbox offre plus de contrôle sur la taille des éléments et permet d'étirer les éléments pour remplir l'espace disponible.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal