1
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-08-05 05:07:35 +02:00
Files
bootstrap/docs/5.3/getting-started/rtl/index.html
2025-06-17 18:32:13 +02:00

167 lines
72 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en" data-bs-theme="auto"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="description" content="Learn how to enable support for right-to-left text in Bootstrap across our layout, components, and utilities."><meta name="author" content="Mark Otto, Jacob Thornton, and Bootstrap contributors"><meta name="generator" content="Astro v5.9.2"><meta name="docsearch:language" content="en"><meta name="docsearch:version" content="5.3"><link rel="canonical" href="https://getbootstrap.com/docs/5.3/getting-started/rtl/"><link rel="preconnect" href="https://AK7KMZKZHQ-dsn.algolia.net" crossorigin><title>RTL · Bootstrap v5.3</title><script src="/docs/5.3/assets/js/color-modes.js"></script><link href="/docs/5.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-LN+7fdVzj6u52u30Kp6M/trliBMCMKTyK833zpbD+pXdCLuTusPj697FH4R/5mcr"><link rel="apple-touch-icon" href="/docs/5.3/assets/img/favicons/apple-touch-icon.png" sizes="180x180"><link rel="icon" href="/docs/5.3/assets/img/favicons/favicon-32x32.png" sizes="32x32" type="image/png"><link rel="icon" href="/docs/5.3/assets/img/favicons/favicon-16x16.png" sizes="16x16" type="image/png"><link rel="manifest" href="/docs/5.3/assets/img/favicons/manifest.json"><link rel="mask-icon" href="/docs/5.3/assets/img/favicons/safari-pinned-tab.svg" color="#712cf9"><link rel="icon" href="/docs/5.3/assets/img/favicons/favicon.ico"><meta name="theme-color" content="#712cf9"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content="@getbootstrap"><meta name="twitter:creator" content="@getbootstrap"><meta property="og:url" content="https://getbootstrap.com/docs/5.3/getting-started/rtl/"><meta property="og:title" content="RTL"><meta property="og:description" content="Learn how to enable support for right-to-left text in Bootstrap across our layout, components, and utilities."><meta property="og:type" content="article"><meta property="og:image" content="https://getbootstrap.com/docs/5.3/assets/brand/bootstrap-social.png"><meta property="og:image:type" content="image/png"><meta property="og:image:width" content="2000"><meta property="og:image:height" content="1000"><script defer src="https://cdn.usefathom.com/script.js" data-site="ITUSEYJG"></script><link rel="stylesheet" href="/docs/5.3/assets/_slug_.CJzlHdSW.css"></head> <body data-bs-spy="scroll" data-bs-target="#TableOfContents"> <div class="skippy visually-hidden-focusable overflow-hidden"> <div class="container-xl"> <a class="d-inline-flex p-2 m-1" href="#content">Skip to main content</a> <a class="d-none d-md-inline-flex p-2 m-1" href="#bd-docs-nav">
Skip to docs navigation
</a> </div> </div> <svg xmlns="http://www.w3.org/2000/svg" class="d-none"> <symbol id="arrow-right" viewBox="0 0 16 16"> <path fill-rule="evenodd" d="M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8z"></path> </symbol> <symbol id="arrow-right-short" viewBox="0 0 16 16"> <path fill-rule="evenodd" d="M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8"></path> </symbol> <symbol id="book-half" viewBox="0 0 16 16"> <path d="M8.5 2.687c.654-.689 1.782-.886 3.112-.752 1.234.124 2.503.523 3.388.893v9.923c-.918-.35-2.107-.692-3.287-.81-1.094-.111-2.278-.039-3.213.492V2.687zM8 1.783C7.015.936 5.587.81 4.287.94c-1.514.153-3.042.672-3.994 1.105A.5.5 0 0 0 0 2.5v11a.5.5 0 0 0 .707.455c.882-.4 2.303-.881 3.68-1.02 1.409-.142 2.59.087 3.223.877a.5.5 0 0 0 .78 0c.633-.79 1.814-1.019 3.222-.877 1.378.139 2.8.62 3.681 1.02A.5.5 0 0 0 16 13.5v-11a.5.5 0 0 0-.293-.455c-.952-.433-2.48-.952-3.994-1.105C10.413.809 8.985.936 8 1.783z"></path> </symbol> <symbol id="box-seam" viewBox="0 0 16 16"> <path d="M8.186 1.113a.5.5 0 0 0-.372 0L1.846 3.5l2.404.961L10.404 2l-2.218-.887zm3.564 1.426L5.596 5 8 5.961 14.154 3.5l-2.404-.961zm3.25 1.7-6.5 2.6v7.922l6.5-2.6V4.24zM7.5 14.762V6.838L1 4.239v7.923l6.5 2.6zM7.443.184a1.5 1.5 0 0 1 1.114 0l7.129 2.852A.5.5 0 0 1 16 3.5v8.662a1 1 0 0 1-.629.928l-7.185 2.874a.5.5 0 0 1-.372 0L.63 13.09a1 1 0 0 1-.63-.928V3.5a.5.5 0 0 1 .314-.464L7.443.184z"></path> </symbol> <symbol id="braces" viewBox="0 0 16 16"> <path d="M2.114 8.063V7.9c1.005-.102 1.497-.615 1.497-1.6V4.503c0-1.094.39-1.538 1.354-1.538h.273V2h-.376C3.25 2 2.49 2.759 2.49 4.352v1.524c0 1.094-.376 1.456-1.49 1.456v1.299c1.114 0 1.49.362 1.49 1.456v1.524c0 1.593.759 2.352 2.372 2.352h.376v-.964h-.273c-.964 0-1.354-.444-1.354-1.538V9.663c0-.984-.492-1.497-1.497-1.6zM13.886 7.9v.163c-1.005.103-1.497.616-1.497 1.6v1.798c0 1.094-.39 1.538-1.354 1.538h-.273v.964h.376c1.613 0 2.372-.759 2.372-2.352v-1.524c0-1.094.376-1.456 1.49-1.456V7.332c-1.114 0-1.49-.362-1.49-1.456V4.352C13.51 2.759 12.75 2 11.138 2h-.376v.964h.273c.964 0 1.354.444 1.354 1.538V6.3c0 .984.492 1.497 1.497 1.6z"></path> </symbol> <symbol id="braces-asterisk" viewBox="0 0 16 16"> <path fill-rule="evenodd" d="M1.114 8.063V7.9c1.005-.102 1.497-.615 1.497-1.6V4.503c0-1.094.39-1.538 1.354-1.538h.273V2h-.376C2.25 2 1.49 2.759 1.49 4.352v1.524c0 1.094-.376 1.456-1.49 1.456v1.299c1.114 0 1.49.362 1.49 1.456v1.524c0 1.593.759 2.352 2.372 2.352h.376v-.964h-.273c-.964 0-1.354-.444-1.354-1.538V9.663c0-.984-.492-1.497-1.497-1.6ZM14.886 7.9v.164c-1.005.103-1.497.616-1.497 1.6v1.798c0 1.094-.39 1.538-1.354 1.538h-.273v.964h.376c1.613 0 2.372-.759 2.372-2.352v-1.524c0-1.094.376-1.456 1.49-1.456v-1.3c-1.114 0-1.49-.362-1.49-1.456V4.352C14.51 2.759 13.75 2 12.138 2h-.376v.964h.273c.964 0 1.354.444 1.354 1.538V6.3c0 .984.492 1.497 1.497 1.6ZM7.5 11.5V9.207l-1.621 1.621-.707-.707L6.792 8.5H4.5v-1h2.293L5.172 5.879l.707-.707L7.5 6.792V4.5h1v2.293l1.621-1.621.707.707L9.208 7.5H11.5v1H9.207l1.621 1.621-.707.707L8.5 9.208V11.5h-1Z"></path> </symbol> <symbol id="check2" viewBox="0 0 16 16"> <path d="M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z"></path> </symbol> <symbol id="chevron-expand" viewBox="0 0 16 16"> <path fill-rule="evenodd" d="M3.646 9.146a.5.5 0 0 1 .708 0L8 12.793l3.646-3.647a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 0-.708zm0-2.292a.5.5 0 0 0 .708 0L8 3.207l3.646 3.647a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 0 0 0 .708z"></path> </symbol> <symbol id="circle-half" viewBox="0 0 16 16"> <path d="M8 15A7 7 0 1 0 8 1v14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z"></path> </symbol> <symbol id="clipboard" viewBox="0 0 16 16"> <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z"></path> <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z"></path> </symbol> <symbol id="code" viewBox="0 0 16 16"> <path d="M5.854 4.854a.5.5 0 1 0-.708-.708l-3.5 3.5a.5.5 0 0 0 0 .708l3.5 3.5a.5.5 0 0 0 .708-.708L2.707 8l3.147-3.146zm4.292 0a.5.5 0 0 1 .708-.708l3.5 3.5a.5.5 0 0 1 0 .708l-3.5 3.5a.5.5 0 0 1-.708-.708L13.293 8l-3.147-3.146z"></path> </symbol> <symbol id="file-earmark-richtext" viewBox="0 0 16 16"> <path d="M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z"></path> <path d="M4.5 12.5A.5.5 0 0 1 5 12h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm0-2A.5.5 0 0 1 5 10h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm1.639-3.708 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047l1.888.974V8.5a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V8s1.54-1.274 1.639-1.208zM6.25 6a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5z"></path> </symbol> <symbol id="globe2" viewBox="0 0 16 16"> <path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm7.5-6.923c-.67.204-1.335.82-1.887 1.855-.143.268-.276.56-.395.872.705.157 1.472.257 2.282.287V1.077zM4.249 3.539c.142-.384.304-.744.481-1.078a6.7 6.7 0 0 1 .597-.933A7.01 7.01 0 0 0 3.051 3.05c.362.184.763.349 1.198.49zM3.509 7.5c.036-1.07.188-2.087.436-3.008a9.124 9.124 0 0 1-1.565-.667A6.964 6.964 0 0 0 1.018 7.5h2.49zm1.4-2.741a12.344 12.344 0 0 0-.4 2.741H7.5V5.091c-.91-.03-1.783-.145-2.591-.332zM8.5 5.09V7.5h2.99a12.342 12.342 0 0 0-.399-2.741c-.808.187-1.681.301-2.591.332zM4.51 8.5c.035.987.176 1.914.399 2.741A13.612 13.612 0 0 1 7.5 10.91V8.5H4.51zm3.99 0v2.409c.91.03 1.783.145 2.591.332.223-.827.364-1.754.4-2.741H8.5zm-3.282 3.696c.12.312.252.604.395.872.552 1.035 1.218 1.65 1.887 1.855V11.91c-.81.03-1.577.13-2.282.287zm.11 2.276a6.696 6.696 0 0 1-.598-.933 8.853 8.853 0 0 1-.481-1.079 8.38 8.38 0 0 0-1.198.49 7.01 7.01 0 0 0 2.276 1.522zm-1.383-2.964A13.36 13.36 0 0 1 3.508 8.5h-2.49a6.963 6.963 0 0 0 1.362 3.675c.47-.258.995-.482 1.565-.667zm6.728 2.964a7.009 7.009 0 0 0 2.275-1.521 8.376 8.376 0 0 0-1.197-.49 8.853 8.853 0 0 1-.481 1.078 6.688 6.688 0 0 1-.597.933zM8.5 11.909v3.014c.67-.204 1.335-.82 1.887-1.855.143-.268.276-.56.395-.872A12.63 12.63 0 0 0 8.5 11.91zm3.555-.401c.57.185 1.095.409 1.565.667A6.963 6.963 0 0 0 14.982 8.5h-2.49a13.36 13.36 0 0 1-.437 3.008zM14.982 7.5a6.963 6.963 0 0 0-1.362-3.675c-.47.258-.995.482-1.565.667.248.92.4 1.938.437 3.008h2.49zM11.27 2.461c.177.334.339.694.482 1.078a8.368 8.368 0 0 0 1.196-.49 7.01 7.01 0 0 0-2.275-1.52c.218.283.418.597.597.932zm-.488 1.343a7.765 7.765 0 0 0-.395-.872C9.835 1.897 9.17 1.282 8.5 1.077V4.09c.81-.03 1.577-.13 2.282-.287z"></path> </symbol> <symbol id="grid-fill" viewBox="0 0 16 16"> <path d="M1 2.5A1.5 1.5 0 0 1 2.5 1h3A1.5 1.5 0 0 1 7 2.5v3A1.5 1.5 0 0 1 5.5 7h-3A1.5 1.5 0 0 1 1 5.5v-3zm8 0A1.5 1.5 0 0 1 10.5 1h3A1.5 1.5 0 0 1 15 2.5v3A1.5 1.5 0 0 1 13.5 7h-3A1.5 1.5 0 0 1 9 5.5v-3zm-8 8A1.5 1.5 0 0 1 2.5 9h3A1.5 1.5 0 0 1 7 10.5v3A1.5 1.5 0 0 1 5.5 15h-3A1.5 1.5 0 0 1 1 13.5v-3zm8 0A1.5 1.5 0 0 1 10.5 9h3a1.5 1.5 0 0 1 1.5 1.5v3a1.5 1.5 0 0 1-1.5 1.5h-3A1.5 1.5 0 0 1 9 13.5v-3z"></path> </symbol> <symbol id="lightning-charge-fill" viewBox="0 0 16 16"> <path d="M11.251.068a.5.5 0 0 1 .227.58L9.677 6.5H13a.5.5 0 0 1 .364.843l-8 8.5a.5.5 0 0 1-.842-.49L6.323 9.5H3a.5.5 0 0 1-.364-.843l8-8.5a.5.5 0 0 1 .615-.09z"></path> </symbol> <symbol id="list" viewBox="0 0 16 16"> <path fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"></path> </symbol> <symbol id="magic" viewBox="0 0 16 16"> <path d="M9.5 2.672a.5.5 0 1 0 1 0V.843a.5.5 0 0 0-1 0v1.829Zm4.5.035A.5.5 0 0 0 13.293 2L12 3.293a.5.5 0 1 0 .707.707L14 2.707ZM7.293 4A.5.5 0 1 0 8 3.293L6.707 2A.5.5 0 0 0 6 2.707L7.293 4Zm-.621 2.5a.5.5 0 1 0 0-1H4.843a.5.5 0 1 0 0 1h1.829Zm8.485 0a.5.5 0 1 0 0-1h-1.829a.5.5 0 0 0 0 1h1.829ZM13.293 10A.5.5 0 1 0 14 9.293L12.707 8a.5.5 0 1 0-.707.707L13.293 10ZM9.5 11.157a.5.5 0 0 0 1 0V9.328a.5.5 0 0 0-1 0v1.829Zm1.854-5.097a.5.5 0 0 0 0-.706l-.708-.708a.5.5 0 0 0-.707 0L8.646 5.94a.5.5 0 0 0 0 .707l.708.708a.5.5 0 0 0 .707 0l1.293-1.293Zm-3 3a.5.5 0 0 0 0-.706l-.708-.708a.5.5 0 0 0-.707 0L.646 13.94a.5.5 0 0 0 0 .707l.708.708a.5.5 0 0 0 .707 0L8.354 9.06Z"></path> </symbol> <symbol id="menu-button-wide-fill" viewBox="0 0 16 16"> <path d="M1.5 0A1.5 1.5 0 0 0 0 1.5v2A1.5 1.5 0 0 0 1.5 5h13A1.5 1.5 0 0 0 16 3.5v-2A1.5 1.5 0 0 0 14.5 0h-13zm1 2h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1zm9.927.427A.25.25 0 0 1 12.604 2h.792a.25.25 0 0 1 .177.427l-.396.396a.25.25 0 0 1-.354 0l-.396-.396zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z"></path> </symbol> <symbol id="moon-stars-fill" viewBox="0 0 16 16"> <path d="M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278z"></path> <path d="M10.794 3.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387a1.734 1.734 0 0 0-1.097 1.097l-.387 1.162a.217.217 0 0 1-.412 0l-.387-1.162A1.734 1.734 0 0 0 9.31 6.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387a1.734 1.734 0 0 0 1.097-1.097l.387-1.162zM13.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.156 1.156 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.156 1.156 0 0 0-.732-.732l-.774-.258a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732L13.863.1z"></path> </symbol> <symbol id="palette2" viewBox="0 0 16 16"> <path d="M0 .5A.5.5 0 0 1 .5 0h5a.5.5 0 0 1 .5.5v5.277l4.147-4.131a.5.5 0 0 1 .707 0l3.535 3.536a.5.5 0 0 1 0 .708L10.261 10H15.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5H3a2.99 2.99 0 0 1-2.121-.879A2.99 2.99 0 0 1 0 13.044m6-.21 7.328-7.3-2.829-2.828L6 7.188v5.647zM4.5 13a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0zM15 15v-4H9.258l-4.015 4H15zM0 .5v12.495V.5z"></path> <path d="M0 12.995V13a3.07 3.07 0 0 0 0-.005z"></path> </symbol> <symbol id="plugin" viewBox="0 0 16 16"> <path fill-rule="evenodd" d="M1 8a7 7 0 1 1 2.898 5.673c-.167-.121-.216-.406-.002-.62l1.8-1.8a3.5 3.5 0 0 0 4.572-.328l1.414-1.415a.5.5 0 0 0 0-.707l-.707-.707 1.559-1.563a.5.5 0 1 0-.708-.706l-1.559 1.562-1.414-1.414 1.56-1.562a.5.5 0 1 0-.707-.706l-1.56 1.56-.707-.706a.5.5 0 0 0-.707 0L5.318 5.975a3.5 3.5 0 0 0-.328 4.571l-1.8 1.8c-.58.58-.62 1.6.121 2.137A8 8 0 1 0 0 8a.5.5 0 0 0 1 0Z"></path> </symbol> <symbol id="plus" viewBox="0 0 16 16"> <path d="M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z"></path> </symbol> <symbol id="sun-fill" viewBox="0 0 16 16"> <path d="M8 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z"></path> </symbol> <symbol id="three-dots" viewBox="0 0 16 16"> <path d="M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"></path> </symbol> <symbol id="tools" viewBox="0 0 16 16"> <path d="M1 0 0 1l2.2 3.081a1 1 0 0 0 .815.419h.07a1 1 0 0 1 .708.293l2.675 2.675-2.617 2.654A3.003 3.003 0 0 0 0 13a3 3 0 1 0 5.878-.851l2.654-2.617.968.968-.305.914a1 1 0 0 0 .242 1.023l3.356 3.356a1 1 0 0 0 1.414 0l1.586-1.586a1 1 0 0 0 0-1.414l-3.356-3.356a1 1 0 0 0-1.023-.242L10.5 9.5l-.96-.96 2.68-2.643A3.005 3.005 0 0 0 16 3c0-.269-.035-.53-.102-.777l-2.14 2.141L12 4l-.364-1.757L13.777.102a3 3 0 0 0-3.675 3.68L7.462 6.46 4.793 3.793a1 1 0 0 1-.293-.707v-.071a1 1 0 0 0-.419-.814L1 0zm9.646 10.646a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708zM3 11l.471.242.529.026.287.445.445.287.026.529L5 13l-.242.471-.026.529-.445.287-.287.445-.529.026L3 15l-.471-.242L2 14.732l-.287-.445L1.268 14l-.026-.529L1 13l.242-.471.026-.529.445-.287.287-.445.529-.026L3 11z"></path> </symbol> <symbol id="ui-radios" viewBox="0 0 16 16"> <path d="M7 2.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1zM0 12a3 3 0 1 1 6 0 3 3 0 0 1-6 0zm7-1.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1zm0-5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 8a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zM3 1a3 3 0 1 0 0 6 3 3 0 0 0 0-6zm0 4.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"></path> </symbol> </svg> <header class="navbar navbar-expand-lg bd-navbar sticky-top"> <nav class="container-xxl bd-gutter flex-wrap flex-lg-nowrap" aria-label="Main navigation"> <div class="bd-navbar-toggle"> <button class="navbar-toggler p-2" type="button" data-bs-toggle="offcanvas" data-bs-target="#bdSidebar" aria-controls="bdSidebar" aria-label="Toggle docs navigation"> <svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 16 16" class="bi" height="24" width="24" aria-hidden="true"> <path fill-rule="evenodd" d="M2.5 11.5A.5.5 0 0 1 3 11h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4A.5.5 0 0 1 3 3h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"></path> </svg> <span class="d-none fs-6 pe-1">Browse</span> </button> </div> <a class="navbar-brand p-0 me-0 me-lg-2" href="/" aria-label="Bootstrap"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 118 94" role="img" class="d-block my-1" height="32" width="40"> <title>Bootstrap</title> <path fill-rule="evenodd" clip-rule="evenodd" d="M24.509 0c-6.733 0-11.715 5.893-11.492 12.284.214 6.14-.064 14.092-2.066 20.577C8.943 39.365 5.547 43.485 0 44.014v5.972c5.547.529 8.943 4.649 10.951 11.153 2.002 6.485 2.28 14.437 2.066 20.577C12.794 88.106 17.776 94 24.51 94H93.5c6.733 0 11.714-5.893 11.491-12.284-.214-6.14.064-14.092 2.066-20.577 2.009-6.504 5.396-10.624 10.943-11.153v-5.972c-5.547-.529-8.934-4.649-10.943-11.153-2.002-6.484-2.28-14.437-2.066-20.577C105.214 5.894 100.233 0 93.5 0H24.508zM80 57.863C80 66.663 73.436 72 62.543 72H44a2 2 0 01-2-2V24a2 2 0 012-2h18.437c9.083 0 15.044 4.92 15.044 12.474 0 5.302-4.01 10.049-9.119 10.88v.277C75.317 46.394 80 51.21 80 57.863zM60.521 28.34H49.948v14.934h8.905c6.884 0 10.68-2.772 10.68-7.727 0-4.643-3.264-7.207-9.012-7.207zM49.948 49.2v16.458H60.91c7.167 0 10.964-2.876 10.964-8.281 0-5.406-3.903-8.178-11.425-8.178H49.948z" fill="currentColor"></path> </svg> </a> <div class="d-flex"> <div class="bd-search" id="docsearch" data-bd-docs-version="5.3"></div> <button class="navbar-toggler d-flex d-lg-none order-3 p-2" type="button" data-bs-toggle="offcanvas" data-bs-target="#bdNavbar" aria-controls="bdNavbar" aria-label="Toggle navigation"> <svg class="bi" aria-hidden="true"><use xlink:href="#three-dots"></use></svg> </button> </div> <div class="offcanvas-lg offcanvas-end flex-grow-1" tabindex="-1" id="bdNavbar" aria-labelledby="bdNavbarOffcanvasLabel"> <div class="offcanvas-header px-4 pb-0"> <h5 class="offcanvas-title text-white" id="bdNavbarOffcanvasLabel">Bootstrap</h5> <button type="button" class="btn-close btn-close-white" data-bs-dismiss="offcanvas" aria-label="Close" data-bs-target="#bdNavbar"></button> </div> <div class="offcanvas-body p-4 pt-0 p-lg-0"> <hr class="d-lg-none text-white-50"> <ul class="navbar-nav flex-row flex-wrap bd-navbar-nav"> <li class="nav-item col-6 col-lg-auto"> <a aria-current="true" class="nav-link py-2 px-0 px-lg-2 active" href="/docs/5.3/getting-started/introduction/">
Docs
</a> </li> <li class="nav-item col-6 col-lg-auto"> <a class="nav-link py-2 px-0 px-lg-2" href="/docs/5.3/examples/"> Examples </a> </li> <li class="nav-item col-6 col-lg-auto"> <a class="nav-link py-2 px-0 px-lg-2" href="https://icons.getbootstrap.com/" target="_blank" rel="noopener"> Icons </a> </li> <li class="nav-item col-6 col-lg-auto"> <a class="nav-link py-2 px-0 px-lg-2" href="https://themes.getbootstrap.com/" target="_blank" rel="noopener"> Themes </a> </li> <li class="nav-item col-6 col-lg-auto"> <a class="nav-link py-2 px-0 px-lg-2" href="https://blog.getbootstrap.com/" target="_blank" rel="noopener"> Blog </a> </li> </ul> <hr class="d-lg-none text-white-50"> <ul class="navbar-nav flex-row flex-wrap ms-md-auto"> <li class="nav-item col-6 col-lg-auto"> <a class="nav-link py-2 px-0 px-lg-2 nav-link py-2 px-0 px-lg-2" href="https://github.com/twbs" target="_blank" rel="noopener"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 499.36" role="img" class="navbar-nav-svg" height="16" width="16"> <title>GitHub</title> <path fill="currentColor" fill-rule="evenodd" d="M256 0C114.64 0 0 114.61 0 256c0 113.09 73.34 209 175.08 242.9 12.8 2.35 17.47-5.56 17.47-12.34 0-6.08-.22-22.18-.35-43.54-71.2 15.49-86.2-34.34-86.2-34.34-11.64-29.57-28.42-37.45-28.42-37.45-23.27-15.84 1.73-15.55 1.73-15.55 25.69 1.81 39.21 26.38 39.21 26.38 22.84 39.12 59.92 27.82 74.5 21.27 2.33-16.54 8.94-27.82 16.25-34.22-56.84-6.43-116.6-28.43-116.6-126.49 0-27.95 10-50.8 26.35-68.69-2.63-6.48-11.42-32.5 2.51-67.75 0 0 21.49-6.88 70.4 26.24a242.65 242.65 0 0 1 128.18 0c48.87-33.13 70.33-26.24 70.33-26.24 14 35.25 5.18 61.27 2.55 67.75 16.41 17.9 26.31 40.75 26.31 68.69 0 98.35-59.85 120-116.88 126.32 9.19 7.9 17.38 23.53 17.38 47.41 0 34.22-.31 61.83-.31 70.23 0 6.85 4.61 14.81 17.6 12.31C438.72 464.97 512 369.08 512 256.02 512 114.62 397.37 0 256 0z"></path> </svg> <small class="d-lg-none ms-2">GitHub</small> </a> </li> <li class="nav-item col-6 col-lg-auto"> <a class="nav-link py-2 px-0 px-lg-2 nav-link py-2 px-0 px-lg-2" href="https://x.com/getbootstrap" target="_blank" rel="noopener"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 1227" role="img" class="navbar-nav-svg" height="16" width="16"> <title>X</title> <path fill="currentColor" d="M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284h.026ZM569.165 687.828l-47.468-67.894-377.686-540.24h162.604l304.797 435.991 47.468 67.894 396.2 566.721H892.476L569.165 687.854v-.026Z"></path> </svg> <small class="d-lg-none ms-2">X</small> </a> </li> <li class="nav-item col-6 col-lg-auto"> <a class="nav-link py-2 px-0 px-lg-2 nav-link py-2 px-0 px-lg-2" href="https://opencollective.com/bootstrap" target="_blank" rel="noopener"> <svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" fill-rule="evenodd" viewBox="0 0 40 41" role="img" class="navbar-nav-svg" height="16" width="16"> <title>Open Collective</title> <path fill-opacity=".4" d="M32.8 21c0 2.4-.8 4.9-2 6.9l5.1 5.1c2.5-3.4 4.1-7.6 4.1-12 0-4.6-1.6-8.8-4-12.2L30.7 14c1.2 2 2 4.3 2 7z"></path> <path d="M20 33.7a12.8 12.8 0 0 1 0-25.6c2.6 0 5 .7 7 2.1L32 5a20 20 0 1 0 .1 31.9l-5-5.2a13 13 0 0 1-7 2z"></path> </svg> <small class="d-lg-none ms-2">Open Collective</small> </a> </li> <li class="nav-item py-2 py-lg-1 col-12 col-lg-auto"> <div class="vr d-none d-lg-flex h-100 mx-lg-2 text-white"></div> <hr class="d-lg-none my-2 text-white-50"> </li> <li class="nav-item dropdown"> <button type="button" class="btn btn-link nav-link py-2 px-0 px-lg-2 dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false" data-bs-display="static"> <span class="d-lg-none" aria-hidden="true">Bootstrap</span><span class="visually-hidden">Bootstrap&nbsp;</span> v5.3 <span class="visually-hidden">(switch to other versions)</span> </button> <ul class="dropdown-menu dropdown-menu-end"> <li><h6 class="dropdown-header">v5 releases</h6></li> <li> <a class="dropdown-item d-flex align-items-center justify-content-between active" aria-current="true" href="/docs/5.3/getting-started/rtl/">
Latest (5.3.x)
<svg class="bi" aria-hidden="true"><use xlink:href="#check2"></use></svg> </a> </li> <li> <a class="dropdown-item" href="https://getbootstrap.com/docs/5.2/getting-started/rtl/">
v5.2.3
</a> </li> <li> <a class="dropdown-item" href="https://getbootstrap.com/docs/5.1/getting-started/rtl/">
v5.1.3
</a> </li> <li> <a class="dropdown-item" href="https://getbootstrap.com/docs/5.0/getting-started/rtl/">
v5.0.2
</a> </li> <li><hr class="dropdown-divider"></li> <li><h6 class="dropdown-header">Previous releases</h6></li> <li><a class="dropdown-item" href="https://getbootstrap.com/docs/4.6/">v4.6.x</a></li> <li><a class="dropdown-item" href="https://getbootstrap.com/docs/3.4/">v3.4.1</a></li> <li><a class="dropdown-item" href="https://getbootstrap.com/2.3.2/">v2.3.2</a></li> <li><hr class="dropdown-divider"></li> <li><a class="dropdown-item" href="/docs/versions/">All versions</a></li> </ul> </li> <li class="nav-item py-2 py-lg-1 col-12 col-lg-auto"> <div class="vr d-none d-lg-flex h-100 mx-lg-2 text-white"></div> <hr class="d-lg-none my-2 text-white-50"> </li> <li class="nav-item dropdown"> <button class="btn btn-link nav-link px-0 px-lg-2 py-2 dropdown-toggle d-flex align-items-center" id="bd-theme" type="button" aria-expanded="false" data-bs-toggle="dropdown" data-bs-display="static" aria-label="Toggle theme (auto)"> <svg class="bi my-1 theme-icon-active" aria-hidden="true"><use href="#circle-half"></use></svg> <span class="d-lg-none ms-2" id="bd-theme-text">Toggle theme</span> </button> <ul class="dropdown-menu dropdown-menu-end" aria-labelledby="bd-theme-text"> <li> <button type="button" class="dropdown-item d-flex align-items-center" data-bs-theme-value="light" aria-pressed="false"> <svg class="bi me-2 opacity-50" aria-hidden="true"><use href="#sun-fill"></use></svg>
Light
<svg class="bi ms-auto d-none" aria-hidden="true"><use href="#check2"></use></svg> </button> </li> <li> <button type="button" class="dropdown-item d-flex align-items-center" data-bs-theme-value="dark" aria-pressed="false"> <svg class="bi me-2 opacity-50" aria-hidden="true"><use href="#moon-stars-fill"></use></svg>
Dark
<svg class="bi ms-auto d-none" aria-hidden="true"><use href="#check2"></use></svg> </button> </li> <li> <button type="button" class="dropdown-item d-flex align-items-center active" data-bs-theme-value="auto" aria-pressed="true"> <svg class="bi me-2 opacity-50" aria-hidden="true"><use href="#circle-half"></use></svg>
Auto
<svg class="bi ms-auto d-none" aria-hidden="true"><use href="#check2"></use></svg> </button> </li> </ul> </li> </ul> </div> </div> </nav> </header> <div class="container-xxl bd-gutter mt-3 my-md-4 bd-layout"> <aside class="bd-sidebar"> <div class="offcanvas-lg offcanvas-start" tabindex="-1" id="bdSidebar" aria-labelledby="bdSidebarOffcanvasLabel"> <div class="offcanvas-header border-bottom"> <h5 class="offcanvas-title" id="bdSidebarOffcanvasLabel">Browse docs</h5> <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close" data-bs-target="#bdSidebar"></button> </div> <div class="offcanvas-body"> <nav class="bd-links w-100" id="bd-docs-nav" aria-label="Docs navigation"> <ul class="bd-links-nav list-unstyled mb-0 pb-3 pb-md-2 pe-lg-2"> <li class="bd-links-group py-2"> <strong class="bd-links-heading d-flex w-100 align-items-center fw-semibold"> <svg class="bi me-2" style="color: var(--bs-indigo);" aria-hidden="true"> <use xlink:href="#book-half"></use> </svg> Getting started </strong> <ul class="list-unstyled fw-normal pb-2 small"> <li> <a href="/docs/5.3/getting-started/introduction" class="bd-links-link d-inline-block rounded"> Introduction </a> </li><li> <a href="/docs/5.3/getting-started/download" class="bd-links-link d-inline-block rounded"> Download </a> </li><li> <a href="/docs/5.3/getting-started/contents" class="bd-links-link d-inline-block rounded"> Contents </a> </li><li> <a href="/docs/5.3/getting-started/browsers-devices" class="bd-links-link d-inline-block rounded"> Browsers &amp; devices </a> </li><li> <a href="/docs/5.3/getting-started/javascript" class="bd-links-link d-inline-block rounded"> JavaScript </a> </li><li> <a href="/docs/5.3/getting-started/webpack" class="bd-links-link d-inline-block rounded"> Webpack </a> </li><li> <a href="/docs/5.3/getting-started/parcel" class="bd-links-link d-inline-block rounded"> Parcel </a> </li><li> <a href="/docs/5.3/getting-started/vite" class="bd-links-link d-inline-block rounded"> Vite </a> </li><li> <a href="/docs/5.3/getting-started/accessibility" class="bd-links-link d-inline-block rounded"> Accessibility </a> </li><li> <a href="/docs/5.3/getting-started/rfs" class="bd-links-link d-inline-block rounded"> RFS </a> </li><li> <a href="/docs/5.3/getting-started/rtl" class="bd-links-link d-inline-block rounded active" aria-current="page"> RTL </a> </li><li> <a href="/docs/5.3/getting-started/contribute" class="bd-links-link d-inline-block rounded"> Contribute </a> </li> </ul> </li><li class="bd-links-group py-2"> <strong class="bd-links-heading d-flex w-100 align-items-center fw-semibold"> <svg class="bi me-2" style="color: var(--bs-pink);" aria-hidden="true"> <use xlink:href="#palette2"></use> </svg> Customize </strong> <ul class="list-unstyled fw-normal pb-2 small"> <li> <a href="/docs/5.3/customize/overview" class="bd-links-link d-inline-block rounded"> Overview </a> </li><li> <a href="/docs/5.3/customize/sass" class="bd-links-link d-inline-block rounded"> Sass </a> </li><li> <a href="/docs/5.3/customize/options" class="bd-links-link d-inline-block rounded"> Options </a> </li><li> <a href="/docs/5.3/customize/color" class="bd-links-link d-inline-block rounded"> Color </a> </li><li> <a href="/docs/5.3/customize/color-modes" class="bd-links-link d-inline-block rounded"> Color modes </a> </li><li> <a href="/docs/5.3/customize/components" class="bd-links-link d-inline-block rounded"> Components </a> </li><li> <a href="/docs/5.3/customize/css-variables" class="bd-links-link d-inline-block rounded"> CSS variables </a> </li><li> <a href="/docs/5.3/customize/optimize" class="bd-links-link d-inline-block rounded"> Optimize </a> </li> </ul> </li><li class="bd-links-group py-2"> <strong class="bd-links-heading d-flex w-100 align-items-center fw-semibold"> <svg class="bi me-2" style="color: var(--bs-teal);" aria-hidden="true"> <use xlink:href="#grid-fill"></use> </svg> Layout </strong> <ul class="list-unstyled fw-normal pb-2 small"> <li> <a href="/docs/5.3/layout/breakpoints" class="bd-links-link d-inline-block rounded"> Breakpoints </a> </li><li> <a href="/docs/5.3/layout/containers" class="bd-links-link d-inline-block rounded"> Containers </a> </li><li> <a href="/docs/5.3/layout/grid" class="bd-links-link d-inline-block rounded"> Grid </a> </li><li> <a href="/docs/5.3/layout/columns" class="bd-links-link d-inline-block rounded"> Columns </a> </li><li> <a href="/docs/5.3/layout/gutters" class="bd-links-link d-inline-block rounded"> Gutters </a> </li><li> <a href="/docs/5.3/layout/utilities" class="bd-links-link d-inline-block rounded"> Utilities </a> </li><li> <a href="/docs/5.3/layout/z-index" class="bd-links-link d-inline-block rounded"> Z-index </a> </li><li> <a href="/docs/5.3/layout/css-grid" class="bd-links-link d-inline-block rounded"> CSS Grid </a> </li> </ul> </li><li class="bd-links-group py-2"> <strong class="bd-links-heading d-flex w-100 align-items-center fw-semibold"> <svg class="bi me-2" style="color: var(--bs-gray);" aria-hidden="true"> <use xlink:href="#file-earmark-richtext"></use> </svg> Content </strong> <ul class="list-unstyled fw-normal pb-2 small"> <li> <a href="/docs/5.3/content/reboot" class="bd-links-link d-inline-block rounded"> Reboot </a> </li><li> <a href="/docs/5.3/content/typography" class="bd-links-link d-inline-block rounded"> Typography </a> </li><li> <a href="/docs/5.3/content/images" class="bd-links-link d-inline-block rounded"> Images </a> </li><li> <a href="/docs/5.3/content/tables" class="bd-links-link d-inline-block rounded"> Tables </a> </li><li> <a href="/docs/5.3/content/figures" class="bd-links-link d-inline-block rounded"> Figures </a> </li> </ul> </li><li class="bd-links-group py-2"> <strong class="bd-links-heading d-flex w-100 align-items-center fw-semibold"> <svg class="bi me-2" style="color: var(--bs-blue);" aria-hidden="true"> <use xlink:href="#ui-radios"></use> </svg> Forms </strong> <ul class="list-unstyled fw-normal pb-2 small"> <li> <a href="/docs/5.3/forms/overview" class="bd-links-link d-inline-block rounded"> Overview </a> </li><li> <a href="/docs/5.3/forms/form-control" class="bd-links-link d-inline-block rounded"> Form control </a> </li><li> <a href="/docs/5.3/forms/select" class="bd-links-link d-inline-block rounded"> Select </a> </li><li> <a href="/docs/5.3/forms/checks-radios" class="bd-links-link d-inline-block rounded"> Checks &amp; radios </a> </li><li> <a href="/docs/5.3/forms/range" class="bd-links-link d-inline-block rounded"> Range </a> </li><li> <a href="/docs/5.3/forms/input-group" class="bd-links-link d-inline-block rounded"> Input group </a> </li><li> <a href="/docs/5.3/forms/floating-labels" class="bd-links-link d-inline-block rounded"> Floating labels </a> </li><li> <a href="/docs/5.3/forms/layout" class="bd-links-link d-inline-block rounded"> Layout </a> </li><li> <a href="/docs/5.3/forms/validation" class="bd-links-link d-inline-block rounded"> Validation </a> </li> </ul> </li><li class="bd-links-group py-2"> <strong class="bd-links-heading d-flex w-100 align-items-center fw-semibold"> <svg class="bi me-2" style="color: var(--bs-cyan);" aria-hidden="true"> <use xlink:href="#menu-button-wide-fill"></use> </svg> Components </strong> <ul class="list-unstyled fw-normal pb-2 small"> <li> <a href="/docs/5.3/components/accordion" class="bd-links-link d-inline-block rounded"> Accordion </a> </li><li> <a href="/docs/5.3/components/alerts" class="bd-links-link d-inline-block rounded"> Alerts </a> </li><li> <a href="/docs/5.3/components/badge" class="bd-links-link d-inline-block rounded"> Badge </a> </li><li> <a href="/docs/5.3/components/breadcrumb" class="bd-links-link d-inline-block rounded"> Breadcrumb </a> </li><li> <a href="/docs/5.3/components/buttons" class="bd-links-link d-inline-block rounded"> Buttons </a> </li><li> <a href="/docs/5.3/components/button-group" class="bd-links-link d-inline-block rounded"> Button group </a> </li><li> <a href="/docs/5.3/components/card" class="bd-links-link d-inline-block rounded"> Card </a> </li><li> <a href="/docs/5.3/components/carousel" class="bd-links-link d-inline-block rounded"> Carousel </a> </li><li> <a href="/docs/5.3/components/close-button" class="bd-links-link d-inline-block rounded"> Close button </a> </li><li> <a href="/docs/5.3/components/collapse" class="bd-links-link d-inline-block rounded"> Collapse </a> </li><li> <a href="/docs/5.3/components/dropdowns" class="bd-links-link d-inline-block rounded"> Dropdowns </a> </li><li> <a href="/docs/5.3/components/list-group" class="bd-links-link d-inline-block rounded"> List group </a> </li><li> <a href="/docs/5.3/components/modal" class="bd-links-link d-inline-block rounded"> Modal </a> </li><li> <a href="/docs/5.3/components/navbar" class="bd-links-link d-inline-block rounded"> Navbar </a> </li><li> <a href="/docs/5.3/components/navs-tabs" class="bd-links-link d-inline-block rounded"> Navs &amp; tabs </a> </li><li> <a href="/docs/5.3/components/offcanvas" class="bd-links-link d-inline-block rounded"> Offcanvas </a> </li><li> <a href="/docs/5.3/components/pagination" class="bd-links-link d-inline-block rounded"> Pagination </a> </li><li> <a href="/docs/5.3/components/placeholders" class="bd-links-link d-inline-block rounded"> Placeholders </a> </li><li> <a href="/docs/5.3/components/popovers" class="bd-links-link d-inline-block rounded"> Popovers </a> </li><li> <a href="/docs/5.3/components/progress" class="bd-links-link d-inline-block rounded"> Progress </a> </li><li> <a href="/docs/5.3/components/scrollspy" class="bd-links-link d-inline-block rounded"> Scrollspy </a> </li><li> <a href="/docs/5.3/components/spinners" class="bd-links-link d-inline-block rounded"> Spinners </a> </li><li> <a href="/docs/5.3/components/toasts" class="bd-links-link d-inline-block rounded"> Toasts </a> </li><li> <a href="/docs/5.3/components/tooltips" class="bd-links-link d-inline-block rounded"> Tooltips </a> </li> </ul> </li><li class="bd-links-group py-2"> <strong class="bd-links-heading d-flex w-100 align-items-center fw-semibold"> <svg class="bi me-2" style="color: var(--bs-orange);" aria-hidden="true"> <use xlink:href="#magic"></use> </svg> Helpers </strong> <ul class="list-unstyled fw-normal pb-2 small"> <li> <a href="/docs/5.3/helpers/clearfix" class="bd-links-link d-inline-block rounded"> Clearfix </a> </li><li> <a href="/docs/5.3/helpers/color-background" class="bd-links-link d-inline-block rounded"> Color &amp; background </a> </li><li> <a href="/docs/5.3/helpers/colored-links" class="bd-links-link d-inline-block rounded"> Colored links </a> </li><li> <a href="/docs/5.3/helpers/focus-ring" class="bd-links-link d-inline-block rounded"> Focus ring </a> </li><li> <a href="/docs/5.3/helpers/icon-link" class="bd-links-link d-inline-block rounded"> Icon link </a> </li><li> <a href="/docs/5.3/helpers/position" class="bd-links-link d-inline-block rounded"> Position </a> </li><li> <a href="/docs/5.3/helpers/ratio" class="bd-links-link d-inline-block rounded"> Ratio </a> </li><li> <a href="/docs/5.3/helpers/stacks" class="bd-links-link d-inline-block rounded"> Stacks </a> </li><li> <a href="/docs/5.3/helpers/stretched-link" class="bd-links-link d-inline-block rounded"> Stretched link </a> </li><li> <a href="/docs/5.3/helpers/text-truncation" class="bd-links-link d-inline-block rounded"> Text truncation </a> </li><li> <a href="/docs/5.3/helpers/vertical-rule" class="bd-links-link d-inline-block rounded"> Vertical rule </a> </li><li> <a href="/docs/5.3/helpers/visually-hidden" class="bd-links-link d-inline-block rounded"> Visually hidden </a> </li> </ul> </li><li class="bd-links-group py-2"> <strong class="bd-links-heading d-flex w-100 align-items-center fw-semibold"> <svg class="bi me-2" style="color: var(--bs-red);" aria-hidden="true"> <use xlink:href="#braces-asterisk"></use> </svg> Utilities </strong> <ul class="list-unstyled fw-normal pb-2 small"> <li> <a href="/docs/5.3/utilities/api" class="bd-links-link d-inline-block rounded"> API </a> </li><li> <a href="/docs/5.3/utilities/background" class="bd-links-link d-inline-block rounded"> Background </a> </li><li> <a href="/docs/5.3/utilities/borders" class="bd-links-link d-inline-block rounded"> Borders </a> </li><li> <a href="/docs/5.3/utilities/colors" class="bd-links-link d-inline-block rounded"> Colors </a> </li><li> <a href="/docs/5.3/utilities/display" class="bd-links-link d-inline-block rounded"> Display </a> </li><li> <a href="/docs/5.3/utilities/flex" class="bd-links-link d-inline-block rounded"> Flex </a> </li><li> <a href="/docs/5.3/utilities/float" class="bd-links-link d-inline-block rounded"> Float </a> </li><li> <a href="/docs/5.3/utilities/interactions" class="bd-links-link d-inline-block rounded"> Interactions </a> </li><li> <a href="/docs/5.3/utilities/link" class="bd-links-link d-inline-block rounded"> Link </a> </li><li> <a href="/docs/5.3/utilities/object-fit" class="bd-links-link d-inline-block rounded"> Object fit </a> </li><li> <a href="/docs/5.3/utilities/opacity" class="bd-links-link d-inline-block rounded"> Opacity </a> </li><li> <a href="/docs/5.3/utilities/overflow" class="bd-links-link d-inline-block rounded"> Overflow </a> </li><li> <a href="/docs/5.3/utilities/position" class="bd-links-link d-inline-block rounded"> Position </a> </li><li> <a href="/docs/5.3/utilities/shadows" class="bd-links-link d-inline-block rounded"> Shadows </a> </li><li> <a href="/docs/5.3/utilities/sizing" class="bd-links-link d-inline-block rounded"> Sizing </a> </li><li> <a href="/docs/5.3/utilities/spacing" class="bd-links-link d-inline-block rounded"> Spacing </a> </li><li> <a href="/docs/5.3/utilities/text" class="bd-links-link d-inline-block rounded"> Text </a> </li><li> <a href="/docs/5.3/utilities/vertical-align" class="bd-links-link d-inline-block rounded"> Vertical align </a> </li><li> <a href="/docs/5.3/utilities/visibility" class="bd-links-link d-inline-block rounded"> Visibility </a> </li><li> <a href="/docs/5.3/utilities/z-index" class="bd-links-link d-inline-block rounded"> Z-index </a> </li> </ul> </li><li class="bd-links-group py-2"> <strong class="bd-links-heading d-flex w-100 align-items-center fw-semibold"> <svg class="bi me-2" style="color: var(--bs-blue);" aria-hidden="true"> <use xlink:href="#tools"></use> </svg> Extend </strong> <ul class="list-unstyled fw-normal pb-2 small"> <li> <a href="/docs/5.3/extend/approach" class="bd-links-link d-inline-block rounded"> Approach </a> </li><li> <a href="/docs/5.3/extend/icons" class="bd-links-link d-inline-block rounded"> Icons </a> </li> </ul> </li><li class="bd-links-group py-2"> <strong class="bd-links-heading d-flex w-100 align-items-center fw-semibold"> <svg class="bi me-2" style="color: var(--bs-indigo);" aria-hidden="true"> <use xlink:href="#globe2"></use> </svg> About </strong> <ul class="list-unstyled fw-normal pb-2 small"> <li> <a href="/docs/5.3/about/overview" class="bd-links-link d-inline-block rounded"> Overview </a> </li><li> <a href="/docs/5.3/about/team" class="bd-links-link d-inline-block rounded"> Team </a> </li><li> <a href="/docs/5.3/about/brand" class="bd-links-link d-inline-block rounded"> Brand </a> </li><li> <a href="/docs/5.3/about/license" class="bd-links-link d-inline-block rounded"> License </a> </li><li> <a href="/docs/5.3/about/translations" class="bd-links-link d-inline-block rounded"> Translations </a> </li> </ul> </li> <li class="bd-links-span-all mt-1 mb-3 mx-4 border-top"></li> <li class="bd-links-span-all"> <a href="/docs/5.3/migration/" class="bd-links-link d-inline-block rounded small"> Migration </a> </li> </ul> </nav> </div> </div> </aside> <main class="bd-main order-1"> <div class="bd-intro pt-2 ps-lg-2"> <div class="d-md-flex flex-md-row-reverse align-items-center justify-content-between"> <div class="mb-3 mb-md-0 d-flex text-nowrap"> <a class="btn btn-sm btn-bd-light rounded-2" href="https://github.com/twbs/bootstrap/blob/v5.3.7/site/src/content/docs/getting-started/rtl.mdx" title="View and edit this file on GitHub" target="_blank" rel="noopener">
View on GitHub
</a> </div> <h1 class="bd-title mb-0" id="content">RTL</h1> </div> <div class="bd-subtitle"> <p>Learn how to enable support for right-to-left text in Bootstrap across our layout, components, and utilities.</p>
</div> </div> <div class="bd-toc mt-3 mb-5 my-lg-0 mb-lg-5 px-sm-1 text-body-secondary"> <button class="btn btn-link p-md-0 mb-2 mb-md-0 text-decoration-none bd-toc-toggle d-md-none" type="button" data-bs-toggle="collapse" data-bs-target="#tocContents" aria-expanded="false" aria-controls="tocContents">
On this page
<svg class="bi d-md-none ms-2" aria-hidden="true"> <use xlink:href="#chevron-expand"></use> </svg> </button>
<strong class="d-none d-md-block h6 my-2 ms-3" id="docs-tocs">On this page</strong>
<hr class="d-none d-md-block my-2 ms-3">
<div class="collapse bd-toc-collapse" id="tocContents"> <nav id="TableOfContents" aria-labelledby="docs-tocs"> <ul> <li> <a href="#get-familiar">Get familiar</a> </li><li> <a href="#required-html">Required HTML</a> <ul> <li> <a href="#starter-template">Starter template</a> </li><li> <a href="#rtl-examples">RTL examples</a> </li> </ul> </li><li> <a href="#approach">Approach</a> </li><li> <a href="#customize-from-source">Customize from source</a> <ul> <li> <a href="#custom-rtl-values">Custom RTL values</a> </li><li> <a href="#alternative-font-stack">Alternative font stack</a> </li><li> <a href="#ltr-and-rtl-at-the-same-time">LTR and RTL at the same time</a> </li> </ul> </li><li> <a href="#the-breadcrumb-case">The breadcrumb case</a> </li><li> <a href="#additional-resources">Additional resources</a> </li> </ul> </nav> </div> <script async src="https://cdn.carbonads.com/carbon.js?serve=CKYIKKJL&placement=getbootstrapcom" id="_carbonads_js"></script> </div> <div class="bd-content ps-lg-2"> <h2 id="get-familiar">Get familiar<a class="anchor-link" aria-label="Link to this section: Get familiar" href="#get-familiar"> </a></h2>
<p>We recommend getting familiar with Bootstrap first by reading through our <a href="/docs/5.3/getting-started/introduction">Getting Started Introduction page</a>. Once youve run through it, continue reading here for how to enable RTL.</p>
<p>You may also want to read up on <a href="https://rtlcss.com/">the RTLCSS project</a>, as it powers our approach to RTL.</p>
<div class="bd-callout bd-callout-warning"> <p><strong>Bootstraps RTL feature is still experimental</strong> and will evolve based on user feedback. Spotted something or have an improvement to suggest? <a href="https://github.com/twbs/bootstrap/issues/new/choose">Open an issue</a>, wed love to get your insights.</p> </div>
<h2 id="required-html">Required HTML<a class="anchor-link" aria-label="Link to this section: Required HTML" href="#required-html"> </a></h2>
<p>There are two strict requirements for enabling RTL in Bootstrap-powered pages.</p>
<ol>
<li>Set <code>dir=&quot;rtl&quot;</code> on the <code>&lt;html&gt;</code> element.</li>
<li>Add an appropriate <code>lang</code> attribute, like <code>lang=&quot;ar&quot;</code>, on the <code>&lt;html&gt;</code> element.</li>
</ol>
<p>From there, youll need to include an RTL version of our CSS. For example, heres the stylesheet for our compiled and minified CSS with RTL enabled:</p>
<script type="module" src="/docs/5.3/assets/Code.astro_astro_type_script_index_0_lang.5BTJN8ix.js"></script> <div class="bd-code-snippet"> <div class="bd-clipboard"> <button type="button" class="btn-clipboard"> <svg class="bi" role="img" aria-label="Copy"> <use xlink:href="#clipboard"></use> </svg> </button> </div> <div class="highlight"> <pre class="language-html"><code is:raw class="language-html"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>link</span> <span class="token attr-name">rel</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>stylesheet<span class="token punctuation">&quot;</span></span> <span class="token attr-name">href</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>https://cdn.jsdelivr.net/npm/bootstrap@5.3.7/dist/css/bootstrap.rtl.min.css<span class="token punctuation">&quot;</span></span> <span class="token attr-name">integrity</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>sha384-Xbg45MqvDIk1e563NLpGEulpX6AvL404DP+/iCgW9eFa2BqztiwTexswJo2jLMue<span class="token punctuation">&quot;</span></span> <span class="token attr-name">crossorigin</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>anonymous<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>
</code></pre> </div> </div>
<h3 id="starter-template">Starter template<a class="anchor-link" aria-label="Link to this section: Starter template" href="#starter-template"> </a></h3>
<p>You can see the above requirements reflected in this modified RTL starter template.</p>
<div class="bd-code-snippet"> <div class="bd-clipboard"> <button type="button" class="btn-clipboard"> <svg class="bi" role="img" aria-label="Copy"> <use xlink:href="#clipboard"></use> </svg> </button> </div> <div class="highlight"> <pre class="language-html"><code is:raw class="language-html"><span class="token doctype"><span class="token punctuation">&lt;!</span><span class="token doctype-tag">doctype</span> <span class="token name">html</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>html</span> <span class="token attr-name">lang</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>ar<span class="token punctuation">&quot;</span></span> <span class="token attr-name">dir</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>rtl<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>head</span><span class="token punctuation">&gt;</span></span>
<span class="token comment">&lt;!-- Required meta tags --&gt;</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>meta</span> <span class="token attr-name">charset</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>utf-8<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>meta</span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>viewport<span class="token punctuation">&quot;</span></span> <span class="token attr-name">content</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>width=device-width, initial-scale=1<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>
<span class="token comment">&lt;!-- Bootstrap CSS --&gt;</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>link</span> <span class="token attr-name">rel</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>stylesheet<span class="token punctuation">&quot;</span></span> <span class="token attr-name">href</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>https://cdn.jsdelivr.net/npm/bootstrap@5.3.7/dist/css/bootstrap.rtl.min.css<span class="token punctuation">&quot;</span></span> <span class="token attr-name">integrity</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>sha384-Xbg45MqvDIk1e563NLpGEulpX6AvL404DP+/iCgW9eFa2BqztiwTexswJo2jLMue<span class="token punctuation">&quot;</span></span> <span class="token attr-name">crossorigin</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>anonymous<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>title</span><span class="token punctuation">&gt;</span></span>مرحبًا بالعالم!<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>title</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>head</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>body</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>h1</span><span class="token punctuation">&gt;</span></span>مرحبًا بالعالم!<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>h1</span><span class="token punctuation">&gt;</span></span>
<span class="token comment">&lt;!-- Optional JavaScript; choose one of the two! --&gt;</span>
<span class="token comment">&lt;!-- Option 1: Bootstrap Bundle with Popper --&gt;</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>script</span> <span class="token attr-name">src</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>https://cdn.jsdelivr.net/npm/bootstrap@5.3.7/dist/js/bootstrap.bundle.min.js<span class="token punctuation">&quot;</span></span> <span class="token attr-name">integrity</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>sha384-ndDqU0Gzau9qJ1lfW4pNLlhNTkCfHzAVBReH9diLvGRem5+R9g2FzA8ZGN954O5Q<span class="token punctuation">&quot;</span></span> <span class="token attr-name">crossorigin</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>anonymous<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span><span class="token script"></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>script</span><span class="token punctuation">&gt;</span></span>
<span class="token comment">&lt;!-- Option 2: Separate Popper and Bootstrap JS --&gt;</span>
<span class="token comment">&lt;!--
&lt;script src=&quot;https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js&quot; integrity=&quot;sha384-I7E8VVD/ismYTF4hNIPjVp/Zjvgyol6VFvRkX/vR+Vc4jQkC+hVqc2pM8ODewa9r&quot; crossorigin=&quot;anonymous&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.3.7/dist/js/bootstrap.min.js&quot; integrity=&quot;sha384-7qAoOXltbVP82dhxHAUje59V5r2YsVfBafyUDxEdApLPmcdhBPg1DKg1ERo0BZlK&quot; crossorigin=&quot;anonymous&quot;&gt;&lt;/script&gt;
--&gt;</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>body</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>html</span><span class="token punctuation">&gt;</span></span>
</code></pre> </div> </div>
<h3 id="rtl-examples">RTL examples<a class="anchor-link" aria-label="Link to this section: RTL examples" href="#rtl-examples"> </a></h3>
<p>Get started with one of our several <a href="/docs/5.3/examples/#rtl">RTL examples</a>.</p>
<h2 id="approach">Approach<a class="anchor-link" aria-label="Link to this section: Approach" href="#approach"> </a></h2>
<p>Our approach to building RTL support into Bootstrap comes with two important decisions that impact how we write and use our CSS:</p>
<ol>
<li>
<p><strong>First, we decided to build it with the <a href="https://rtlcss.com/">RTLCSS</a> project.</strong> This gives us some powerful features for managing changes and overrides when moving from LTR to RTL. It also allows us to build two versions of Bootstrap from one codebase.</p>
</li>
<li>
<p><strong>Second, weve renamed a handful of directional classes to adopt a logical properties approach.</strong> Most of you have already interacted with logical properties thanks to our flex utilities—they replace direction properties like <code>left</code> and <code>right</code> in favor <code>start</code> and <code>end</code>. That makes the class names and values appropriate for LTR and RTL without any overhead.</p>
</li>
</ol>
<p>For example, instead of <code>.ml-3</code> for <code>margin-left</code>, use <code>.ms-3</code>.</p>
<p>Working with RTL, through our source Sass or compiled CSS, shouldnt be much different from our default LTR though.</p>
<h2 id="customize-from-source">Customize from source<a class="anchor-link" aria-label="Link to this section: Customize from source" href="#customize-from-source"> </a></h2>
<p>When it comes to <a href="/docs/5.3/customize/sass">customization</a>, the preferred way is to take advantage of variables, maps, and mixins. This approach works the same for RTL, even if its post-processed from the compiled files, thanks to <a href="https://rtlcss.com/learn/getting-started/why-rtlcss/">how RTLCSS works</a>.</p>
<h3 id="custom-rtl-values">Custom RTL values<a class="anchor-link" aria-label="Link to this section: Custom RTL values" href="#custom-rtl-values"> </a></h3>
<p>Using <a href="https://rtlcss.com/learn/usage-guide/value-directives/">RTLCSS value directives</a>, you can make a variable output a different value for RTL. For example, to decrease the weight for <code>$font-weight-bold</code> throughout the codebase, you may use the <code>/*rtl: {value}*/</code> syntax:</p>
<div class="bd-code-snippet"> <div class="bd-clipboard"> <button type="button" class="btn-clipboard"> <svg class="bi" role="img" aria-label="Copy"> <use xlink:href="#clipboard"></use> </svg> </button> </div> <div class="highlight"> <pre class="language-scss"><code is:raw class="language-scss"><span class="token property"><span class="token variable">$font-weight-bold</span></span><span class="token punctuation">:</span> 700 #<span class="token punctuation">{</span><span class="token comment">/* rtl:600 */</span><span class="token punctuation">}</span> <span class="token statement keyword">!default</span><span class="token punctuation">;</span>
</code></pre> </div> </div>
<p>Which would output to the following for our default CSS and RTL CSS:</p>
<div class="bd-code-snippet"> <div class="bd-clipboard"> <button type="button" class="btn-clipboard"> <svg class="bi" role="img" aria-label="Copy"> <use xlink:href="#clipboard"></use> </svg> </button> </div> <div class="highlight"> <pre class="language-css"><code is:raw class="language-css"><span class="token comment">/* bootstrap.css */</span>
<span class="token selector">dt</span> <span class="token punctuation">{</span>
<span class="token property">font-weight</span><span class="token punctuation">:</span> 700 <span class="token comment">/* rtl:600 */</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">/* bootstrap.rtl.css */</span>
<span class="token selector">dt</span> <span class="token punctuation">{</span>
<span class="token property">font-weight</span><span class="token punctuation">:</span> 600<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
</code></pre> </div> </div>
<h3 id="alternative-font-stack">Alternative font stack<a class="anchor-link" aria-label="Link to this section: Alternative font stack" href="#alternative-font-stack"> </a></h3>
<p>In the case youre using a custom font, be aware that not all fonts support the non-Latin alphabet. To switch from Pan-European to Arabic family, you may need to use <code>/*rtl:insert: {value}*/</code> in your font stack to modify the names of font families.</p>
<p>For example, to switch from <code>Helvetica Neue</code> font for LTR to <code>Helvetica Neue Arabic</code> for RTL, your Sass code could look like this:</p>
<div class="bd-code-snippet"> <div class="bd-clipboard"> <button type="button" class="btn-clipboard"> <svg class="bi" role="img" aria-label="Copy"> <use xlink:href="#clipboard"></use> </svg> </button> </div> <div class="highlight"> <pre class="language-scss"><code is:raw class="language-scss"><span class="token property"><span class="token variable">$font-family-sans-serif</span></span><span class="token punctuation">:</span>
Helvetica Neue #<span class="token punctuation">{</span><span class="token string">&quot;/* rtl:insert:Arabic */&quot;</span><span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token comment">// Cross-platform generic font family (default user interface font)</span>
system-ui<span class="token punctuation">,</span>
<span class="token comment">// Safari for macOS and iOS (San Francisco)</span>
-apple-system<span class="token punctuation">,</span>
<span class="token comment">// Chrome &lt; 56 for macOS (San Francisco)</span>
BlinkMacSystemFont<span class="token punctuation">,</span>
<span class="token comment">// Windows</span>
<span class="token string">&quot;Segoe UI&quot;</span><span class="token punctuation">,</span>
<span class="token comment">// Android</span>
Roboto<span class="token punctuation">,</span>
<span class="token comment">// Basic web fallback</span>
Arial<span class="token punctuation">,</span>
<span class="token comment">// Linux</span>
<span class="token string">&quot;Noto Sans&quot;</span><span class="token punctuation">,</span>
<span class="token comment">// Sans serif fallback</span>
sans-serif<span class="token punctuation">,</span>
<span class="token comment">// Emoji fonts</span>
<span class="token string">&quot;Apple Color Emoji&quot;</span><span class="token punctuation">,</span> <span class="token string">&quot;Segoe UI Emoji&quot;</span><span class="token punctuation">,</span> <span class="token string">&quot;Segoe UI Symbol&quot;</span><span class="token punctuation">,</span> <span class="token string">&quot;Noto Color Emoji&quot;</span> <span class="token statement keyword">!default</span><span class="token punctuation">;</span>
</code></pre> </div> </div>
<h3 id="ltr-and-rtl-at-the-same-time">LTR and RTL at the same time<a class="anchor-link" aria-label="Link to this section: LTR and RTL at the same time" href="#ltr-and-rtl-at-the-same-time"> </a></h3>
<p>Need both LTR and RTL on the same page? Thanks to <a href="https://rtlcss.com/learn/usage-guide/string-map/">RTLCSS String Maps</a>, this is pretty straightforward. Wrap your <code>@import</code>s with a class, and set a custom rename rule for RTLCSS:</p>
<div class="bd-code-snippet"> <div class="bd-clipboard"> <button type="button" class="btn-clipboard"> <svg class="bi" role="img" aria-label="Copy"> <use xlink:href="#clipboard"></use> </svg> </button> </div> <div class="highlight"> <pre class="language-scss"><code is:raw class="language-scss"><span class="token comment">/* rtl:begin:options: {
&quot;autoRename&quot;: true,
&quot;stringMap&quot;:[ {
&quot;name&quot;: &quot;ltr-rtl&quot;,
&quot;priority&quot;: 100,
&quot;search&quot;: [&quot;ltr&quot;],
&quot;replace&quot;: [&quot;rtl&quot;],
&quot;options&quot;: {
&quot;scope&quot;: &quot;*&quot;,
&quot;ignoreCase&quot;: false
}
} ]
} */</span>
<span class="token selector">.ltr </span><span class="token punctuation">{</span>
<span class="token keyword">@import</span> <span class="token string">&quot;../node_modules/bootstrap/scss/bootstrap&quot;</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">/*rtl:end:options*/</span>
</code></pre> </div> </div>
<p>After running Sass then RTLCSS, each selector in your CSS files will be prepended by <code>.ltr</code>, and <code>.rtl</code> for RTL files. Now youre able to use both files on the same page, and simply use <code>.ltr</code> or <code>.rtl</code> on your components wrappers to use one or the other direction.</p>
<div class="bd-callout bd-callout-warning"> <p><strong>Edge cases and known limitations</strong> to consider when working with a combined LTR and RTL implementation:</p><ol>
<li>When switching <code>.ltr</code> and <code>.rtl</code>, make sure you add <code>dir</code> and <code>lang</code> attributes accordingly.</li>
<li>Loading both files can be a real performance bottleneck: consider some <a href="/docs/5.3/customize/optimize">optimization</a>, and maybe try to <a href="https://www.filamentgroup.com/lab/load-css-simpler/">load one of those files asynchronously</a>.</li>
<li>Nesting styles this way will prevent our <code>form-validation-state()</code> mixin from working as intended, thus require you tweak it a bit by yourself. <a href="https://github.com/twbs/bootstrap/issues/31223">See #31223</a>.</li>
</ol> </div>
<p>Do you want to automate this process and address several edge cases involving both directions within a single stylesheet? Then, consider using <a href="https://github.com/elchininet/postcss-rtlcss">PostCSS RTLCSS</a> as a <a href="https://github.com/postcss/postcss">PostCSS</a> plugin to process your source files. PostCSS RTLCSS uses <a href="https://rtlcss.com">RTLCSS</a> behind the scenes to manage the direction flipping process, but it separates the flipped declarations into rules with a different prefix for LTR and RTL, something that allows you to have both directions within the same stylesheet file. By doing this, you can switch between LTR and RTL orientations by simply changing the <code>dir</code> of the page (or even by modifying a specific class if you configure the plugin accordingly).</p>
<div class="bd-callout bd-callout-warning"> <p><strong>Important things to take into account</strong> when using PostCSS RTLCSS to build a combined LTR and RTL implementation:</p><ol>
<li>It is recommended that you add the <code>dir</code> attribute to the <code>html</code> element. This way, the entire page will be affected when you change the direction. Also, make sure you add the <code>lang</code> attribute accordingly.</li>
<li>Having a single bundle with both directions will increase the size of the final stylesheet (on average, by 20%-30%): consider some <a href="/docs/5.3/customize/optimize">optimization</a>.</li>
<li>Take into account that PostCSS RTLCSS is not compatible with <code>/* rtl:remove */</code> directives because it doesnt remove any CSS rule. You should replace your <code>/* rtl:remove */</code>, <code>/* rtl:begin:remove */</code> and <code>/* rtl:end:remove */</code> directives with <code>/* rtl:freeze */</code>, <code>/* rtl:begin:freeze */</code> and <code>/* rtl:end:freeze */</code> directives respectively. These directives will prefix the targeted rules or declarations with the current direction but will not create an RTL counterpart (same result as the <code>remove</code> ones in RTLCSS).</li>
</ol> </div>
<h2 id="the-breadcrumb-case">The breadcrumb case<a class="anchor-link" aria-label="Link to this section: The breadcrumb case" href="#the-breadcrumb-case"> </a></h2>
<p>The <a href="/docs/5.3/components/breadcrumb#dividers">breadcrumb separator</a> is the only case requiring its own brand-new variable— namely <code>$breadcrumb-divider-flipped</code> —defaulting to <code>$breadcrumb-divider</code>.</p>
<h2 id="additional-resources">Additional resources<a class="anchor-link" aria-label="Link to this section: Additional resources" href="#additional-resources"> </a></h2>
<ul>
<li><a href="https://rtlcss.com/">RTLCSS</a></li>
<li><a href="https://rtlstyling.com/posts/rtl-styling">RTL Styling 101</a></li>
</ul> </div> </main> </div> <footer class="bd-footer py-4 py-md-5 mt-5 bg-body-tertiary"> <div class="container py-4 py-md-5 px-4 px-md-3 text-body-secondary"> <div class="row"> <div class="col-lg-3 mb-3"> <a class="d-inline-flex align-items-center mb-2 text-body-emphasis text-decoration-none" href="/" aria-label="Bootstrap"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 118 94" role="img" class="d-block me-2" height="32" width="40"> <title>Bootstrap</title> <path fill-rule="evenodd" clip-rule="evenodd" d="M24.509 0c-6.733 0-11.715 5.893-11.492 12.284.214 6.14-.064 14.092-2.066 20.577C8.943 39.365 5.547 43.485 0 44.014v5.972c5.547.529 8.943 4.649 10.951 11.153 2.002 6.485 2.28 14.437 2.066 20.577C12.794 88.106 17.776 94 24.51 94H93.5c6.733 0 11.714-5.893 11.491-12.284-.214-6.14.064-14.092 2.066-20.577 2.009-6.504 5.396-10.624 10.943-11.153v-5.972c-5.547-.529-8.934-4.649-10.943-11.153-2.002-6.484-2.28-14.437-2.066-20.577C105.214 5.894 100.233 0 93.5 0H24.508zM80 57.863C80 66.663 73.436 72 62.543 72H44a2 2 0 01-2-2V24a2 2 0 012-2h18.437c9.083 0 15.044 4.92 15.044 12.474 0 5.302-4.01 10.049-9.119 10.88v.277C75.317 46.394 80 51.21 80 57.863zM60.521 28.34H49.948v14.934h8.905c6.884 0 10.68-2.772 10.68-7.727 0-4.643-3.264-7.207-9.012-7.207zM49.948 49.2v16.458H60.91c7.167 0 10.964-2.876 10.964-8.281 0-5.406-3.903-8.178-11.425-8.178H49.948z" fill="currentColor"></path> </svg> <span class="fs-5">Bootstrap</span> </a> <ul class="list-unstyled small"> <li class="mb-2">
Designed and built with all the love in the world by the <a href="/docs/5.3/about/team">Bootstrap team</a> with the help of <a href="https://github.com/twbs/bootstrap/graphs/contributors">our contributors</a>.
</li> <li class="mb-2">
Code licensed <a href="https://github.com/twbs/bootstrap/blob/main/LICENSE" target="_blank" rel="license noopener">MIT</a>, docs <a href="https://creativecommons.org/licenses/by/3.0/" target="_blank" rel="license noopener">CC BY 3.0</a>.
</li> <li class="mb-2">Currently v5.3.7.</li> </ul> </div> <div class="col-6 col-lg-2 offset-lg-1 mb-3"> <h5>Links</h5> <ul class="list-unstyled"> <li class="mb-2"><a href="/">Home</a></li> <li class="mb-2"><a href="/docs/5.3/">Docs</a></li> <li class="mb-2"><a href="/docs/5.3/examples">Examples</a></li> <li class="mb-2"><a href="https://icons.getbootstrap.com/">Icons</a></li> <li class="mb-2"><a href="https://themes.getbootstrap.com/">Themes</a></li> <li class="mb-2"><a href="https://blog.getbootstrap.com/">Blog</a></li> <li class="mb-2"><a href="https://cottonbureau.com/people/bootstrap" target="_blank" rel="noopener">Swag Store</a></li> </ul> </div> <div class="col-6 col-lg-2 mb-3"> <h5>Guides</h5> <ul class="list-unstyled"> <li class="mb-2"><a href="/docs/5.3/getting-started">Getting started</a></li> <li class="mb-2"><a href="/docs/5.3/examples/starter-template">Starter template</a></li> <li class="mb-2"><a href="/docs/5.3/getting-started/webpack">Webpack</a></li> <li class="mb-2"><a href="/docs/5.3/getting-started/parcel">Parcel</a></li> <li class="mb-2"><a href="/docs/5.3/getting-started/vite">Vite</a></li> </ul> </div> <div class="col-6 col-lg-2 mb-3"> <h5>Projects</h5> <ul class="list-unstyled"> <li class="mb-2"> <a href="https://github.com/twbs/bootstrap" target="_blank" rel="noopener">Bootstrap 5</a> </li> <li class="mb-2"> <a href="https://github.com/twbs/bootstrap/tree/v4-dev" target="_blank" rel="noopener">Bootstrap 4</a> </li> <li class="mb-2"><a href="https://github.com/twbs/icons" target="_blank" rel="noopener">Icons</a></li> <li class="mb-2"><a href="https://github.com/twbs/rfs" target="_blank" rel="noopener">RFS</a></li> <li class="mb-2"> <a href="https://github.com/twbs/examples" target="_blank" rel="noopener">Examples repo</a> </li> </ul> </div> <div class="col-6 col-lg-2 mb-3"> <h5>Community</h5> <ul class="list-unstyled"> <li class="mb-2"> <a href="https://github.com/twbs/bootstrap/issues" target="_blank" rel="noopener">Issues</a> </li> <li class="mb-2"> <a href="https://github.com/twbs/bootstrap/discussions" target="_blank" rel="noopener">Discussions</a> </li> <li class="mb-2"> <a href="https://github.com/sponsors/twbs" target="_blank" rel="noopener">Corporate sponsors</a> </li> <li class="mb-2"><a href="https://opencollective.com/bootstrap" target="_blank" rel="noopener">Open Collective</a></li> <li class="mb-2"> <a href="https://stackoverflow.com/questions/tagged/bootstrap-5" target="_blank" rel="noopener">Stack Overflow</a> </li> </ul> </div> </div> </div> </footer> <script src="/docs/5.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ndDqU0Gzau9qJ1lfW4pNLlhNTkCfHzAVBReH9diLvGRem5+R9g2FzA8ZGN954O5Q"></script> <script type="module" src="/docs/5.3/assets/Scripts.astro_astro_type_script_index_0_lang.CAqD2hc_.js"></script> <script type="module">const p=()=>{const t=document.querySelector(".bd-sidebar"),a=document.querySelector(".bd-links-nav .active");if(!t||!a)return;const c=t.clientHeight,i=a.offsetTop,r=a.clientHeight,n=i,s=n-c+r;(t.scrollTop>n||t.scrollTop<s)&&(t.scrollTop=n-c/2+r/2)},v=()=>{document.querySelectorAll('[data-bs-toggle="tooltip"]').forEach(e=>{new bootstrap.Tooltip(e)}),document.querySelectorAll('[data-bs-toggle="popover"]').forEach(e=>{new bootstrap.Popover(e)});const t=document.getElementById("toastPlacement");t&&document.getElementById("selectToastPlacement").addEventListener("change",function(){t.dataset.originalClass||(t.dataset.originalClass=t.className),t.className=`${t.dataset.originalClass} ${this.value}`}),document.querySelectorAll(".bd-example .toast").forEach(e=>{new bootstrap.Toast(e,{autohide:!1}).show()});const a=document.getElementById("liveToastBtn"),c=document.getElementById("liveToast");if(a){const e=bootstrap.Toast.getOrCreateInstance(c);a.addEventListener("click",()=>{e.show()})}const i=document.getElementById("liveAlertPlaceholder"),r=(e,o)=>{const l=document.createElement("div");l.innerHTML=[`<div class="alert alert-${o} alert-dismissible" role="alert">`,` <div>${e}</div>`,' <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>',"</div>"].join(""),i.append(l)},n=document.getElementById("liveAlertBtn");n&&n.addEventListener("click",()=>{r("Nice, you triggered this alert message!","success")}),document.querySelectorAll('.carousel:not([data-bs-ride="carousel"])').forEach(e=>{bootstrap.Carousel.getOrCreateInstance(e)}),document.querySelectorAll('.bd-example-indeterminate [type="checkbox"]').forEach(e=>{e.id.includes("Indeterminate")&&(e.indeterminate=!0)}),document.querySelectorAll('.bd-content [href="#"]').forEach(e=>{e.addEventListener("click",o=>{o.preventDefault()})});const s=document.getElementById("exampleModal");s&&s.addEventListener("show.bs.modal",e=>{const l=e.relatedTarget.getAttribute("data-bs-whatever"),m=s.querySelector(".modal-title"),u=s.querySelector(".modal-body input");m.textContent=`New message to ${l}`,u.value=l});const d=document.querySelectorAll(".bd-example-offcanvas .offcanvas");d&&d.forEach(e=>{e.addEventListener("show.bs.offcanvas",o=>{o.preventDefault()},!1)})};p();v();</script> <script type="module" src="/docs/5.3/assets/DocsScripts.astro_astro_type_script_index_0_lang.C_9SZjsN.js"></script> <div class="position-fixed" aria-hidden="true"> <input type="text" tabindex="-1"> </div> </body></html>