]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Add text-wrap balance and pretty to complement existing white-space utils. In v6... v5/text-wrap-utils 41491/head
authorMark Otto <markdotto@gmail.com>
Fri, 23 May 2025 22:28:18 +0000 (15:28 -0700)
committerMark Otto <markdotto@gmail.com>
Fri, 23 May 2025 22:28:18 +0000 (15:28 -0700)
scss/_utilities.scss
site/src/content/docs/utilities/text.mdx

index 696f906ec9c44172fceedcbff5ca9b216c15ba3b..aa39ddcce7ab4bc1094b88d36884b302eb7dbba6 100644 (file)
@@ -565,6 +565,14 @@ $utilities: map-merge(
         nowrap: nowrap,
       )
     ),
+    "text-wrap": (
+      property: text-wrap,
+      class: text,
+      values: (
+        balance: balance,
+        pretty: pretty,
+      )
+    ),
     "word-wrap": (
       property: word-wrap word-break,
       class: text,
index 2cbf732770531b32e0646c49378a82d90e7c8922..8dbe68801a23dec373789b9da08f1e36df626e54 100644 (file)
@@ -26,8 +26,8 @@ Note that we don’t provide utility classes for justified text. While, aestheti
 
 Wrap text with a `.text-wrap` class.
 
-<Example code={`<div class="badge text-bg-primary text-wrap" style="width: 6rem;">
-    This text should wrap.
+<Example code={`<div class="text-wrap bg-body-secondary border" style="width: 8rem;">
+    This snippet of text should wrap.
   </div>`} />
 
 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.
   </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 we’re 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 we’re writing a longer snippet of text to form a paragraph and demonstrate how the text wraps.
+  </div>`} />
+
 ## 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.