Texttext erzwingen, der das Element zu max-width enthält

8

Ich habe mehrere div s, die alle als Inline-Blöcke formatiert sind und daher in einer Reihe nebeneinander sitzen. Diese divs haben eine max-width von 140px und enthalten Text, der dazu führt, dass sie in der Breite bis zu dieser Größe variieren.

Wie in dieser Geige demonstriert , Text, der breiter ist als max-width Eigenschaft Wraps, wie Sie es erwarten würden. Das Problem ist, dass es auch scheint, dass sein Container div auf dem max-width bleibt, obwohl der umbrochene Text technisch nicht so viel Platz benötigt.

Gibt es einen browserübergreifenden, HTML / CSS-only Weg, um diese Blöcke auf die kleinste Breite zu "schrumpfen", sobald der Text umgebrochen ist? Mir ist bewusst, dass ich es mit entsprechend platziertem% ​​co_de% s erzwingen kann, aber diese Blöcke sollen vom Benutzer eingegebenen Text enthalten.

%Vor% %Vor%
    
Infinimbal 20.10.2015, 18:45
quelle

2 Antworten

5

@BoltClock erklärt das Problem in Ссылка

Ihre einzige Option ist JavaScript.

Sie können dies tun, indem Sie die Breite jedes div verkleinern, bis sich die Höhe ändert:

%Vor% %Vor% %Vor%
    
Rick Hitchcock 20.10.2015 20:37
quelle
3

Anstelle von max-width: 140px sollten Sie width: min-content in Erwägung ziehen.

CSS

%Vor%

DEMO: Ссылка

Hinweis: Bevor Sie min-content implementieren, überprüfen Sie Präfixanforderungen und Browser-Unterstützung .

Alternative Lösung

Ich bin mir nicht sicher, ob es eine CSS-Lösung gibt, wie Sie es wünschen. Falls Sie JavaScript ausprobieren möchten, kann Ihnen die folgende Antwort helfen:

Michael_B 20.10.2015 18:58
quelle

Tags und Links