--- layout: docs title: Typography description: Documentation and examples for Bootstrap typography, including global settings, headings, body text, lists, and more. group: content toc: true --- ## Global settings Bootstrap sets basic global display, typography, and link styles. When more control is needed, check out the [textual utility classes]({{< docsref "/utilities/text" >}}). - Use a [native font stack]({{< docsref "/content/reboot#native-font-stack" >}}) that selects the best `font-family` for each OS and device. - For a more inclusive and accessible type scale, we use the browser's default root `font-size` (typically 16px) so visitors can customize their browser defaults as needed. - Use the `$font-family-base`, `$font-size-base`, and `$line-height-base` attributes as our typographic base applied to the `<body>`. - Set the global link color via `$link-color` and apply link underlines only on `:hover`. - Use `$body-bg` to set a `background-color` on the `<body>` (`#fff` by default). These styles can be found within `_reboot.scss`, and the global variables are defined in `_variables.scss`. Make sure to set `$font-size-base` in `rem`. ## Headings All HTML headings, `<h1>` through `<h6>`, are available. <table> <thead> <tr> <th>Heading</th> <th>Example</th> </tr> </thead> <tbody> <tr> <td> {{< markdown >}}`<h1></h1>`{{< /markdown >}} </td> <td><span class="h1">h1. Bootstrap heading</span></td> </tr> <tr> <td> {{< markdown >}}`<h2></h2>`{{< /markdown >}} </td> <td><span class="h2">h2. Bootstrap heading</span></td> </tr> <tr> <td> {{< markdown >}}`<h3></h3>`{{< /markdown >}} </td> <td><span class="h3">h3. Bootstrap heading</span></td> </tr> <tr> <td> {{< markdown >}}`<h4></h4>`{{< /markdown >}} </td> <td><span class="h4">h4. Bootstrap heading</span></td> </tr> <tr> <td> {{< markdown >}}`<h5></h5>`{{< /markdown >}} </td> <td><span class="h5">h5. Bootstrap heading</span></td> </tr> <tr> <td> {{< markdown >}}`<h6></h6>`{{< /markdown >}} </td> <td><span class="h6">h6. Bootstrap heading</span></td> </tr> </tbody> </table> ```html <h1>h1. Bootstrap heading</h1> <h2>h2. Bootstrap heading</h2> <h3>h3. Bootstrap heading</h3> <h4>h4. Bootstrap heading</h4> <h5>h5. Bootstrap heading</h5> <h6>h6. Bootstrap heading</h6> ``` `.h1` through `.h6` classes are also available, for when you want to match the font styling of a heading but cannot use the associated HTML element. {{< example >}} <p class="h1">h1. Bootstrap heading</p> <p class="h2">h2. Bootstrap heading</p> <p class="h3">h3. Bootstrap heading</p> <p class="h4">h4. Bootstrap heading</p> <p class="h5">h5. Bootstrap heading</p> <p class="h6">h6. Bootstrap heading</p> {{< /example >}} ### Customizing headings Use the included utility classes to recreate the small secondary heading text from Bootstrap 3. {{< example >}} <h3> Fancy display heading <small class="text-muted">With faded secondary text</small> </h3> {{< /example >}} ## Display headings Traditional heading elements are designed to work best in the meat of your page content. When you need a heading to stand out, consider using a **display heading**—a larger, slightly more opinionated heading style. Keep in mind these headings are not responsive by default, but it's possible to enable [responsive font sizes](#responsive-font-sizes). <div class="bd-example bd-example-type"> <table class="table"> <tbody> <tr> <td><span class="display-1">Display 1</span></td> </tr> <tr> <td><span class="display-2">Display 2</span></td> </tr> <tr> <td><span class="display-3">Display 3</span></td> </tr> <tr> <td><span class="display-4">Display 4</span></td> </tr> </tbody> </table> </div> ```html <h1 class="display-1">Display 1</h1> <h1 class="display-2">Display 2</h1> <h1 class="display-3">Display 3</h1> <h1 class="display-4">Display 4</h1> ``` ## Lead Make a paragraph stand out by adding `.lead`. {{< example >}} <p class="lead"> This is a lead paragraph. It stands out from regular paragraphs. </p> {{< /example >}} ## Inline text elements Styling for common inline HTML5 elements. {{< example >}} <p>You can use the mark tag to <mark>highlight</mark> text.</p> <p><del>This line of text is meant to be treated as deleted text.</del></p> <p><s>This line of text is meant to be treated as no longer accurate.</s></p> <p><ins>This line of text is meant to be treated as an addition to the document.</ins></p> <p><u>This line of text will render as underlined</u></p> <p><small>This line of text is meant to be treated as fine print.</small></p> <p><strong>This line rendered as bold text.</strong></p> <p><em>This line rendered as italicized text.</em></p> {{< /example >}} `.mark` and `.small` classes are also available to apply the same styles as `<mark>` and `<small>` while avoiding any unwanted semantic implications that the tags would bring. While not shown above, feel free to use `<b>` and `<i>` in HTML5. `<b>` is meant to highlight words or phrases without conveying additional importance while `<i>` is mostly for voice, technical terms, etc. ## Text utilities Change text alignment, transform, style, weight, and color with our [text utilities]({{< docsref "/utilities/text" >}}) and [color utilities]({{< docsref "/utilities/colors" >}}). ## Abbreviations Stylized implementation of HTML's `<abbr>` element for abbreviations and acronyms to show the expanded version on hover. Abbreviations have a default underline and gain a help cursor to provide additional context on hover and to users of assistive technologies. Add `.initialism` to an abbreviation for a slightly smaller font-size. {{< example >}} <p><abbr title="attribute">attr</abbr></p> <p><abbr title="HyperText Markup Language" class="initialism">HTML</abbr></p> {{< /example >}} ## Blockquotes For quoting blocks of content from another source within your document. Wrap `<blockquote class="blockquote">` around any <abbr title="HyperText Markup Language">HTML</abbr> as the quote. {{< example >}} <blockquote class="blockquote"> <p class="mb-0">A well-known quote, contained in a blockquote element.</p> </blockquote> {{< /example >}} ### Naming a source Add a `<footer class="blockquote-footer">` for identifying the source. Wrap the name of the source work in `<cite>`. {{< example >}} <blockquote class="blockquote"> <p class="mb-0">A well-known quote, contained in a blockquote element.</p> <footer class="blockquote-footer">Someone famous in <cite title="Source Title">Source Title</cite></footer> </blockquote> {{< /example >}} ### Alignment Use text utilities as needed to change the alignment of your blockquote. {{< example >}} <blockquote class="blockquote text-center"> <p class="mb-0">A well-known quote, contained in a blockquote element.</p> <footer class="blockquote-footer">Someone famous in <cite title="Source Title">Source Title</cite></footer> </blockquote> {{< /example >}} {{< example >}} <blockquote class="blockquote text-right"> <p class="mb-0">A well-known quote, contained in a blockquote element.</p> <footer class="blockquote-footer">Someone famous in <cite title="Source Title">Source Title</cite></footer> </blockquote> {{< /example >}} ## Lists ### Unstyled Remove the default `list-style` and left margin on list items (immediate children only). **This only applies to immediate children list items**, meaning you will need to add the class for any nested lists as well. {{< example >}} <ul class="list-unstyled"> <li>This is a list.</li> <li>It appears completely unstyled.</li> <li>Structurally, it's still a list.</li> <li>However, this style only applies to immediate child elements.</li> <li>Nested lists: <ul> <li>are unaffected by this style</li> <li>will still show a bullet</li> <li>and have appropriate left margin</li> </ul> </li> <li>This may still come in handy in some situations.</li> </ul> {{< /example >}} ### Inline Remove a list's bullets and apply some light `margin` with a combination of two classes, `.list-inline` and `.list-inline-item`. {{< example >}} <ul class="list-inline"> <li class="list-inline-item">This is a list item.</li> <li class="list-inline-item">And another one.</li> <li class="list-inline-item">But they're displayed inline.</li> </ul> {{< /example >}} ### Description list alignment Align terms and descriptions horizontally by using our grid system's predefined classes (or semantic mixins). For longer terms, you can optionally add a `.text-truncate` class to truncate the text with an ellipsis. {{< example >}} <dl class="row"> <dt class="col-sm-3">Description lists</dt> <dd class="col-sm-9">A description list is perfect for defining terms.</dd> <dt class="col-sm-3">Term</dt> <dd class="col-sm-9"> <p>Definition for the term.</p> <p>And some more placeholder definition text.</p> </dd> <dt class="col-sm-3">Another term</dt> <dd class="col-sm-9">This definition is short, so no extra paragraphs or anything.</dd> <dt class="col-sm-3 text-truncate">Truncated term is truncated</dt> <dd class="col-sm-9">This can be useful when space is tight. Adds an ellipsis at the end.</dd> <dt class="col-sm-3">Nesting</dt> <dd class="col-sm-9"> <dl class="row"> <dt class="col-sm-4">Nested definition list</dt> <dd class="col-sm-8">I heard you like definition lists. Let me put a definition list inside your definition list.</dd> </dl> </dd> </dl> {{< /example >}} ## Responsive font sizes As of v4.3.0, Bootstrap ships with the option to enable responsive font sizes, allowing text to scale more naturally across device and viewport sizes. <abbr title="Responsive font sizes">RFS</abbr> can be enabled by changing the `$enable-responsive-font-sizes` Sass variable to `true` and recompiling Bootstrap. To support <abbr title="Responsive font sizes">RFS</abbr>, we use a Sass mixin to replace our normal `font-size` properties. Responsive font sizes will be compiled into `calc()` functions with a mix of `rem` and viewport units to enable the responsive scaling behavior. More about <abbr title="Responsive font sizes">RFS</abbr> and its configuration can be found on its [GitHub repository](https://github.com/twbs/rfs/tree/{{< param "rfs_version" >}}).
Generated by dwww version 1.15 on Sun Jun 16 12:14:37 CEST 2024.