精品久久久久久亚洲精品_成人午夜网站_www日本高清_亚洲精品久久久久午夜福

RTL

Learn how to enable support for right-to-left text in Bootstrap across our layout, components, and utilities.

Get familiar

We recommend getting familiar with Bootstrap first by reading through our Getting Started Introduction page. Once you’ve run through it, continue reading here for how to enable RTL.

You may also want to read up on the RTLCSS project, as it powers our approach to RTL.

Experimental feature

The RTL feature is still experimental and will probably evolve according to user feedback. Spotted something or have an improvement to suggest? Open an issue, we’d love to get your insights.

Required HTML

There are two strict requirements for enabling RTL in Bootstrap-powered pages.

  1. Set dir="rtl" on the <html> element.
  2. Add an appropriate lang attribute, like lang="ar", on the <html> element.

From there, you’ll need to include an RTL version of our CSS. For example, here’s the stylesheet for our compiled and minified CSS with RTL enabled:

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/css/bootstrap.rtl.min.css" integrity="sha384-trxYGD5BY4TyBTvU5H23FalSCYwpLA0vWEvXXGm5eytyztxb+97WzzY+IWDOSbav" crossorigin="anonymous">

Starter template

You can see the above requirements reflected in this modified RTL starter template.

<!doctype html>
<html lang="ar" dir="rtl">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">

<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/css/bootstrap.rtl.min.css" integrity="sha384-trxYGD5BY4TyBTvU5H23FalSCYwpLA0vWEvXXGm5eytyztxb+97WzzY+IWDOSbav" crossorigin="anonymous">

<title>????? ???????!</title>
</head>
<body>
<h1>????? ???????!</h1>

<!-- Optional JavaScript; choose one of the two! -->

<!-- Option 1: Bootstrap Bundle with Popper -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/js/bootstrap.bundle.min.js" integrity="sha384-JEW9xMcG8R+pH31jmWH6WWP0WintQrMb4s7ZOdauHnUtxwoG2vI5DkLtS3qm9Ekf" crossorigin="anonymous"></script>

<!-- Option 2: Separate Popper and Bootstrap JS -->
<!--
    <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.1/dist/umd/popper.min.js" integrity="sha384-SR1sx49pcuLnqZUnnPwx6FCym0wLsk5JZuNx2bPPENzswTNFaQU1RDvt3wT4gWFG" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/js/bootstrap.min.js" integrity="sha384-j0CNLUeiqtyaRmlzUHCPZ+Gy5fQu0dQ6eZ/xAww941Ai1SxSY+0EQqNXNE6DZiVc" crossorigin="anonymous"></script>
    -->
</body>
</html>

RTL examples

Get started with one of our several RTL examples.

Approach

Our approach to building RTL support into Bootstrap comes with two important decisions that impact how we write and use our CSS:

  1. First, we decided to build it with the RTLCSS project. 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.

  2. Second, we’ve renamed a handful of directional classes to adopt a logical properties approach. Most of you have already interacted with logical properties thanks to our flex utilities—they replace direction properties like left and right in favor start and end. That makes the class names and values appropriate for LTR and RTL without any overhead.

For example, instead of .ml-3 for margin-left, use .ms-3.

Working with RTL, through our source Sass or compiled CSS, shouldn’t be much different from our default LTR though.

Customize from source

When it comes to customization, the preferred way is to take advantage of variables, maps, and mixins. This approach works the same for RTL, even if it’s post-processed from the compiled files, thanks to how RTLCSS works.

Custom RTL values

Using RTLCSS value directives, you can make a variable output a different value for RTL. For example, to decrease the weight for $font-weight-bold throughout the codebase, you may use the /*rtl: {value}*/ syntax:

$font-weight-bold: 700 #{/* rtl:600 */} !default;

Which would ouput to the following for our default CSS and RTL CSS:

/* bootstrap.css */
dt {
font-weight: 700 /* rtl:600 */;
}

/* bootstrap.rtl.css */
dt {
font-weight: 600;
}

Alternative font stack

In the case you’re 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 /*rtl:insert: {value}*/ in your font stack to modify the names of font families.

For example, to switch from Helvetica Neue Webfont for LTR to Helvetica Neue Arabic for RTL, your Sass code look like this:

