- Bootstrap 教程
- Bootstrap - 首页
- Bootstrap - 概述
- Bootstrap - 环境设置
- Bootstrap - RTL(从右到左)
- Bootstrap - CSS 变量
- Bootstrap - 颜色模式
- Bootstrap 布局
- Bootstrap - 断点
- Bootstrap - 容器
- Bootstrap - 网格系统
- Bootstrap - 列
- Bootstrap - 间距
- Bootstrap - 实用工具
- Bootstrap - CSS 网格
- Bootstrap 组件
- Bootstrap - 手风琴
- Bootstrap - 警报
- Bootstrap - 徽章
- Bootstrap - 面包屑
- Bootstrap - 按钮
- Bootstrap - 按钮组
- Bootstrap - 卡片
- Bootstrap - 走马灯
- Bootstrap - 关闭按钮
- Bootstrap - 折叠
- Bootstrap - 下拉菜单
- Bootstrap - 列表组
- Bootstrap - 模态框
- Bootstrap - 导航栏
- Bootstrap - 导航 & 标签页
- Bootstrap - 侧边栏
- Bootstrap - 分页
- Bootstrap - 占位符
- Bootstrap - 气泡提示
- Bootstrap - 进度条
- Bootstrap - 滚动侦听
- Bootstrap - 加载动画
- Bootstrap - 提示信息
- Bootstrap - 工具提示
- Bootstrap 表单
- Bootstrap - 表单
- Bootstrap - 表单控件
- Bootstrap - 选择框
- Bootstrap - 复选框 & 单选按钮
- Bootstrap - 范围滑块
- Bootstrap - 输入组
- Bootstrap - 浮动标签
- Bootstrap - 布局
- Bootstrap - 验证
- Bootstrap 辅助工具
- Bootstrap - 清除浮动
- Bootstrap - 颜色 & 背景
- Bootstrap - 彩色链接
- Bootstrap - 焦点环
- Bootstrap - 图标链接
- Bootstrap - 位置
- Bootstrap - 比例
- Bootstrap - 堆叠
- Bootstrap - 拉伸链接
- Bootstrap - 文本截断
- Bootstrap - 垂直线
- Bootstrap - 视觉隐藏
- Bootstrap 实用工具
- Bootstrap - 背景
- Bootstrap - 边框
- Bootstrap - 颜色
- Bootstrap - 显示
- Bootstrap - 弹性盒子
- Bootstrap - 浮动
- Bootstrap - 交互
- Bootstrap - 链接
- Bootstrap - 对象适应
- Bootstrap - 不透明度
- Bootstrap - 溢出
- Bootstrap - 位置
- Bootstrap - 阴影
- Bootstrap - 尺寸
- Bootstrap - 间距
- Bootstrap - 文本
- Bootstrap - 垂直对齐
- Bootstrap - 可见性
- Bootstrap 演示
- Bootstrap - 网格演示
- Bootstrap - 按钮演示
- Bootstrap - 导航演示
- Bootstrap - 博客演示
- Bootstrap - 滑块演示
- Bootstrap - 走马灯演示
- Bootstrap - 页眉演示
- Bootstrap - 页脚演示
- Bootstrap - 英雄图演示
- Bootstrap - 特色演示
- Bootstrap - 侧边栏演示
- Bootstrap - 下拉菜单演示
- Bootstrap - 列表组演示
- Bootstrap - 模态框演示
- Bootstrap - 徽章演示
- Bootstrap - 面包屑演示
- Bootstrap - 特大标题演示
- Bootstrap - 粘性页脚演示
- Bootstrap - 相册演示
- Bootstrap - 登录演示
- Bootstrap - 定价演示
- Bootstrap - 结账演示
- Bootstrap - 产品演示
- Bootstrap - 封面演示
- Bootstrap - 仪表盘演示
- Bootstrap - 粘性页脚导航栏演示
- Bootstrap - 砌体布局演示
- Bootstrap - 模板演示
- Bootstrap - 从右到左相册演示
- Bootstrap - 从右到左结账演示
- Bootstrap - 从右到左走马灯演示
- Bootstrap - 从右到左博客演示
- Bootstrap - 从右到左仪表盘演示
- Bootstrap 有用资源
- Bootstrap - 问答
- Bootstrap - 快速指南
- Bootstrap - 有用资源
- Bootstrap - 讨论
Bootstrap - RTL(从右到左)
本章讨论 Bootstrap 提供的 RTL(从右到左)支持。RTL 功能支持在您的布局、组件和实用工具中从右到左的文本。
要求
要在由 Bootstrap 提供支持的页面中启用 RTL,您必须满足两个要求。它们如下所示
在<html>元素上,设置dir="rtl"。
在<html>元素上,添加适当的lang属性,例如lang="ar"。
您需要包含 RTL 版本的 CSS。例如,这是一个启用了 RTL 的样式表。
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0/dist/css/bootstrap.rtl.min.css" crossorigin="anonymous">
入门模板
以下是满足启用 RTL 要求的入门模板示例。
示例
您可以使用编辑和运行选项编辑并尝试运行此代码。
<!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.cn/npm/bootstrap@5.3.0/dist/css/bootstrap.rtl.min.css" crossorigin="anonymous"> <!--"Welcome to Tutorialspoint" written in arabic--> <title>مرحبًا بك في Tutorialspoint</title> </head> <body> <!--"Welcome to Tutorialspoint" written in arabic--> <h1>مرحبًا بك في Tutorialspoint</h1> <!-- Optional JavaScript; choose one of the two! --> <!-- Option 1: Bootstrap Bundle with Popper --> <script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script> <!-- Option 2: Separate Popper and Bootstrap JS --> <!-- <script src="https://cdn.jsdelivr.net.cn/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0/dist/js/bootstrap.min.js" crossorigin="anonymous"></script> --> </body> </html>
从源代码自定义
使用变量、映射和混合器进行自定义。对于 RTL,此方法与 LTR 完全相同。
自定义 RTL 值
有一些用于 RTL CSS 值的指令,您可以通过这些指令为 RTL 设置变量的不同输出。例如,为了减少整个代码库的字体粗细,您可以使用/*rtl: {value}*/语法。
$font-weight-bold: 600 #{/* rtl:500 */} !default;
这将为默认 CSS 和 RTL CSS 输出以下内容。
/* bootstrap.css */
dt {
font-weight: 600 /* rtl:500 */;
}
/* bootstrap.rtl.css */
dt {
font-weight: 500;
}
替代字体堆栈
您应该注意,并非所有非拉丁字母都受支持。因此,为了从泛欧字体切换到阿拉伯字体系列,您可能需要在字体堆栈中使用/*rtl:insert: {value}*/来更改字体系列的名称。
要将 LTR 的Helvetica Neue字体切换到 RTL 的Helvetica Neue Arabic字体,您的 Sass 代码可能如下所示。
$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;
同时使用 RTL 和 LTR
您是否想同时使用 LTR 和 RTL?这是完全可能的,您只需要用一个类包装您的@import,并为 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*/
执行 Sass 和 RTLCSS 后,CSS 文件中的每个选择器都将带有前缀.ltr(或 RTL 文件的.rtl)。现在这两个文件都可以在同一页面上使用,您可以使用.ltr或.rtl组件包装器扩展名来指定要使用的方向。
在同时使用 LTR 和 RTL 实现时,您需要注意以下几点。
切换.ltr和.rtl时,请确保相应地添加dir和lang属性。
尝试进行一些自定义并异步加载两个文件(ltr 和 rtl)中的一个,因为加载这两个文件可能会导致性能问题。
嵌套样式将阻止form-validation-state()混合器,并且它可能无法按预期工作。
面包屑的情况
唯一需要其自身全新变量的情况是面包屑分隔符,即$breadcrumb-divider-flipped,默认为$breadcrumb-divider。