Add text-wrap balance and pretty to complement existing white-space utils. In v6 we'll replace with all text-wrap utilities.

This commit is contained in:
Mark Otto 2025-05-23 15:28:18 -07:00
parent 374c8a1e1f
commit 971cb70c40
2 changed files with 22 additions and 2 deletions

View File

@ -565,6 +565,14 @@ $utilities: map-merge(
nowrap: nowrap, nowrap: nowrap,
) )
), ),
"text-wrap": (
property: text-wrap,
class: text,
values: (
balance: balance,
pretty: pretty,
)
),
"word-wrap": ( "word-wrap": (
property: word-wrap word-break, property: word-wrap word-break,
class: text, class: text,

View File

@ -26,8 +26,8 @@ Note that we dont provide utility classes for justified text. While, aestheti
Wrap text with a `.text-wrap` class. Wrap text with a `.text-wrap` class.
<Example code={`<div class="badge text-bg-primary text-wrap" style="width: 6rem;"> <Example code={`<div class="text-wrap bg-body-secondary border" style="width: 8rem;">
This text should wrap. This snippet of text should wrap.
</div>`} /> </div>`} />
Prevent text from wrapping with a `.text-nowrap` class. Prevent text from wrapping with a `.text-nowrap` class.
@ -36,6 +36,18 @@ Prevent text from wrapping with a `.text-nowrap` class.
This text should overflow the parent. This text should overflow the parent.
</div>`} /> </div>`} />
Use `.text-balance` to balance evenly distribute text across multiple lines. This is computationally expensive and is thus limited by the Chromium to six lines and by Firefox to ten lines.
<Example code={`<div class="text-balance mx-auto" style="width: 20rem;">
This text should be balanced. Here were writing a longer snippet of text to form a paragraph and demonstrate how the text wraps.
</div>`} />
Use `.text-pretty` to prevent single words their own line (orphans). **Pretty text wrapping is not fully supported in Safari and Firefox at the moment.**
<Example code={`<div class="text-pretty mx-auto" style="width: 20rem;">
This text should be pretty. Here were writing a longer snippet of text to form a paragraph and demonstrate how the text wraps.
</div>`} />
## Word break ## Word break
Prevent long strings of text from breaking your components layout by using `.text-break` to set `word-wrap: break-word` and `word-break: break-word`. We use `word-wrap` instead of the more common `overflow-wrap` for wider browser support, and add the deprecated `word-break: break-word` to avoid issues with flex containers. Prevent long strings of text from breaking your components layout by using `.text-break` to set `word-wrap: break-word` and `word-break: break-word`. We use `word-wrap` instead of the more common `overflow-wrap` for wider browser support, and add the deprecated `word-break: break-word` to avoid issues with flex containers.