$font-family-sans-serif:
Helvetica Neue #{"/* rtl:insert:Arabic */"},
// Cross-platform generic font family (default user interface font)
system-ui,
// Safari for macOS and iOS (San Francisco)
-apple-system,
// Chrome < 56 for macOS (San Francisco)
BlinkMacSystemFont,
// Windows
"Segoe UI",
// Android
Roboto,
// Basic web fallback
Arial,
// Linux
"Noto Sans",
// Sans serif fallback
sans-serif,
// Emoji fonts
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;

LTR and RTL at the same time

Need both LTR and RTL on the same page? Thanks to RTLCSS String Maps, this is pretty straightforward. Wrap your @imports with a class, and set a custom rename rule for RTLCSS:

/* rtl:begin:options: {
  "autoRename": true,
  "stringMap":[
    "name": "ltr-rtl",
    "priority": 100,
    "search": ["ltr"],
    "replace": ["rtl"],
    "options": {
      "scope": "*",
      "ignoreCase": false
    }
  ]
} */
.ltr {
@import "../node_modules/bootstrap/scss/bootstrap";
}
/*rtl:end:options*/

After running Sass then RTLCSS, each selector in your CSS files will be prepended by .ltr, and .rtl for RTL files. Now you’re able to use both files on the same page, and simply use .ltr or .rtl on your components wrappers to use one or the other direction.

Edge cases and known limitations

While this approach is understandable, please pay attention to the following:

  1. When switching .ltr and .rtl, make sure you add dir and lang attributes accordingly.
  2. Loading both files can be a real performance bottleneck: consider some optimization, and maybe try to load one of those files asynchronously.
  3. Nesting styles this way will prevent our form-validation-state() mixin from working as intended, thus require you tweak it a bit by yourself. See #31223.

The breadcrumb case

The breadcrumb separator is the only case requiring its own brand new variable— namely $breadcrumb-divider-flipped —defaulting to $breadcrumb-divider.

Additional resources

