سلام خب تو بوت استرپ 5 یه سری تغییرات اساسی انجام شده و بعضی از کلاس هایی که توی نسخه های قبلی بود، حذف یا تغییر کردن. به همین خاطر، کلاسهای form-group
، form-row
و form-inline
دیگه توی نسخه جدید بوت استرپ کار نمیکنن. این کلاسها توی بوت استرپ 4 و نسخه های قبل از اون خیلی استفاده میشدن، ولی حالا بوت استرپ 5 برای ساده سازی و مدرن تر کردن ساختارها، یه سری تغییرات داده. اما نگران نباش میتونی به راحتی با استفاده از ابزارها و کلاس های جدیدی که بوت استرپ 5 ارائه داده، فرمهات رو به شکلی بسازی که نیازته.
استفاده از سیستم گرید به جای استفاده از form-row
، از row
و col
توی سیستم گرید جدید استفاده کن. این سیستم خیلی منعطف تره و بهت این امکان رو میده که با استفاده از کلاسهای col
سایزهای مختلف برای فرم هات تعیین کنی و اینطوری یه ساختار مرتب و منظم برای چیدمان فیلدهای فرم داشته باشی.
کلاسهای جدید برای فرم به جای form-group
حالا میتونی از کلاسهای جدیدی مثل mb-3
استفاده کنی که برای فاصله گذاری بین عناصر فرم به کار میره. این کلاس بهت کمک میکنه تا بتونی کنترل بیشتری روی ظاهر و فاصله گذاری فرمهات داشته باشی.
ساخت (Inline Forms) برای ساخت فرمهای افقی که قبلاً از form-inline
استفاده میکردیم، حالا توی بوتاسترپ 5 میتونی از کلاسهای Flexbox مثل d-flex
و align-items-center
استفاده کنی. این کلاس ها بهت کمک میکنن تا فیلدهای فرم رو تو یک خط (به صورت افقی) بچینی
مثال کاربردی:
فرض کن میخوای یه فرم ساده با دو تا فیلد ورودی و یه دکمه ثبت درست کنی
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<title>Bootstrap 5 Form Example</title>
</head>
<body>
<div class="container mt-5">
<form>
<div class="row mb-3">
<div class="col">
<label for="inputEmail" class="form-label">Email address</label>
<input type="email" class="form-control" id="inputEmail" placeholder="Enter email">
</div>
<div class="col">
<label for="inputPassword" class="form-label">Password</label>
<input type="password" class="form-control" id="inputPassword" placeholder="Password">
</div>
</div>
<div class="d-flex align-items-center">
<div class="form-check me-3">
<input class="form-check-input" type="checkbox" id="rememberMe">
<label class="form-check-label" for="rememberMe">
Remember me
</label>
</div>
<button type="submit" class="btn btn-primary">Sign in</button>
</div>
</form>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html
با row
و col
، میتونیم فیلدهای ورودی رو به صورت مرتب کنار هم بچینیم. اینجا از mb-3
هم برای فاصلهگذاری بین عناصر استفاده کردیم.
با d-flex
و align-items-center
، فیلدهای چکباکس و دکمه ثبت رو به صورت افقی چیدیم.