Heim  >  Artikel  >  Web-Frontend  >  Warum werden die Schaltflächen „display: block' und „width: auto' nicht gestreckt, um den Container in Chrome zu füllen?

Warum werden die Schaltflächen „display: block' und „width: auto' nicht gestreckt, um den Container in Chrome zu füllen?

Barbara Streisand
Barbara StreisandOriginal
2024-10-29 05:42:02981Durchsuche

Why Doesn't

Warum „display: block“ und „width: auto“ die Schaltflächen zum Füllen des Containers nicht strecken

Bei der Anwendung von „display: block“ und „width: auto“ zu einer Schaltfläche hinzufügen, können Sie davon ausgehen, dass sie sich wie andere Blockelemente dehnt und den Container füllt. Dieses Verhalten tritt jedoch in neueren Versionen von Chrome nicht auf.

Verstehen des Verhaltens

Der Grund für dieses Verhalten liegt in der Klassifizierung von Schaltflächen als „ersetzte Elemente“. " Ersetzte Elemente, zu denen Eingabe-, Auswahl-, Schaltflächen-, IMG-, Objekt- und Textbereichselemente gehören, verfügen über bestimmte Standardanzeigeeigenschaften.

Gemäß CSS-Spezifikationen können ersetzte Elemente intrinsische Abmessungen haben, die durch externe Ressourcen wie Bilder bestimmt werden oder Browser-Steuerelemente. Wenn beispielsweise die Breite eines Bildelements auf „Auto“ eingestellt ist, wird die tatsächliche Breite der verknüpften Bilddatei verwendet.

Darüber hinaus können für ersetzte Elemente visuelle Formatierungsanforderungen gelten, die vom Element selbst auferlegt werden, z B. das Erscheinungsbild von Benutzeroberflächensteuerelementen für Formularelemente, die außerhalb der Kontrolle von CSS liegen.

Wie sich dies auf Schaltflächen auswirkt

Obwohl Schaltflächen nicht als reine ersetzte Elemente betrachtet werden Wie vom W3C definiert, verhalten sie sich in diesem Zusammenhang ähnlich. Standardmäßig verfügen sie über intrinsische Abmessungen, die auf ihrem Inhalt basieren, und „display: block“ überschreibt dieses Verhalten nicht.

Lösung zum Dehnen von Schaltflächen

Wenn Sie möchten Wenn Sie die Schaltflächen „Strecken“ verwenden, um den Container zu füllen, können Sie einen alternativen Ansatz verwenden:

<code class="css">button {
  display: flex;
  width: 100%;
}</code>

Flexbox bietet mehr Kontrolle über die Elementgröße und ermöglicht das Strecken von Elementen, um den verfügbaren Platz auszufüllen.

Das obige ist der detaillierte Inhalt vonWarum werden die Schaltflächen „display: block' und „width: auto' nicht gestreckt, um den Container in Chrome zu füllen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn