- 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/[email protected]/dist/css/bootstrap.rtl.min.css" integrity="sha384-PJsj/BTMqILvmcej7ulplguok8ag4xFTPryRq8xevL7eBYSmpXKcbNVuy+P0RMgq" 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/[email protected]/dist/css/bootstrap.rtl.min.css" integrity="sha384-PJsj/BTMqILvmcej7ulplguok8ag4xFTPryRq8xevL7eBYSmpXKcbNVuy+P0RMgq" 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/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-geWF76RCwLtnZ8qwWowPQNguL3RmwHVBC9FhGdlKrxdiJJigb/j/68SIy3Te4Bkz" crossorigin="anonymous"></script> <!-- Option 2: Separate Popper and Bootstrap JS --> <!-- <script src="https://cdn.jsdelivr.net.cn/npm/@popperjs/[email protected]/dist/umd/popper.min.js" integrity="sha384-I7E8VVD/ismYTF4hNIPjVp/Zjvgyol6VFvRkX/vR+Vc4jQkC+hVqc2pM8ODewa9r" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net.cn/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-fbbOQedDUMZZ5KreZpsbe1LCZPVmfTnH7ois6mU1QK+m14rQ1l2bGBq41eYeM/fS" 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。