]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Replace white-space utilities with text-wrap utilities, add new ones v6/text-utils 41490/head
authorMark Otto <markdotto@gmail.com>
Fri, 23 May 2025 22:25:31 +0000 (15:25 -0700)
committerMark Otto <markdotto@gmail.com>
Fri, 23 May 2025 22:25:31 +0000 (15:25 -0700)
scss/_utilities.scss
site/src/content/docs/utilities/text.mdx

index 696f906ec9c44172fceedcbff5ca9b216c15ba3b..1dd68c73621825efffd077675603138d609f853f 100644 (file)
@@ -557,20 +557,22 @@ $utilities: map-merge(
       class: text,
       values: lowercase uppercase capitalize
     ),
-    "white-space": (
-      property: white-space,
-      class: text,
-      values: (
-        wrap: normal,
-        nowrap: nowrap,
-      )
-    ),
     "word-wrap": (
       property: word-wrap word-break,
       class: text,
       values: (break: break-word),
       rtl: false
     ),
+    "text-wrap": (
+      property: text-wrap,
+      class: text,
+      values: (
+        balance: balance,
+        nowrap: nowrap,
+        pretty: pretty,
+        wrap: wrap,
+      )
+    ),
     // scss-docs-end utils-text
     // scss-docs-start utils-color
     "color": (
index 2cbf732770531b32e0646c49378a82d90e7c8922..557c3d1252d521ee26c99feaee3df3eae5e21c8b 100644 (file)
@@ -22,12 +22,12 @@ Easily realign text to components with text alignment classes. For start, end, a
 Note that we don’t provide utility classes for justified text. While, aesthetically, justified text might look more appealing, it does make word-spacing more random and therefore harder to read.
 </Callout>
 
-## Text wrapping and overflow
+## Text wrap
 
 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.