Heim > Web-Frontend > CSS-Tutorial > Wie wirkt sich Padding auf das Flex-Shrink-Verhalten in „Border-Box' vs. „Content-Box' aus?

Wie wirkt sich Padding auf das Flex-Shrink-Verhalten in „Border-Box' vs. „Content-Box' aus?

DDD
Freigeben: 2024-12-10 02:05:15
Original
667 Leute haben es durchsucht

How Does Padding Affect Flex-Shrink Behavior in `border-box` vs. `content-box`?

Flex-Schrumpffaktor in Padding und Border-Box

Der Flex-Schrumpffaktor wird verwendet, um zu bestimmen, wie stark ein Element wann schrumpft Im Flex-Container ist negativer Platz vorhanden. Wenn Polsterung auf ein Element angewendet wird, wird die innere Flexbasis beeinflusst, abhängig vom Wert der Boxgröße.

  • Content-box: Die innere Flexbasis umfasst nur die Inhalt, daher hat die Polsterung keinen Einfluss auf den verfügbaren Raum zum Schrumpfen.
  • Grenzkasten: Die innere Flexbasis umfasst sowohl Inhalt als auch Polsterung, daher verringert die Polsterung den verfügbaren Raum zum Schrumpfen.

Um den skalierten Flex-Schrumpffaktor für jeden Artikel zu berechnen, multiplizieren Sie seine innere Flex-Basis mit seinem Flex-Schrumpffaktor. Ermitteln Sie dann das Verhältnis des skalierten Flex-Schrumpffaktors jedes Artikels zur Summe aller skalierten Flex-Schrumpffaktoren. Stellen Sie abschließend die Zielgröße des Elements auf seine Flex-Basis abzüglich eines Bruchteils des negativen Leerraums proportional zum Verhältnis ein.

Ohne Polsterung ist die Berechnung unkompliziert:

Inner Width = Inner Flex Basis + Ratio * Remaining Free Space
Nach dem Login kopieren

Mit Polsterung der verfügbare Platz wird reduziert, der verbleibende freie Platz verändert sich also.

Bei Border-Box handelt es sich bei den angegebenen Flex-Basen um die äußeren Bases (inkl. Polsterung). Die inneren Basen werden durch Subtrahieren der Polsterbreiten berechnet. Die Summe der skalierten Flex-Schrumpffaktoren bleibt unverändert, Verhältnis und Zielgröße werden jedoch angepasst:

Inner Width = (Outer Flex Basis - Padding) + Ratio * Remaining Free Space
Nach dem Login kopieren

Beispiel:

Betrachten Sie einen Flex-Container mit drei Artikeln , jeweils mit einem Flex-Schrumpffaktor von 2:

  • Punkt 1: Flexbasis = 300px, Polsterung = 0px
  • Element 2: Flexbasis = 200px, Polsterung = 0px
  • Element 3: Flexbasis = 100px, Polsterung = 0px

Szenario 1 ( Keine Polsterung):

  • Verbleibend freier Speicherplatz = -200px
  • Skalierte flexible Schrumpffaktoren: 600, 200, 200
  • Summe der skalierten flexiblen Schrumpffaktoren = 1000
  • Verhältnisse: 0,6, 0,2, 0,2
  • Innenbreiten: 180px, 160 Pixel, 60 Pixel Faktoren: 560, 200, 160
Summe der skalierten Flex-Schrumpffaktoren = 920

Verhältnisse: 0,61, 0,22, 0,17

Innenbreiten: 144px, 148px, 48px
  • Szenario 3 (Grenzfeld):
  • Verbleibender freier Speicherplatz = -200px
  • Skalierte Flex-Schrumpfungsfaktoren: 636, 240, 176
Summe des skalierten Flex Schrumpffaktoren = 1052

Verhältnisse: 0,6, 0,23, 0,17

Innenbreiten: 176px, 160px, 64px

Das obige ist der detaillierte Inhalt vonWie wirkt sich Padding auf das Flex-Shrink-Verhalten in „Border-Box' vs. „Content-Box' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage