فارم کنٹرول کے انداز، ترتیب کے اختیارات، اور فارم کی وسیع اقسام بنانے کے لیے حسب ضرورت اجزاء کے لیے مثالیں اور استعمال کے رہنما خطوط۔
جائزہ
بوٹسٹریپ کے فارم کنٹرول کلاسز کے ساتھ ہمارے ریبوٹ شدہ فارم اسٹائل پر پھیلتے ہیں۔ ان کلاسز کو براؤزرز اور ڈیوائسز پر زیادہ مستقل رینڈرنگ کے لیے ان کے حسب ضرورت ڈسپلے کا انتخاب کرنے کے لیے استعمال کریں۔
نئے ان پٹ کنٹرولز جیسے ای میل کی توثیق، نمبر کا انتخاب، وغیرہ سے فائدہ اٹھانے کے لیے تمام ان پٹس (مثلاً ای میل ایڈریس یا عددی معلومات کے لیے) پر ایک مناسب typeوصف استعمال کرنا یقینی بنائیں۔emailnumber
بوٹسٹریپ کے فارم اسٹائل کو ظاہر کرنے کے لیے یہاں ایک فوری مثال ہے۔ مطلوبہ کلاسز، فارم لے آؤٹ، اور مزید پر دستاویزات کے لیے پڑھتے رہیں۔
فارم کنٹرولز
متنی شکل کے کنٹرول جیسے کہ <input>s، <select>s، اور s — کلاس <textarea>کے ساتھ اسٹائل کیے گئے ہیں ۔ .form-controlعام ظاہری شکل، فوکس سٹیٹ، سائزنگ اور مزید کے لیے طرزیں شامل ہیں۔
مزید اسٹائل کے لیے ہمارے حسب ضرورت فارمز کو ضرور دریافت کریں <select>۔
فائل ان پٹ کے لیے، کے لیے تبدیل .form-controlکریں .form-control-file۔
سائز کرنا
.form-control-lgاور جیسے کلاسز کا استعمال کرتے ہوئے اونچائیاں سیٹ کریں .form-control-sm۔
صرف پڑھو
readonlyان پٹ کی قدر میں ترمیم کو روکنے کے لیے ان پٹ پر بولین وصف شامل کریں ۔ صرف پڑھنے کے ان پٹ ہلکے دکھائی دیتے ہیں (بالکل غیر فعال ان پٹس کی طرح)، لیکن معیاری کرسر کو برقرار رکھتے ہیں۔
صرف پڑھنے والا سادہ متن
اگر آپ <input readonly>اپنے فارم میں عناصر کو سادہ متن کے طور پر اسٹائل کرنا چاہتے ہیں، .form-control-plaintextتو پہلے سے طے شدہ فارم فیلڈ اسٹائل کو ہٹانے اور درست مارجن اور پیڈنگ کو محفوظ کرنے کے لیے کلاس کا استعمال کریں۔
رینج ان پٹس
افقی طور پر اسکرول ایبل رینج ان پٹ کو استعمال کرکے سیٹ کریں .form-control-range۔
چیک باکس اور ریڈیو
پہلے سے طے شدہ چیک باکسز اور ریڈیوز کی مدد سے بہتر کیے جاتے ہیں .form-check، دونوں قسم کے ان پٹ کے لیے ایک کلاس جو ان کے HTML عناصر کی ترتیب اور رویے کو بہتر بناتی ہے ۔ چیک باکسز ایک فہرست میں سے ایک یا کئی اختیارات کو منتخب کرنے کے لیے ہیں، جبکہ ریڈیو بہت سے اختیارات میں سے ایک اختیار کو منتخب کرنے کے لیے ہیں۔
غیر فعال چیک باکسز اور ریڈیو تعاون یافتہ ہیں۔ ان disabledپٹ کی حالت کو ظاہر کرنے میں مدد کے لیے وصف ہلکے رنگ کا اطلاق کرے گا۔
چیک باکسز اور ریڈیو بٹن HTML پر مبنی فارم کی توثیق کی حمایت کرتے ہیں اور مختصر، قابل رسائی لیبل فراہم کرتے ہیں۔ اس طرح، ہمارے <input>s اور <label>s بہن بھائی عناصر ہیں جیسا کہ <input>a کے اندر موجود ہے <label>۔ یہ قدرے زیادہ لفظی ہے کیونکہ آپ کو اور سے متعلق ہونے کے لیے انتساب idاور خصوصیات کی وضاحت کرنی ہوگی ۔for<input><label>
ڈیفالٹ (اسٹیکڈ)
پہلے سے طے شدہ طور پر، کسی بھی تعداد میں چیک باکسز اور ریڈیو جو فوری طور پر بہن بھائی ہیں عمودی طور پر اسٹیک کیے جائیں گے اور مناسب طور پر اس کے ساتھ فاصلہ رکھیں .form-checkگے۔
لائن میں
.form-check-inlineکسی بھی میں شامل کرکے ایک ہی افقی قطار میں چیک باکسز یا ریڈیوز کو گروپ کریں .form-check۔
لیبل کے بغیر
.position-staticان پٹس میں شامل کریں .form-checkجس میں کوئی لیبل ٹیکسٹ نہیں ہے۔ aria-labelمعاون ٹیکنالوجیز (مثال کے طور پر، استعمال کرتے ہوئے ) کے لیے ابھی بھی لیبل کی کچھ شکل فراہم کرنا یاد رکھیں ۔
ترتیب
چونکہ بوٹسٹریپ لاگو ہوتا ہے display: blockاور width: 100%ہمارے تقریباً تمام فارم کنٹرولز پر، فارمز بطور ڈیفالٹ عمودی طور پر اسٹیک ہوں گے۔ فی فارم کی بنیاد پر اس ترتیب کو تبدیل کرنے کے لیے اضافی کلاسز کا استعمال کیا جا سکتا ہے۔
گروپس بنائیں
.form-groupکلاس فارم میں کچھ ڈھانچہ شامل کرنے کا سب سے آسان طریقہ ہے ۔ یہ ایک لچکدار کلاس فراہم کرتا ہے جو لیبلز، کنٹرولز، اختیاری مدد کے متن، اور فارم کی توثیق کے پیغامات کی مناسب گروپ بندی کی حوصلہ افزائی کرتا ہے۔ پہلے سے طے شدہ طور پر یہ صرف لاگو ہوتا ہے margin-bottom، لیکن یہ ضرورت کے مطابق اضافی شیلیوں کو چنتا .form-inlineہے۔ اسے <fieldset>s، <div>s، یا تقریباً کسی دوسرے عنصر کے ساتھ استعمال کریں۔
فارم گرڈ
ہماری گرڈ کلاسز کا استعمال کرتے ہوئے مزید پیچیدہ فارم بنائے جا سکتے ہیں۔ ان فارم لے آؤٹس کے لیے استعمال کریں جن کے لیے متعدد کالم، مختلف چوڑائی اور اضافی سیدھ کے اختیارات درکار ہیں۔
فارم قطار
.rowآپ ہماری معیاری گرڈ قطار کی ایک ایسی تبدیلی کے لیے بھی تبادلہ کر سکتے ہیں .form-rowجو سخت اور زیادہ کمپیکٹ لے آؤٹ کے لیے پہلے سے طے شدہ کالم گٹر کو اوور رائیڈ کرتی ہے۔
گرڈ سسٹم کے ساتھ مزید پیچیدہ لے آؤٹ بھی بنائے جا سکتے ہیں۔
افقی شکل
.rowگروپس بنانے کے لیے کلاس کو شامل کرکے اور .col-*-*اپنے لیبلز اور کنٹرولز کی چوڑائی بتانے کے لیے کلاسز کا استعمال کرکے گرڈ کے ساتھ افقی شکلیں بنائیں ۔ .col-form-labelاپنے s میں بھی شامل کرنا یقینی بنائیں <label>تاکہ وہ اپنے متعلقہ فارم کنٹرولز کے ساتھ عمودی طور پر مرکز میں ہوں۔
بعض اوقات، آپ کو مطلوبہ کامل سیدھ بنانے کے لیے مارجن یا پیڈنگ یوٹیلیٹیز استعمال کرنے کی ضرورت پڑ سکتی ہے۔ مثال کے طور پر، ہم نے padding-topٹیکسٹ بیس لائن کو بہتر طریقے سے سیدھ میں کرنے کے لیے اپنے اسٹیک شدہ ریڈیو ان پٹس کے لیبل کو ہٹا دیا ہے۔
افقی فارم لیبل سائزنگ
اور کے سائز کو درست طریقے سے فالو کرنے کے لیے یا اپنے s یا s .col-form-label-smکو .col-form-label-lgاستعمال <label>کرنا یقینی بنائیں ۔<legend>.form-control-lg.form-control-sm
کالم کا سائز
جیسا کہ پچھلی مثالوں میں دکھایا گیا ہے، ہمارا گرڈ سسٹم آپ کو a یا .colکے اندر s کی کوئی بھی تعداد رکھنے کی اجازت دیتا ہے ۔ وہ دستیاب چوڑائی کو ان کے درمیان برابر تقسیم کریں گے۔ آپ کم یا زیادہ جگہ لینے کے لیے اپنے کالموں کا ایک ذیلی سیٹ بھی چن سکتے ہیں، جب کہ بقیہ کو مخصوص کالم کی کلاسوں کے ساتھ یکساں طور پر تقسیم کیا جاتا ہے ۔.row.form-row.col.col-7
خودکار سائز کرنا
.colذیل کی مثال عمودی طور پر مواد کو مرکز کرنے اور اس میں تبدیلی کرنے کے لیے فلیکس باکس یوٹیلیٹی کا استعمال کرتی ہے .col-autoتاکہ آپ کے کالم صرف ضرورت کے مطابق زیادہ جگہ لے سکیں۔ دوسرے طریقے سے دیکھیں، کالم کا سائز خود مواد کی بنیاد پر ہوتا ہے۔
اس کے بعد آپ اسے ایک بار پھر سائز کے ساتھ مخصوص کالم کلاسز کے ساتھ ریمکس کر سکتے ہیں۔
.form-inlineایک ہی افقی قطار پر لیبلز، فارم کنٹرولز، اور بٹنوں کی سیریز کو ظاہر کرنے کے لیے کلاس کا استعمال کریں ۔ ان لائن فارمز کے اندر فارم کنٹرولز ان کی ڈیفالٹ حالتوں سے قدرے مختلف ہوتے ہیں۔
کنٹرولز ہیں display: flex، کسی بھی HTML وائٹ اسپیس کو ختم کرنا اور آپ کو اسپیسنگ اور فلیکس باکس یوٹیلیٹیز کے ساتھ الائنمنٹ کنٹرول فراہم کرنے کی اجازت دیتے ہیں ۔
width: autoبوٹسٹریپ ڈیفالٹ کو اوور رائیڈ کرنے کے لیے کنٹرولز اور ان پٹ گروپس موصول ہوتے ہیں width: 100%۔
کنٹرول صرف ان ویو پورٹس میں ظاہر ہوتے ہیں جو موبائل آلات پر تنگ ویو پورٹ کے حساب سے کم از کم 576px چوڑے ہوتے ہیں ۔
آپ کو دستی طور پر اسپیسنگ یوٹیلیٹیز (جیسا کہ نیچے دکھایا گیا ہے) کے ساتھ انفرادی فارم کنٹرولز کی چوڑائی اور سیدھ میں کرنے کی ضرورت پڑسکتی ہے۔ آخر میں، ہر فارم کنٹرول کے ساتھ ہمیشہ ایک کو شامل کرنا یقینی بنائیں <label>، یہاں تک کہ اگر آپ کو اسے غیر اسکرین ریڈر دیکھنے والوں سے چھپانے کی ضرورت ہو .sr-only۔
حسب ضرورت فارم کنٹرولز اور سلیکٹس بھی معاون ہیں۔
پوشیدہ لیبلز کے متبادل
اگر آپ ہر ان پٹ کے لیے لیبل شامل نہیں کرتے ہیں تو معاون ٹیکنالوجیز جیسے کہ اسکرین ریڈرز کو آپ کے فارمز میں پریشانی کا سامنا کرنا پڑے گا۔ ان ان لائن فارمز کے لیے، آپ .sr-onlyکلاس کا استعمال کرتے ہوئے لیبلز کو چھپا سکتے ہیں۔ معاون ٹیکنالوجیز کے لیے لیبل فراہم کرنے کے مزید متبادل طریقے ہیں، جیسے کہ aria-label، aria-labelledbyیا titleوصف۔ اگر ان میں سے کوئی بھی موجود نہیں ہے، تو معاون ٹیکنالوجیز اس placeholderوصف کو استعمال کرنے کا سہارا لے سکتی ہیں، اگر موجود ہوں، لیکن یاد رکھیں کہ placeholderلیبلنگ کے دیگر طریقوں کے متبادل کے طور پر استعمال کی سفارش نہیں کی جاتی ہے۔
مدد کا متن
فارمز میں بلاک لیول ہیلپ ٹیکسٹ (پہلے v3 .form-textکے نام سے جانا جاتا تھا) کا استعمال کرتے ہوئے بنایا جا سکتا ہے۔ .help-blockان لائن ہیلپ ٹیکسٹ کو کسی بھی ان لائن ایچ ٹی ایم ایل ایلیمنٹ اور یوٹیلیٹی کلاسز جیسے استعمال کرتے ہوئے لچکدار طریقے سے لاگو کیا جا سکتا ہے .text-muted۔
مدد کے متن کو فارم کنٹرولز کے ساتھ منسلک کرنا
مدد کا متن واضح طور پر اس فارم کنٹرول کے ساتھ منسلک ہونا چاہیے جس کا تعلق aria-describedbyانتساب کے استعمال سے ہے۔ یہ اس بات کو یقینی بنائے گا کہ معاون ٹیکنالوجیز — جیسے کہ اسکرین ریڈرز — اس مدد کے متن کا اعلان کریں گے جب صارف توجہ مرکوز کرے گا یا کنٹرول میں داخل ہوگا۔
مدد کے متن کے نیچے ان پٹ کو کے ساتھ اسٹائل کیا جاسکتا ہے .form-text۔ اس کلاس میں display: blockمندرجہ بالا ان پٹس سے آسان وقفہ کاری کے لیے کچھ ٹاپ مارجن شامل اور شامل کیا جاتا ہے۔
آپ کا پاس ورڈ 8-20 حروف لمبا ہونا چاہیے، حروف اور اعداد پر مشتمل ہونا چاہیے، اور اس میں خالی جگہیں، خصوصی حروف یا ایموجی شامل نہیں ہونا چاہیے۔
ان لائن ٹیکسٹ کسی بھی عام ان لائن HTML عنصر کو استعمال کر سکتا ہے (خواہ وہ ایک <small>, <span>یا کچھ اور ہو) جس میں یوٹیلیٹی کلاس سے زیادہ کچھ نہیں ہے۔
غیر فعال فارم
disabledصارف کے تعاملات کو روکنے اور اسے ہلکا دکھانے کے لیے ان پٹ پر بولین وصف شامل کریں ۔
تمام کنٹرولز کو غیر فعال disabledکرنے کے لیے a میں وصف شامل کریں ۔<fieldset>
اینکرز کے ساتھ انتباہ
پہلے سے طے شدہ طور پر، براؤزرز ایک کے اندر موجود تمام مقامی فارم کنٹرولز ( <input>، <select>اور <button>عناصر) <fieldset disabled>کو غیر فعال سمجھیں گے، ان پر کی بورڈ اور ماؤس کے تعامل کو روکیں گے۔ تاہم، اگر آپ کے فارم میں <a ... class="btn btn-*">عناصر بھی شامل ہیں، تو ان کو صرف ایک انداز دیا جائے گا pointer-events: none۔ جیسا کہ بٹنوں کے لیے غیر فعال حالت کے بارے میں سیکشن میں بتایا گیا ہے (اور خاص طور پر اینکر عناصر کے لیے ذیلی سیکشن میں)، یہ سی ایس ایس پراپرٹی ابھی تک معیاری نہیں ہے اور انٹرنیٹ ایکسپلورر 10 میں مکمل طور پر تعاون یافتہ نہیں ہے، اور یہ کی بورڈ صارفین کو ہونے سے نہیں روکے گی۔ ان لنکس کو فوکس کرنے یا چالو کرنے کے قابل۔ اس لیے محفوظ رہنے کے لیے، ایسے لنکس کو غیر فعال کرنے کے لیے حسب ضرورت جاوا اسکرپٹ کا استعمال کریں۔
کراس براؤزر مطابقت
جبکہ بوٹسٹریپ ان اسٹائلز کو تمام براؤزرز میں لاگو کرے گا، انٹرنیٹ ایکسپلورر 11 اور اس سے نیچے والے disabledانتساب کو مکمل طور پر سپورٹ نہیں کرتے <fieldset>۔ ان براؤزرز میں فیلڈ سیٹ کو غیر فعال کرنے کے لیے حسب ضرورت جاوا اسکرپٹ استعمال کریں۔
توثیق
HTML5 فارم کی توثیق کے ساتھ اپنے صارفین کو قابل قدر، قابل عمل تاثرات فراہم کریں- ہمارے تمام تعاون یافتہ براؤزرز میں دستیاب ہے ۔ براؤزر کے پہلے سے طے شدہ توثیق کے تاثرات میں سے انتخاب کریں، یا ہماری بلٹ ان کلاسز اور سٹارٹر JavaScript کے ساتھ حسب ضرورت پیغامات کو نافذ کریں۔
ہم فی الحال اپنی مرضی کے مطابق توثیق کے انداز استعمال کرنے کی تجویز کرتے ہیں، کیونکہ مقامی براؤزر کے پہلے سے طے شدہ توثیق کے پیغامات تمام براؤزرز میں معاون ٹیکنالوجیز کے لیے مستقل طور پر سامنے نہیں آتے ہیں (خاص طور پر، ڈیسک ٹاپ اور موبائل پر کروم)۔
یہ کیسے کام کرتا ہے
یہاں یہ ہے کہ بوٹسٹریپ کے ساتھ فارم کی توثیق کیسے کام کرتی ہے:
HTML فارم کی توثیق کا اطلاق CSS کی دو سیڈو کلاسز، :invalidاور :valid. یہ , اور عناصر پر لاگو <input>ہوتا <select>ہے <textarea>۔
بوٹسٹریپ اسکوپ :invalidاور :validاسٹائل کو پیرنٹ .was-validatedکلاس میں دیتا ہے، جو عام طور پر پر لاگو ہوتا ہے <form>۔ بصورت دیگر، کوئی بھی مطلوبہ فیلڈ بغیر کسی قدر کے صفحہ لوڈ پر غلط ظاہر ہوتا ہے۔ اس طرح، آپ انتخاب کر سکتے ہیں کہ انہیں کب چالو کرنا ہے (عام طور پر فارم جمع کرانے کی کوشش کے بعد)۔
فارم کی ظاہری شکل کو دوبارہ ترتیب دینے کے لیے (مثال کے طور پر، AJAX کا استعمال کرتے ہوئے متحرک فارم جمع کرانے کی صورت میں)، جمع کرانے کے بعد دوبارہ .was-validatedسے کلاس کو ہٹا دیں۔<form>
فال بیک کے طور پر، .is-invalidاور سرور سائڈ کی توثیق.is-valid کے لیے سیوڈو کلاسز کے بجائے کلاسز کا استعمال کیا جا سکتا ہے ۔ انہیں والدین کی کلاس کی ضرورت نہیں ہے ۔.was-validated
CSS کے کام کرنے کے طریقے میں رکاوٹوں کی وجہ سے، ہم (فی الحال) <label>اپنی مرضی کے مطابق JavaScript کی مدد کے بغیر DOM میں فارم کنٹرول سے پہلے آنے والے اسٹائلز کو لاگو نہیں کر سکتے۔
تمام جدید براؤزرز Constraint validation API کی حمایت کرتے ہیں ، فارم کنٹرولز کی توثیق کرنے کے لیے JavaScript طریقوں کی ایک سیریز۔
تاثرات کے پیغامات براؤزر ڈیفالٹس (ہر براؤزر کے لیے مختلف، اور CSS کے ذریعے غیر اسٹائلبل) یا اضافی HTML اور CSS کے ساتھ ہماری حسب ضرورت فیڈ بیک اسٹائلز کا استعمال کر سکتے ہیں۔
setCustomValidityآپ JavaScript میں اپنی مرضی کے مطابق درست پیغامات فراہم کر سکتے ہیں ۔
اس کو ذہن میں رکھتے ہوئے، ہمارے حسب ضرورت فارم کی توثیق کے انداز، اختیاری سرور سائڈ کلاسز، اور براؤزر ڈیفالٹس کے لیے درج ذیل ڈیمو پر غور کریں۔
اپنی مرضی کے انداز
حسب ضرورت بوٹسٹریپ فارم کی توثیق کے پیغامات کے لیے، آپ novalidateکو اپنے میں بولین وصف شامل کرنے کی ضرورت ہوگی <form>۔ یہ براؤزر کے ڈیفالٹ فیڈ بیک ٹول ٹپس کو غیر فعال کر دیتا ہے، لیکن پھر بھی JavaScript میں فارم کی توثیق APIs تک رسائی فراہم کرتا ہے۔ ذیل میں فارم جمع کرانے کی کوشش کریں؛ ہمارا JavaScript جمع کرانے کے بٹن کو روکے گا اور آپ کو تاثرات فراہم کرے گا۔ جمع کرانے کی کوشش کرتے وقت، آپ اپنے فارم کنٹرولز پر لاگو کردہ :invalidاور طرزیں دیکھیں گے۔:valid
حسب ضرورت فیڈ بیک اسٹائلز حسب ضرورت رنگ، بارڈرز، فوکس اسٹائلز، اور بیک گراؤنڈ آئیکنز کو تاثرات کو بہتر طریقے سے پہنچانے کے لیے لاگو کرتے ہیں۔ s کے لیے پس منظر کی شبیہیں <select>صرف کے ساتھ دستیاب ہیں .custom-select، اور نہیں .form-control۔
براؤزر ڈیفالٹس
اپنی مرضی کے مطابق توثیق کے تاثرات کے پیغامات یا فارم کے طرز عمل کو تبدیل کرنے کے لیے جاوا اسکرپٹ لکھنے میں دلچسپی نہیں ہے؟ سب اچھا ہے، آپ براؤزر ڈیفالٹس استعمال کر سکتے ہیں۔ ذیل میں فارم جمع کرانے کی کوشش کریں۔ آپ کے براؤزر اور OS پر منحصر ہے، آپ کو تاثرات کا تھوڑا سا مختلف انداز نظر آئے گا۔
اگرچہ ان فیڈ بیک اسٹائلز کو CSS کے ساتھ اسٹائل نہیں کیا جا سکتا، پھر بھی آپ JavaScript کے ذریعے فیڈ بیک ٹیکسٹ کو اپنی مرضی کے مطابق بنا سکتے ہیں۔
سرور سائیڈ
ہم کلائنٹ سائیڈ کی توثیق کا استعمال کرنے کی تجویز کرتے ہیں، لیکن اگر آپ کو سرور سائیڈ کی توثیق کی ضرورت ہو تو، آپ اور کے ساتھ غلط اور درست فارم فیلڈز کی نشاندہی کر سکتے .is-invalidہیں .is-valid۔ نوٹ کریں کہ .invalid-feedbackان کلاسوں کے ساتھ بھی تعاون کیا جاتا ہے۔
معاون عناصر
درج ذیل فارم کنٹرولز اور اجزاء کے لیے توثیق کی طرزیں دستیاب ہیں:
<input>s اور <textarea>s کے ساتھ .form-control( .form-controlان پٹ گروپس میں ایک تک)
<select>s کے ساتھ .form-controlیا.custom-select
.form-checks
.custom-checkboxs اور .custom-radios
.custom-file
ٹول ٹپس
اگر آپ کا فارم لے آؤٹ اس کی اجازت دیتا ہے، تو آپ ایک اسٹائل شدہ ٹول ٹپ میں توثیق کے تاثرات ظاہر کرنے .{valid|invalid}-feedbackکے لیے کلاسوں کے لیے کلاسز کو تبدیل کر سکتے ہیں۔ ٹول ٹپ پوزیشننگ کے لیے اس کے .{valid|invalid}-tooltipساتھ والدین کا ہونا یقینی بنائیں ۔ position: relativeذیل کی مثال میں، ہماری کالم کلاسوں میں یہ پہلے سے موجود ہے، لیکن آپ کے پروجیکٹ کو متبادل سیٹ اپ کی ضرورت پڑ سکتی ہے۔
تخصیص کرنا
$form-validation-statesتوثیق ریاستوں کو نقشہ کے ساتھ ساس کے ذریعے اپنی مرضی کے مطابق بنایا جا سکتا ہے ۔ ہماری _variables.scssفائل میں موجود، یہ ساس نقشہ ڈیفالٹ valid/ invalidتوثیق کی حالتوں کو بنانے کے لیے لوپ کر دیا گیا ہے۔ ہر ریاست کے رنگ اور آئیکن کو اپنی مرضی کے مطابق بنانے کے لیے ایک نیسٹڈ نقشہ شامل ہے۔ اگرچہ کوئی دوسری ریاستیں براؤزرز کے ذریعے سپورٹ نہیں کرتی ہیں، لیکن وہ لوگ جو حسب ضرورت اسٹائلز استعمال کرتے ہیں وہ آسانی سے زیادہ پیچیدہ فارم فیڈ بیک شامل کر سکتے ہیں۔
براہ کرم نوٹ کریں کہ ہم form-validation-stateمکسین میں ترمیم کیے بغیر ان اقدار کو حسب ضرورت بنانے کی سفارش نہیں کرتے ہیں۔
حسب ضرورت فارم
مزید حسب ضرورت اور کراس براؤزر کی مستقل مزاجی کے لیے، براؤزر کے ڈیفالٹس کو تبدیل کرنے کے لیے ہمارے مکمل طور پر حسب ضرورت فارم عناصر کا استعمال کریں۔ وہ سیمنٹک اور قابل رسائی مارک اپ کے اوپر بنائے گئے ہیں، لہذا یہ کسی بھی ڈیفالٹ فارم کنٹرول کے لیے ٹھوس متبادل ہیں۔
چیک باکس اور ریڈیو
ہمارا حسب ضرورت کنٹرول بنانے کے لیے ہر چیک باکس اور ریڈیو <input>اور <label>جوڑی کو ایک میں لپیٹا جاتا ہے ۔ <div>ساختی طور پر، یہ وہی طریقہ ہے جو ہمارے پہلے سے طے شدہ .form-checkہے۔
ہم اپنی تمام ریاستوں کے لیے سِبلنگ سلیکٹر ( ~) کا استعمال کرتے ہیں — جیسے — اپنے حسب ضرورت فارم اشارے کو صحیح طریقے سے اسٹائل کرنے کے لیے۔ جب کلاس کے ساتھ ملایا جاتا ہے، تو ہم ہر آئٹم کی حالت کی بنیاد پر متن کو اسٹائل بھی کر سکتے ہیں ۔<input>:checked.custom-control-label<input>
ہم پہلے سے طے شدہ کو چھپاتے ہیں اور اس کے <input>ساتھ اس کی جگہ پر ایک نیا کسٹم فارم انڈیکیٹر بنانے opacityکے لیے استعمال کرتے ہیں ۔ بدقسمتی سے ہم صرف اس وجہ سے اپنی مرضی کے مطابق نہیں بنا سکتے کیونکہ CSS اس عنصر پر کام نہیں کرتا ہے۔.custom-control-label::before::after<input>content
چیک شدہ ریاستوں میں، ہم Open Iconic سے base64 ایمبیڈڈ SVG آئیکنز استعمال کرتے ہیں ۔ یہ ہمیں براؤزرز اور آلات پر اسٹائل اور پوزیشننگ کے لیے بہترین کنٹرول فراہم کرتا ہے۔
چیک باکسز
جب جاوا اسکرپٹ کے ذریعے دستی طور پر سیٹ کیا جاتا ہے تو حسب ضرورت چیک باکسز سیوڈو کلاس کو بھی استعمال کر سکتے ہیں :indeterminate(اس کی وضاحت کے لیے کوئی HTML وصف دستیاب نہیں ہے)۔
اگر آپ jQuery استعمال کر رہے ہیں تو، کچھ اس طرح کافی ہونا چاہئے:
ریڈیوز
لائن میں
معذور
حسب ضرورت چیک باکسز اور ریڈیوز کو بھی غیر فعال کیا جا سکتا ہے۔ disabledمیں بولین وصف شامل کریں <input>اور حسب ضرورت اشارے اور لیبل کی تفصیل خود بخود اسٹائل ہوجائے گی۔
سوئچز
ایک سوئچ میں حسب ضرورت چیک باکس کا مارک اپ ہوتا ہے لیکن .custom-switchٹوگل سوئچ رینڈر کرنے کے لیے کلاس کا استعمال کرتا ہے۔ سوئچ بھی disabledخصوصیت کی حمایت کرتے ہیں۔
مینو منتخب کریں۔
اپنی مرضی کے مینو کو اپنی مرضی کے انداز کو متحرک کرنے کے <select>لیے صرف ایک حسب ضرورت کلاس کی ضرورت ہوتی ہے۔ .custom-selectحسب ضرورت طرزیں 'کی ابتدائی ظاہری شکل تک محدود ہیں اور براؤزر کی حدود کی وجہ سے s <select>میں ترمیم نہیں کر سکتیں ۔<option>
آپ ہمارے اسی سائز کے ٹیکسٹ ان پٹس سے ملنے کے لیے چھوٹے اور بڑے حسب ضرورت انتخاب میں سے بھی انتخاب کر سکتے ہیں۔
اس multipleوصف کی بھی حمایت کی جاتی ہے:
جیسا کہ sizeصفت ہے:
رینج
کے ساتھ حسب ضرورت <input type="range">کنٹرول بنائیں .custom-range۔ ٹریک (پس منظر) اور انگوٹھا (قدر) دونوں براؤزرز میں ایک جیسے ظاہر ہونے کے لیے اسٹائل کیے گئے ہیں۔ چونکہ صرف IE اور Firefox اپنے ٹریک کو انگوٹھے کے بائیں یا دائیں طرف سے "پُر" کرنے کی حمایت کرتے ہیں تاکہ بصری طور پر پیشرفت کی نشاندہی کی جاسکے، ہم فی الحال اس کی حمایت نہیں کرتے ہیں۔
رینج ان پٹ میں بالترتیب minاور max— 0اور کے لیے مضمر قدریں ہوتی ہیں۔ آپ اور اوصاف 100استعمال کرنے والوں کے لیے نئی قدریں بتا سکتے ہیں ۔minmax
پہلے سے طے شدہ طور پر، رینج ان پٹ "اسنیپ" کو عددی قدروں میں لے جاتی ہے۔ اسے تبدیل کرنے کے لیے، آپ ایک stepقدر کی وضاحت کر سکتے ہیں۔ ذیل کی مثال میں، ہم استعمال کرکے اقدامات کی تعداد کو دوگنا کرتے step="0.5"ہیں۔
فائل براؤزر
حسب ضرورت فائل ان پٹ کو متحرک کرنے کے لیے تجویز کردہ پلگ ان: bs-custom-file-input ، یہ وہی ہے جسے ہم فی الحال یہاں اپنے دستاویزات میں استعمال کر رہے ہیں۔
فائل کا ان پٹ سب سے زیادہ گہرا ہے اور اس کے لیے اضافی جاوا اسکرپٹ کی ضرورت ہوتی ہے اگر آپ انہیں فنکشنل Choose فائل کے ساتھ جوڑنا چاہتے ہیں… اور فائل کے نام کے متن کو منتخب کریں۔
<input>ہم پہلے سے طے شدہ فائل کو چھپاتے ہیں opacityاور اس کے بجائے اسٹائل کرتے ہیں <label>۔ بٹن تیار کیا گیا ہے اور اس کے ساتھ پوزیشن میں ہے ::after۔ آخر میں، ہم ارد گرد کے مواد کے لیے مناسب وقفہ کے لیے a widthاور heighton کا اعلان کرتے ہیں۔<input>
SCSS کے ساتھ تاروں کا ترجمہ یا تخصیص کرنا
:lang()سیوڈو کلاس کا استعمال "براؤز" متن کے دوسری زبانوں میں ترجمہ کرنے کے لیے کیا جاتا ہے۔ متعلقہ لینگویج ٹیگ اور لوکلائزڈ سٹرنگز $custom-file-textکے ساتھ ساس متغیر میں اندراجات کو اوور رائڈ یا شامل کریں ۔ انگریزی تاروں کو اسی طرح اپنی مرضی کے مطابق کیا جا سکتا ہے. مثال کے طور پر، یہاں یہ ہے کہ کوئی ہسپانوی ترجمہ کیسے شامل کر سکتا ہے (ہسپانوی زبان کا کوڈ ہے ):es
lang(es)ہسپانوی ترجمے کے لیے حسب ضرورت فائل ان پٹ پر عمل میں یہ ہے :
آپ کو اپنے دستاویز کی زبان (یا اس کے ذیلی درخت) کو درست طریقے سے ترتیب دینے کی ضرورت ہوگی تاکہ صحیح متن دکھایا جاسکے۔ یہ عنصر یا HTTP ہیڈر پر موجود langانتساب کا استعمال کرتے ہوئے دوسرے طریقوں کے ساتھ کیا جا سکتا ہے۔<html>Content-Language
HTML کے ساتھ تاروں کا ترجمہ یا تخصیص کرنا
بوٹسٹریپ ایچ ٹی ایم ایل میں "براؤز" ٹیکسٹ کو اس data-browseوصف کے ساتھ ترجمہ کرنے کا ایک طریقہ بھی فراہم کرتا ہے جسے حسب ضرورت ان پٹ لیبل میں شامل کیا جا سکتا ہے (ڈچ میں مثال):