RTL
Бифаҳмед, ки чӣ гуна дастгирии матни аз рост ба чапро дар Bootstrap дар саросари тарҳ, ҷузъҳо ва утилитаҳои мо фаъол созед.
Шинос шавед
Мо тавсия медиҳем, ки аввал бо хондани саҳифаи Муқаддимаи Оғози мо бо Bootstrap шинос шавед . Пас аз он ки шумо онро иҷро кардед, хонданро дар ин ҷо идома диҳед, то ки чӣ тавр RTL-ро фаъол созед.
Шумо инчунин метавонед дар бораи лоиҳаи RTLCSS хонед , зеро он муносибати моро ба RTL қувват мебахшад.
Хусусияти таҷрибавӣ
Хусусияти RTL то ҳол таҷрибавӣ аст ва эҳтимол аз рӯи фикру мулоҳизаҳои корбарон таҳаввул хоҳад кард. Оё чизе пайдо кардед ё беҳтаре барои пешниҳод кардан доред? Як масъала кушоед , мо мехоҳем фаҳмиши шуморо гирем.
HTML талаб карда мешавад
Барои фаъол кардани RTL дар саҳифаҳои аз ҷониби Bootstrap фаъолшуда ду талаботи қатъӣ вуҷуд дорад.
- Дар элемент ҷойгир кунед
dir="rtl"
.<html>
- Дар элемент як
lang
атрибути мувофиқ , ба монандиlang="ar"
, илова кунед.<html>
Аз он ҷо, шумо бояд версияи RTL-и CSS-и моро дохил кунед. Масалан, ин ҷо ҷадвали услуби CSS-и тартибдодашуда ва хурдкардашудаи мо бо RTL фаъол аст:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.rtl.min.css" integrity="sha384-OXTEbYDqaX2ZY/BOaZV/yFGChYHtrXH2nyXJ372n2Y8abBhrqacCEe+3qhSHtLjy" 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/npm/[email protected]/dist/css/bootstrap.rtl.min.css" integrity="sha384-OXTEbYDqaX2ZY/BOaZV/yFGChYHtrXH2nyXJ372n2Y8abBhrqacCEe+3qhSHtLjy" 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/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-u1OknCvxWvY5kfmNBILK2hRnQC3Pr17a+RTT6rIHI7NnikvbZlHgTPOOmMi466C8" crossorigin="anonymous"></script>
<!-- Option 2: Separate Popper and Bootstrap JS -->
<!--
<script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js" integrity="sha384-oBqDVmMz9ATKxIep9tiCxS/Z9fNfEXiDAYTujMAeBAsjFuCZSmKbSSUnQlmh/jp3" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-7VPbUDkoPSGFnVtYi0QogXtr74QeVeeIs99Qfg5YCF+TidwNdjvaKZX19NZ/e6oz" crossorigin="anonymous"></script>
-->
</body>
</html>
Намунаҳои RTL
Бо яке аз якчанд мисолҳои RTL -и мо оғоз кунед .
Муносибат
Муносибати мо барои сохтани дастгирии RTL дар Bootstrap бо ду қарори муҳиме меояд, ки ба тарзи навиштан ва истифодаи CSS-и мо таъсир мерасонанд:
-
Аввалан, мо тасмим гирифтем, ки онро бо лоиҳаи RTLCSS созем . Ин ба мо баъзе хусусиятҳои пурқувватро барои идоракунии тағирот ва бекоркунӣ ҳангоми гузаштан аз LTR ба RTL медиҳад. Он инчунин ба мо имкон медиҳад, ки ду версияи Bootstrapро аз як пойгоҳи код созем.
-
Дуюм, мо як қатор синфҳои самтро барои қабули равиши хосиятҳои мантиқӣ номгузорӣ кардем. Аксарияти шумо ба шарофати утилитаҳои флеши мо аллакай бо хосиятҳои мантиқӣ ҳамкорӣ кардаед - онҳо хосиятҳои самтро ба монанди
left
ваright
ба фоидаstart
ваend
. Ин номҳо ва арзишҳои синфҳоро барои LTR ва RTL бе ягон хароҷот мувофиқ месозад.
Масалан, ба ҷои .ml-3
for margin-left
, -ро истифода баред .ms-3
.
Кор бо RTL тавассути манбаи Sass ё CSS тартибдодашуда набояд аз LTR пешфарзии мо фарқ кунад.
Аз манбаъ фармоиш диҳед
Вақте ки сухан дар бораи мутобиқсозӣ меравад, роҳи афзалиятнок истифода бурдани тағирёбандаҳо, харитаҳо ва омехтаҳо мебошад. Ин равиш барои RTL якхела кор мекунад, ҳатто агар он аз файлҳои тартибдодашуда пас аз коркард шуда бошад, ба шарофати он ки чӣ тавр RTLCSS кор мекунад .
Арзишҳои фармоишии RTL
Бо истифода аз дастурҳои арзиши RTLCSS , шумо метавонед баромади тағирёбандаро барои RTL арзиши дигар созед. Масалан, барои кам кардани вазн дар $font-weight-bold
тамоми пойгоҳи код, шумо метавонед /*rtl: {value}*/
синтаксисро истифода баред:
$font-weight-bold: 700 #{/* rtl:600 */} !default;
Ки барои CSS пешфарз ва RTL CSS мо ба зерин мебарояд:
/* bootstrap.css */
dt {
font-weight: 700 /* rtl:600 */;
}
/* bootstrap.rtl.css */
dt {
font-weight: 600;
}
Стеки алтернативии шрифт
Дар ҳолате, ки шумо шрифти фармоиширо истифода мебаред, бидонед, ки на ҳама шрифтҳо алифбои ғайрилотиниро дастгирӣ мекунанд. Барои гузаштан аз пан-аврупоӣ ба оилаи арабӣ, ба шумо лозим меояд, ки /*rtl:insert: {value}*/
дар стек шрифти худ барои тағир додани номи оилаҳои шрифт истифода баред.
Масалан, барои гузаштан аз Helvetica Neue
шрифти LTR ба Helvetica Neue Arabic
RTL, рамзи 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;
LTR ва RTL дар як вақт
Дар як саҳифа ҳам LTR ва ҳам RTL лозим аст? Бо шарофати RTLCSS String Maps , ин хеле осон аст. s-и худро бо синф печонед @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
, боварӣ ҳосил кунед, ки шумо мувофиқанdir
ваlang
атрибутҳо илова мекунед. - Боркунии ҳарду файл метавонад як мушкили воқеии иҷроиш бошад: каме оптимизатсияро баррасӣ кунед ва шояд кӯшиш кунед, ки яке аз ин файлҳоро ба таври асинхронӣ бор кунед .
- Услубҳои лонагузорӣ бо ин роҳ
form-validation-state()
аз кор кардани омехтаи мо монеъ мешаванд, бинобар ин аз шумо талаб мекунанд, ки онро худатон каме танзим кунед. Нигаред № 31223 .
Ҳолати нонреза
Ҷудокунаки нонреза ягона ҳолатест, ки тағирёбандаи бренди нави худро талаб мекунад, яъне $breadcrumb-divider-flipped
пешфарз ба $breadcrumb-divider
.