فارسیسازی Bootstrap
بهنام نوبخت · ۱۴۰۵/۷/۱۲
بیشتر صفحات وب در ابتدا برای زبانهایی مانند انگلیسی طراحی شدهاند که جهت نوشتار آنها از چپ به راست یا LTR (Left To Right) است؛ اما زبانهایی مانند فارسی و عربی دارای جهت نوشتار RTL (Right To Left) هستند. زمانی که با Bootstrap برای ساخت یک سایت فارسی کار میکنیم، تنها ترجمه کردن متنها کافی نیست و باید جهت کلی صفحه، فاصلهها، چینش ستونها، فرمها، منوها، جداول، دکمهها و بسیاری از جزئیات رابط کاربری نیز با جهت راست به چپ هماهنگ شوند. Bootstrap از RTL پشتیبانی میکند و با استفاده از نسخه RTL فایل CSS میتوان بسیاری از این تغییرات را بدون نوشتن CSS پیچیده انجام داد. در این مقاله یاد میگیریم چگونه Bootstrap را برای یک سایت فارسی آماده کنیم، چه تفاوتی بین نسخه معمولی و RTL وجود دارد، چگونه از dir="rtl" و lang="fa" استفاده کنیم، چگونه فاصلهها و تراز متن را به شکل صحیح مدیریت کنیم، چگونه Navbar و فرمهای فارسی بسازیم و در نهایت یک صفحه واقعی و Responsive فارسی با Bootstrap ایجاد خواهیم کرد.
RTL چیست؟
عبارت RTL مخفف Right To Left است و به معنای راست به چپ است.
در زبان فارسی، متن از سمت راست شروع میشود و به سمت چپ ادامه پیدا میکند.
برای مثال:
این یک متن فارسی است.در مقابل، زبان انگلیسی معمولاً از چپ به راست نوشته میشود:
This is an English text.جهت صفحه فقط مربوط به متن نیست؛ بلکه میتواند روی موارد مختلفی مانند موارد زیر نیز تأثیر بگذارد:
محل قرارگیری متن
فاصلهها
فرمها
Navbar
Grid
Dropdown
جدولها
آیکونهای جهتدار
ترتیب برخی عناصر رابط کاربری
بنابراین در طراحی یک سایت فارسی باید RTL را به شکل اصولی پیادهسازی کنیم.
تفاوت LTR و RTL
برای درک بهتر، یک ساختار ساده را در نظر بگیرید:
LTR
[ Sidebar ] [ Main Content ]در یک رابط RTL ممکن است همان ساختار به شکل زیر نمایش داده شود:
RTL
[ Main Content ] [ Sidebar ]البته نحوه دقیق نمایش به ساختار HTML، CSS و نحوه استفاده از Bootstrap بستگی دارد.
فعال کردن RTL در HTML
اولین قدم این است که جهت سند HTML را مشخص کنیم.
برای یک سایت فارسی بهتر است از ویژگیهای زیر استفاده کنیم:
<html lang="fa" dir="rtl">در اینجا:
lang="fa" مشخص میکند زبان اصلی صفحه فارسی است.
و:
dir="rtl" مشخص میکند جهت متن و سند راست به چپ است.
یک ساختار پایه:
<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>سایت فارسی با Bootstrap</title>
</head>
<body>
</body>
</html>استفاده از lang علاوه بر مشخص کردن زبان، برای دسترسپذیری و ابزارهایی مانند Screen Reader نیز مفید است.
استفاده از Bootstrap RTL
Bootstrap نسخه مخصوص RTL را نیز ارائه میکند.
به جای استفاده از:
bootstrap.min.cssدر پروژه RTL میتوانیم از:
bootstrap.rtl.min.cssاستفاده کنیم.
برای استفاده از CDN:
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.rtl.min.css"
rel="stylesheet">بنابراین یک صفحه فارسی ساده میتواند به شکل زیر باشد:
<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>صفحه فارسی</title>
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.rtl.min.css"
rel="stylesheet">
</head>
<body>
<div class="container py-5">
<h1>به سایت ما خوش آمدید</h1>
<p>این یک صفحه فارسی با Bootstrap است.</p>
</div>
</body>
</html>چرا فقط dir="rtl" کافی نیست؟
ممکن است تصور کنید که تنها با نوشتن:
<html dir="rtl">همه چیز کاملاً فارسی و RTL خواهد شد.
در بسیاری از موارد جهت متن درست میشود، اما Bootstrap نیز باید از قواعد مناسب RTL استفاده کند.
به همین دلیل در پروژههایی که از Bootstrap استفاده میکنند، ترکیب زیر انتخاب مناسبی است:
<html lang="fa" dir="rtl">و:
bootstrap.rtl.min.cssبه این ترتیب هم سند HTML جهت صحیح دارد و هم Bootstrap قواعد RTL را اعمال میکند.
استفاده از Margin و Padding در RTL
یکی از مهمترین تغییرات در Bootstrap نسخههای جدید، استفاده از کلاسهای منطقی برای فاصلهها است.
برای مثال:
ms-3و:
me-3به ترتیب به معنی:
margin-start
margin-endهستند.
همین مفهوم برای Padding نیز وجود دارد:
ps-3
pe-3که به معنی:
padding-start
padding-endاست.
این روش نسبت به استفاده مستقیم از margin-left و margin-right انعطافپذیرتر است.
Margin Start و Margin End
فرض کنید میخواهیم بین دو عنصر فاصله ایجاد کنیم.
به جای:
<div class="me-3">
...
</div>در یک صفحه RTL، مفهوم me با جهت سند سازگار میشود.
این یکی از مزایای استفاده از Logical Properties است.
به طور خلاصه:
کلاس | مفهوم |
|---|---|
| Margin Start |
| Margin End |
| Padding Start |
| Padding End |
مثال:
<button class="btn btn-primary me-2">
ذخیره
</button>
<button class="btn btn-secondary">
انصراف
</button>تفاوت ms و me با Left و Right
کلاسهای قدیمیتر یا CSS مستقیم ممکن است از مواردی مانند:
margin-left: 20px;
margin-right: 20px;استفاده کنند.
اما در طراحی چندزبانه بهتر است تا حد امکان از مفاهیم منطقی استفاده شود:
Start
Endزیرا در حالت RTL و LTR میتوانند مطابق جهت صفحه رفتار کنند.
به همین دلیل این روش برای پروژههایی که احتمال پشتیبانی از چند زبان دارند نیز مناسبتر است.
تراز کردن متن در RTL
Bootstrap کلاسهای زیر را برای تراز متن در اختیار ما قرار میدهد:
text-start
text-center
text-endمثال:
<p class="text-start">
این متن در ابتدای جهت نوشتار قرار میگیرد.
</p>
<p class="text-center">
این متن وسط قرار میگیرد.
</p>
<p class="text-end">
این متن در انتهای جهت نوشتار قرار میگیرد.
</p>نکته مهم این است که start و end مفاهیم منطقی هستند.
بنابراین بهتر است به جای وابستگی غیرضروری به left و right از آنها استفاده کنیم.
مثال کارت فارسی
<div class="card">
<div class="card-body">
<h5 class="card-title">عنوان محصول</h5>
<p class="card-text">
توضیحات محصول در این قسمت قرار میگیرد.
</p>
<button class="btn btn-primary">
مشاهده محصول
</button>
</div>
</div>در صفحه RTL، متن و بسیاری از رفتارهای Bootstrap مطابق جهت صفحه نمایش داده میشوند.
RTL و Grid
سیستم Grid یکی از مهمترین قسمتهای Bootstrap است.
برای مثال:
<div class="container">
<div class="row">
<div class="col-md-8">
محتوای اصلی
</div>
<div class="col-md-4">
ستون کناری
</div>
</div>
</div>در یک صفحه RTL، Bootstrap از قواعد RTL برای جهت و چینش Grid استفاده میکند.
ساختار منطقی همچنان همان است:
Container
|
+-- Row
|
+-- Column
+-- Columnنکته مهم این است که نباید صرفاً با تغییر نام کلاسها انتظار داشته باشیم تمام طراحی RTL شود؛ dir="rtl" و فایل RTL Bootstrap باید به شکل صحیح در پروژه تنظیم شوند.
RTL و Navbar
Navbar یکی از قسمتهایی است که در سایت فارسی اهمیت زیادی دارد.
یک Navbar ساده:
<nav class="navbar navbar-expand-lg bg-body-tertiary">
<div class="container">
<a class="navbar-brand" href="#">
فروشگاه من
</a>
<button
class="navbar-toggler"
type="button"
data-bs-toggle="collapse"
data-bs-target="#mainNavbar"
aria-controls="mainNavbar"
aria-expanded="false"
aria-label="نمایش منو">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="mainNavbar">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link active" href="#">
خانه
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">
محصولات
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">
درباره ما
</a>
</li>
</ul>
</div>
</div>
</nav>استفاده از:
me-autoدر اینجا نکته مهمی دارد.
به جای وابستگی مستقیم به سمت چپ یا راست، از مفهوم margin-end استفاده شده است.
RTL و فرمها
فرمهای فارسی باید علاوه بر جهت صفحه، از نظر تجربه کاربری نیز با زبان فارسی هماهنگ باشند.
مثال:
<div class="container py-5">
<h1 class="mb-4">
ثبت نام
</h1>
<form>
<div class="mb-3">
<label for="firstName" class="form-label">
نام
</label>
<input
type="text"
class="form-control"
id="firstName"
placeholder="نام خود را وارد کنید">
</div>
<div class="mb-3">
<label for="lastName" class="form-label">
نام خانوادگی
</label>
<input
type="text"
class="form-control"
id="lastName"
placeholder="نام خانوادگی خود را وارد کنید">
</div>
<div class="mb-3">
<label for="email" class="form-label">
ایمیل
</label>
<input
type="email"
class="form-control"
id="email"
placeholder="example@example.com">
</div>
<button type="submit" class="btn btn-primary">
ثبت نام
</button>
</form>
</div>متن فارسی و اطلاعات انگلیسی
در سایتهای فارسی معمولاً ترکیبی از محتوای فارسی و انگلیسی داریم.
برای مثال:
ایمیل:
example@gmail.comیا:
Website:
https://example.comدر چنین شرایطی ممکن است بخواهیم یک بخش خاص را LTR کنیم.
میتوانیم از:
dir="ltr"استفاده کنیم.
مثال:
<p>
آدرس سایت:
<span dir="ltr">
https://example.com
</span>
</p>این روش برای موارد زیر بسیار کاربردی است:
URL
Email
کد برنامهنویسی
نام فایل
برخی شمارهها
متن انگلیسی طولانی
استفاده از dir="auto"
گاهی زبان محتوا از قبل مشخص نیست.
در این حالت میتوان از:
dir="auto"استفاده کرد.
مثال:
<div dir="auto">
متن این قسمت ممکن است فارسی یا انگلیسی باشد.
</div>مرورگر بر اساس محتوای موجود جهت مناسب را تشخیص میدهد.
البته برای صفحات کاملاً فارسی، بهتر است جهت اصلی سند را به شکل واضح مشخص کنیم:
<html lang="fa" dir="rtl">RTL و Input Group
Bootstrap برای ساخت Input Group نیز امکانات مناسبی دارد.
مثال:
<div class="input-group mb-3">
<span class="input-group-text">
+98
</span>
<input
type="tel"
class="form-control"
placeholder="شماره تلفن">
</div>در طراحی فرمهای فارسی باید توجه کنیم که متن، شماره و عناصر ورودی ممکن است جهتهای متفاوتی داشته باشند.
برای شماره تلفن یا محتوای انگلیسی میتوان در صورت نیاز جهت را مشخص کرد:
<input
type="tel"
class="form-control"
dir="ltr"
placeholder="09123456789">RTL و جدولها
جدولها نیز میتوانند در صفحه RTL استفاده شوند.
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>نام</th>
<th>ایمیل</th>
<th>وضعیت</th>
</tr>
</thead>
<tbody>
<tr>
<td>علی رضایی</td>
<td dir="ltr">ali@example.com</td>
<td>
<span class="badge text-bg-success">
فعال
</span>
</td>
</tr>
</tbody>
</table>
</div>برای ایمیل بهتر است در صورت نیاز جهت LTR مشخص شود.
RTL و آیکونها
یکی از نکاتی که هنگام طراحی سایت فارسی باید به آن توجه کنیم، آیکونهای جهتدار است.
برای مثال:
→و:
←ممکن است در رابط RTL نیاز به بررسی داشته باشند.
تغییر جهت صفحه به صورت خودکار به این معنا نیست که مفهوم همه آیکونها باید برعکس شود.
مثلاً یک آیکون فلش که مفهوم «ادامه» دارد ممکن است در رابط RTL بهتر باشد جهت متناسب با تجربه کاربر داشته باشد.
بنابراین هنگام استفاده از آیکونهای زیر دقت بیشتری لازم است:
فلش
Back
Forward
Next
Previous
Chevron
Direction indicators
فونت فارسی در Bootstrap
Bootstrap به صورت پیشفرض یک فونت اختصاصی فارسی ارائه نمیکند.
بنابراین اگر بخواهیم ظاهر حرفهایتری داشته باشیم، میتوانیم فونت مناسب فارسی را به پروژه اضافه کنیم.
برای مثال:
body {
font-family: Tahoma, Arial, sans-serif;
}یا در پروژه واقعی میتوان یک فونت وب مناسب را با @font-face تعریف کرد.
نکته مهم این است که Bootstrap مسئول انتخاب فونت فارسی پروژه شما نیست.
Bootstrap بیشتر روی ساختار و ظاهر رابط کاربری تمرکز دارد.
ترکیب Bootstrap RTL با CSS سفارشی
ممکن است بعد از فعال کردن RTL هنوز به تغییرات خاصی نیاز داشته باشیم.
در این شرایط میتوانیم CSS اختصاصی خودمان را بعد از فایل Bootstrap قرار دهیم.
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.rtl.min.css"
rel="stylesheet">
<link
href="css/site.css"
rel="stylesheet">سپس:
body {
font-family: Tahoma, Arial, sans-serif;
}یا:
.hero-title {
font-weight: 700;
}بهتر است CSS سفارشی را فقط برای مواردی استفاده کنیم که Bootstrap کلاس یا راهکار مناسبی برای آن ندارد.
یک صفحه کامل فارسی با Bootstrap RTL
در این قسمت یک صفحه نسبتاً واقعی ایجاد میکنیم.
این صفحه شامل موارد زیر است:
Navbar
Hero
کارتهای خدمات
فرم تماس
Footer
طراحی Responsive
RTL
<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
<meta charset="UTF-8">
<meta
name="viewport"
content="width=device-width, initial-scale=1.0">
<title>وبسایت فارسی با Bootstrap</title>
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.rtl.min.css"
rel="stylesheet">
<style>
body {
font-family: Tahoma, Arial, sans-serif;
}
.hero {
padding: 80px 0;
}
</style>
</head>
<body>
<!-- Navbar -->
<nav class="navbar navbar-expand-lg bg-dark navbar-dark">
<div class="container">
<a class="navbar-brand" href="#">
برند من
</a>
<button
class="navbar-toggler"
type="button"
data-bs-toggle="collapse"
data-bs-target="#mainNavbar"
aria-controls="mainNavbar"
aria-expanded="false"
aria-label="نمایش منو">
<span class="navbar-toggler-icon"></span>
</button>
<div
class="collapse navbar-collapse"
id="mainNavbar">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link active" href="#">
خانه
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">
خدمات
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">
درباره ما
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">
تماس با ما
</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- Hero -->
<section class="hero bg-light">
<div class="container">
<div class="row align-items-center">
<div class="col-lg-7">
<h1 class="display-5 fw-bold mb-3">
طراحی سایت حرفهای
</h1>
<p class="lead mb-4">
با استفاده از Bootstrap میتوانید
صفحات فارسی و Responsive ایجاد کنید.
</p>
<a href="#" class="btn btn-primary btn-lg">
شروع کنید
</a>
</div>
<div class="col-lg-5 mt-4 mt-lg-0">
<div class="card shadow">
<div class="card-body p-4">
<h2 class="h4 mb-3">
درخواست مشاوره
</h2>
<form>
<div class="mb-3">
<label
for="name"
class="form-label">
نام
</label>
<input
type="text"
id="name"
class="form-control"
placeholder="نام شما">
</div>
<div class="mb-3">
<label
for="phone"
class="form-label">
شماره تماس
</label>
<input
type="tel"
id="phone"
class="form-control"
dir="ltr"
placeholder="09123456789">
</div>
<button
type="submit"
class="btn btn-success w-100">
ارسال درخواست
</button>
</form>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Services -->
<section class="py-5">
<div class="container">
<div class="text-center mb-5">
<h2 class="fw-bold">
خدمات ما
</h2>
<p class="text-body-secondary">
برخی از خدمات ارائهشده توسط مجموعه
</p>
</div>
<div class="row g-4">
<div class="col-md-4">
<div class="card h-100">
<div class="card-body">
<h3 class="h5">
طراحی سایت
</h3>
<p>
طراحی وبسایتهای مدرن و Responsive
برای کسبوکارها.
</p>
<a href="#" class="btn btn-outline-primary">
بیشتر بدانید
</a>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card h-100">
<div class="card-body">
<h3 class="h5">
طراحی اپلیکیشن
</h3>
<p>
ایجاد اپلیکیشنهای کاربردی
برای پلتفرمهای مختلف.
</p>
<a href="#" class="btn btn-outline-primary">
بیشتر بدانید
</a>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card h-100">
<div class="card-body">
<h3 class="h5">
بهینهسازی سایت
</h3>
<p>
بهبود ساختار و عملکرد وبسایت
برای تجربه بهتر کاربران.
</p>
<a href="#" class="btn btn-outline-primary">
بیشتر بدانید
</a>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Footer -->
<footer class="bg-dark text-white py-4">
<div class="container">
<div class="row">
<div class="col-md-6">
<h2 class="h5">
برند من
</h2>
<p class="mb-0">
یک وبسایت فارسی ساختهشده با Bootstrap.
</p>
</div>
<div class="col-md-6 text-md-end mt-3 mt-md-0">
<span>
تمامی حقوق محفوظ است.
</span>
</div>
</div>
</div>
</footer>
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js">
</script>
</body>
</html>بررسی ساختار صفحه
ساختار کلی پروژه ما به صورت زیر است:
HTML Document
|
+-- Navbar
|
+-- Hero
| |
| +-- Content
| +-- Form
|
+-- Services
| |
| +-- Card
| +-- Card
| +-- Card
|
+-- Footerتمام این ساختار در یک صفحه فارسی RTL قرار گرفته است.
اشتباه رایج: استفاده بیش از حد از Left و Right
یکی از اشتباهات رایج در پروژههای فارسی این است که در CSS مرتباً از:
margin-left
margin-right
padding-left
padding-right
left
rightاستفاده کنیم.
در بسیاری از موارد بهتر است از مفاهیم منطقی استفاده شود.
برای مثال در Bootstrap:
ms-3
me-3
ps-3
pe-3این روش کد را برای RTL و LTR انعطافپذیرتر میکند.
اشتباه رایج: استفاده از Bootstrap معمولی برای پروژه RTL
اگر پروژه کاملاً فارسی است، بهتر است هنگام استفاده از Bootstrap RTL از فایل RTL استفاده کنیم:
bootstrap.rtl.min.cssو جهت سند را نیز مشخص کنیم:
<html lang="fa" dir="rtl">ترکیب این دو باعث میشود Bootstrap و HTML از نظر جهت نوشتار هماهنگ باشند.
اشتباه رایج: RTL کردن همه چیز
RTL بودن صفحه به این معنا نیست که تمام محتوای آن باید RTL باشد.
برای مثال:
Email
URL
Code
File path
Some English contentممکن است بهتر باشد LTR نمایش داده شوند.
مثال:
<div dir="ltr">
https://example.com
</div>
بنابراین باید جهت هر بخش را بر اساس نوع محتوا انتخاب کنیم.
اشتباه رایج: فراموش کردن Mobile
RTL بودن هیچ ارتباطی با Responsive بودن ندارد.
یک سایت فارسی باید همچنان روی:
Mobile
Tablet
Laptop
Desktop
به درستی نمایش داده شود.
بنابراین همچنان باید از Grid و Breakpointهای Bootstrap استفاده کنیم:
<div class="col-12 col-md-6 col-lg-4">RTL و Responsive دو موضوع متفاوت اما مکمل یکدیگر هستند.
نکات مهم برای پروژههای فارسی Bootstrap
هنگام ساخت یک پروژه واقعی این موارد را در نظر داشته باشید:
۱. زبان صفحه را مشخص کنید
<html lang="fa">۲. جهت صفحه را مشخص کنید
<html lang="fa" dir="rtl">۳. فایل RTL Bootstrap را استفاده کنید
bootstrap.rtl.min.css۴. از کلاسهای منطقی استفاده کنید
ms
me
ps
pe
start
end۵. محتوای انگلیسی را در صورت نیاز LTR کنید
dir="ltr"۶. برای URL، Email و Code جهت مناسب را بررسی کنید.
۷. روی موبایل و دسکتاپ تست کنید.
۸. از CSS سفارشی فقط در موارد لازم استفاده کنید.
۹. فونت فارسی مناسب برای پروژه انتخاب کنید.
۱۰. دسترسپذیری را فراموش نکنید.
تمرین عملی
یک صفحه فارسی برای یک فروشگاه اینترنتی ایجاد کنید.
صفحه باید شامل موارد زیر باشد:
Navbar فارسی
لوگوی متنی
منوی خانه، محصولات، درباره ما و تماس با ما
یک Hero Section
سه کارت محصول
قیمت هر محصول
دکمه مشاهده محصول
فرم جستجو
شماره تلفن با
dir="ltr"Footer
صفحه باید با:
<html lang="fa" dir="rtl">شروع شود و از:
bootstrap.rtl.min.cssاستفاده کند.
تمرین پیشرفته
یک Dashboard فارسی طراحی کنید که شامل موارد زیر باشد:
Dashboard
|
+-- Navbar
|
+-- Sidebar
|
+-- Statistics
| +-- Users
| +-- Orders
| +-- Revenue
|
+-- Recent Orders
|
+-- User Form
|
+-- Footerدر این تمرین باید موارد زیر را نیز رعایت کنید:
RTL کامل
Responsive Design
Grid
Cards
Table
Forms
Buttons
Badge
Logical spacing utilities
محتوای LTR برای Email و URL
جمعبندی
در این مقاله یاد گرفتیم چگونه یک پروژه Bootstrap را برای زبان فارسی و محیط RTL آماده کنیم. با lang="fa" زبان صفحه را مشخص کردیم و با dir="rtl" جهت سند را تعیین کردیم. سپس با استفاده از bootstrap.rtl.min.css قابلیتهای RTL Bootstrap را فعال کردیم. همچنین با کلاسهای منطقی مانند ms-*، me-*، ps-* و pe-* آشنا شدیم و یاد گرفتیم چرا استفاده از مفاهیم start و end میتواند نسبت به وابستگی مستقیم به left و right مناسبتر باشد. نحوه ساخت Navbar، فرم، Grid، جدول و صفحه Responsive فارسی را بررسی کردیم و یاد گرفتیم که محتوایی مانند URL، Email و کد برنامهنویسی ممکن است به جهت LTR نیاز داشته باشد. با این مفاهیم اکنون میتوانیم رابطهای کاربری فارسی و Responsive را با Bootstrap ایجاد کنیم.
نظرات
هنوز نظری ثبت نشده است.