返回頂部
精品久久久久久亚洲精品_成人午夜网站_www日本高清_亚洲精品久久久久午夜福

      9000px;">

          欧美日韩视频在线第一区| 久久久激情视频| 一本色道a无线码一区v| 91精品国产福利在线观看| 国产色综合久久| 秋霞影院一区二区| 国内精品免费**视频| 欧美亚洲国产一区二区三区| 日韩欧美一卡二卡| 午夜欧美2019年伦理| 色综合久久天天| 国产精品国产三级国产普通话蜜臀| 日韩电影一区二区三区四区| 粉嫩久久99精品久久久久久夜| 欧美综合欧美视频| 亚洲曰韩产成在线| 欧美这里有精品| 亚洲福利一二三区| 在线不卡的av| 国产+成+人+亚洲欧洲自线| 欧美色区777第一页| 欧美日韩免费观看一区二区三区| 中文字幕二三区不卡| 成人少妇影院yyyy| 夜夜嗨av一区二区三区四季av | 日韩免费视频一区| 国产精品成人在线观看| 色综合久久88色综合天天免费| √…a在线天堂一区| 在线国产亚洲欧美| 狠狠色丁香久久婷婷综| 中文一区二区在线观看| 欧美日韩亚洲综合一区二区三区| 美女视频免费一区| 中文字幕日韩av资源站| 欧美日韩国产小视频在线观看| 黄色日韩三级电影| 亚洲自拍都市欧美小说| 久久美女高清视频| 51精品国自产在线| 成人18精品视频| 狠狠网亚洲精品| 精品亚洲aⅴ乱码一区二区三区| 在线免费观看不卡av| 亚洲色图制服诱惑 | 午夜精品一区二区三区电影天堂 | 九九国产精品视频| 亚洲第一在线综合网站| 国产精品久线观看视频| 欧美变态tickling挠脚心| 在线观看www91| 一本一本久久a久久精品综合麻豆| 韩国精品在线观看| 久久99久久精品欧美| 奇米四色…亚洲| 美女精品一区二区| 亚洲影院在线观看| 成人毛片视频在线观看| 99国产精品国产精品久久| 国产精品888| thepron国产精品| 久久精品视频在线看| 久久精品无码一区二区三区| 欧美日韩国产片| 亚洲成人手机在线| 狠狠色综合色综合网络| 国产麻豆欧美日韩一区| 成人一区二区三区在线观看| 99免费精品在线| 日韩一区二区中文字幕| 26uuu精品一区二区| 亚洲欧洲性图库| 青青草精品视频| 97se亚洲国产综合自在线观| 一本大道综合伊人精品热热| 欧美mv日韩mv| 亚洲一区二区av在线| 日韩高清在线电影| 色香蕉成人二区免费| 中文字幕不卡的av| 高清不卡一二三区| 国产日韩欧美精品电影三级在线| 日精品一区二区| 日韩免费一区二区三区在线播放| 久久精品人人做人人爽人人| 韩国视频一区二区| 日韩精品一区二| 激情欧美日韩一区二区| 日韩丝袜情趣美女图片| 免费成人在线影院| 在线影视一区二区三区| 97se亚洲国产综合自在线不卡| 91视频在线观看| 国产日韩一级二级三级| 偷偷要91色婷婷| 91激情在线视频| 国产精品久久久久久久久图文区| 91黄色小视频| 国产精品国产三级国产aⅴ中文| 亚洲乱码日产精品bd| 成人精品国产一区二区4080| 久久人人97超碰com| 国产一本一道久久香蕉| 日韩欧美区一区二| 国产美女精品一区二区三区| 精品日韩一区二区| 成人做爰69片免费看网站| 欧美不卡一区二区三区四区| 久久电影国产免费久久电影| 欧美va亚洲va香蕉在线| 国产成人精品影视| 亚洲一区二区在线免费看| 欧美日韩激情在线| 国产麻豆成人传媒免费观看| 国产成人在线观看免费网站| 国产亚洲欧美色| 99久久久精品| 日本欧美在线观看| 免费看精品久久片| 日本一区二区在线不卡| 亚洲卡通欧美制服中文| 国产精品成人免费| 欧美乱妇一区二区三区不卡视频| 久久成人18免费观看| 亚洲香蕉伊在人在线观| 国产精品网站一区| 日韩欧美电影一二三| 精品免费视频一区二区| 69久久99精品久久久久婷婷 | 亚洲一区二区三区四区在线| 久久精品一区蜜桃臀影院| 欧美日韩黄色影视| 欧美一区二区三区爱爱| 欧美日本在线一区| 91精品国产麻豆| 在线欧美小视频| 色综合中文综合网| 91蜜桃在线免费视频| 成人免费毛片a| 欧美日韩一区精品| 一区二区三区日韩欧美精品| 综合色天天鬼久久鬼色| 青娱乐精品在线视频| 国产自产v一区二区三区c| 天堂成人国产精品一区| 琪琪久久久久日韩精品| 韩国精品免费视频| 欧美在线不卡一区| 久久综合一区二区| 欧美韩国日本一区| 一区二区三区在线观看欧美| 日本麻豆一区二区三区视频| 国产麻豆一精品一av一免费 | 国产精品美女久久福利网站| 亚洲色图第一区| 美日韩一区二区| 在线亚洲精品福利网址导航| 精品免费国产一区二区三区四区| 国产69精品久久777的优势| 91麻豆自制传媒国产之光| 久久久精品免费免费| 久久成人免费电影| 欧美一级高清大全免费观看| 精品久久国产老人久久综合| 久久精品欧美一区二区三区不卡| 亚洲一区二区av在线| 色综合久久久久综合体| 在线观看91视频| 欧美日韩综合色| 亚洲精品视频一区二区| 国产大陆亚洲精品国产| 欧美大白屁股肥臀xxxxxx| 日日夜夜一区二区| 一区二区三区不卡视频在线观看| 国产精品黄色在线观看| 欧美日韩国产高清一区二区 | 欧美精品一二三| 中文字幕免费不卡| 亚洲小说春色综合另类电影| 日本成人在线电影网| 亚洲444eee在线观看| 岛国一区二区在线观看| 久久精品国产成人一区二区三区 | 亚洲视频一区二区在线观看| 亚洲欧美成人一区二区三区| 洋洋成人永久网站入口| 国产校园另类小说区| 亚洲综合无码一区二区| 日日摸夜夜添夜夜添精品视频| 丝袜美腿亚洲综合| 视频一区在线播放| 91精品国产综合久久蜜臀| 4438x亚洲最大成人网| 亚洲男同1069视频| 久久久久久久一区| 欧美日本精品一区二区三区| 91理论电影在线观看| 国产成人在线观看免费网站| 午夜精品成人在线| 亚洲免费观看在线视频|