Bootstrap بر روی یک شبکه 12 ستونی پاسخگو ساخته شده است. ما همچنین طرحبندیهایی با عرض ثابت و سیال را بر اساس آن سیستم قرار دادهایم.
بوت استرپ از عناصر HTML و ویژگی های CSS استفاده می کند که نیاز به استفاده از doctype HTML5 دارد. مطمئن شوید که آن را در ابتدای هر صفحه بوت استرپ در پروژه خود قرار دهید.
- <!DOCTYPE html>
- <html lang = "en" >
- ...
- </html>
در فایل scaffolding.less ، سبکهای اصلی نمایش جهانی، تایپوگرافی و پیوند را تنظیم میکنیم. به طور خاص، ما:
background-color: white;
بر رویbody
@baseFontFamily
, @baseFontSize
و @baseLineHeight
ویژگی ها به عنوان پایه تایپوگرافی خود استفاده کنید@linkColor
و فقط زیر خطوط پیوند را روی آن اعمال کنید:hover
از Bootstrap 2، بازنشانی سنتی CSS برای استفاده از عناصر Normalize.css تکامل یافته است ، پروژه ای توسط Nicolas Gallagher که HTML5 Boilerplate را نیز تامین می کند .
بازنشانی جدید همچنان در reset.less یافت می شود ، اما بسیاری از عناصر برای اختصار و دقت حذف شده اند.
سیستم شبکه پیشفرض ارائه شده در بوت استرپ از 12 ستون استفاده میکند که در عرضهای 724 پیکسل، 940 پیکسل (پیشفرض بدون CSS پاسخگو) و 1170 پیکسل ارائه میشوند. در زیر درگاه های نمایش 767 پیکسل، ستون ها سیال می شوند و به صورت عمودی روی هم قرار می گیرند.
- <div class = "ردیف" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
همانطور که در اینجا نشان داده شده است، یک طرح اولیه را می توان با دو "ستون" ایجاد کرد، که هر کدام شامل تعدادی از 12 ستون پایه است که ما به عنوان بخشی از سیستم شبکه خود تعریف کردیم.
- <div class = "ردیف" >
- <div class = "span4" > ... </div>
- <div class = "span4 offset4" > ... </div>
- </div>
با سیستم شبکه ایستا (غیر سیال) در Bootstrap، تودرتو آسان است. برای قرار دادن محتوای خود، کافی است یک ستون جدید .row
و مجموعه ای از .span*
ستون های موجود در یک .span*
ستون اضافه کنید.
ردیفهای تودرتو باید شامل مجموعهای از ستونها باشد که به تعداد ستونهای اصلی آن اضافه میشود. به عنوان مثال، دو .span3
ستون تو در تو باید در یک قرار داده شوند .span6
.
- <div class = "ردیف" >
- <div class = "span6" >
- ستون سطح 1
- <div class = "ردیف" >
- <div class = "span3" > سطح 2 </div>
- <div class = "span3" > سطح 2 </div>
- </div>
- </div>
- </div>
سیستم شبکه سیال از درصد برای عرض ستون به جای پیکسل های ثابت استفاده می کند. همچنین دارای تغییرات پاسخگوی مشابه با سیستم شبکه ثابت ما است و نسبت های مناسب را برای وضوح صفحه نمایش و دستگاه های کلیدی تضمین می کند.
هر ردیفی را به سادگی با تغییر .row
به سیال بسازید .row-fluid
. ستونها دقیقاً یکسان میمانند و چرخش بین طرحبندی ثابت و سیال را بسیار ساده میکنند.
- <div class = "row-fluid" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
تودرتو با شبکه های سیال کمی متفاوت است: نیازی نیست تعداد ستون های تودرتو با والد مطابقت داشته باشد. در عوض، ستونهای شما در هر سطح بازنشانی میشوند، زیرا هر ردیف 100٪ از ستون اصلی را اشغال میکند.
- <div class = "row-fluid" >
- <div class = "span12" >
- سطح 1 ستون
- <div class = "row-fluid" >
- <div class = "span6" > سطح 2 </div>
- <div class = "span6" > سطح 2 </div>
- </div>
- </div>
- </div>
متغیر | مقدار پیش فرض | شرح |
---|---|---|
@gridColumns |
12 | تعداد ستون ها |
@gridColumnWidth |
60 پیکسل | عرض هر ستون |
@gridGutterWidth |
20 پیکسل | فضای منفی بین ستون ها |
تعبیه شده در بوت استرپ تعداد انگشت شماری از متغیرها برای سفارشی سازی سیستم شبکه پیش فرض 940px است که در بالا مستند شده است. همه متغیرهای شبکه در متغیرهای.less ذخیره میشوند.
اصلاح گرید به معنای تغییر سه @grid*
متغیر و کامپایل مجدد Bootstrap است. متغیرهای گرید را در variables.less تغییر دهید و از یکی از چهار روش مستند شده برای کامپایل مجدد استفاده کنید . اگر ستونهای بیشتری اضافه میکنید، حتماً CSS را برای کسانی که در grid.less هستند اضافه کنید.
سفارشیسازی شبکه فقط در سطح پیشفرض، شبکه ۹۴۰ پیکسلی کار میکند. برای حفظ جنبههای پاسخگوی Bootstrap، همچنین باید شبکهها را در responsive.less سفارشی کنید.
طرحبندی پیشفرض و ساده با پهنای 940 پیکسل، تقریباً برای هر وبسایت یا صفحهای که توسط یک صفحه ارائه میشود <div class="container">
.
- <بدن>
- <div class = "کانتینر" >
- ...
- </div>
- </body>
<div class="container-fluid">
ساختار صفحه انعطاف پذیر، حداقل و حداکثر عرض و نوار کناری سمت چپ را ارائه می دهد. برای برنامه ها و اسناد عالی است.
- <div class = "container-fluid" >
- <div class = "row-fluid" >
- <div class = "span2" >
- <!--محتوای نوار کناری-->
- </div>
- <div class = "span10" >
- <!--محتوای بدنه-->
- </div>
- </div>
- </div>
پرسوجوهای رسانهای بر اساس تعدادی از شرایط (نسبتها، عرضها، نوع نمایشگر و غیره) امکان CSS سفارشی را فراهم میکنند، اما معمولاً بر روی min-width
و max-width
.
از پرسش های رسانه ای مسئولانه و تنها به عنوان شروعی برای مخاطبان تلفن همراه خود استفاده کنید. برای پروژههای بزرگتر، پایههای کد اختصاصی را در نظر بگیرید نه لایههای پرسوجوهای رسانهای.
بوت استرپ از تعداد انگشت شماری درخواست های رسانه ای در یک فایل پشتیبانی می کند تا به شما کمک کند پروژه های شما را در دستگاه های مختلف و وضوح صفحه نمایش مناسب تر کنید. در اینجا چیزی است که شامل می شود:
برچسب | عرض طرح | عرض ستون | عرض ناودان |
---|---|---|---|
گوشی های هوشمند | 480 پیکسل و کمتر | ستون های سیال، بدون عرض ثابت | |
گوشی های هوشمند به تبلت | 767 پیکسل و کمتر | ستون های سیال، بدون عرض ثابت | |
تبلت های پرتره | 768 پیکسل و بالاتر | 42 پیکسل | 20 پیکسل |
پیش فرض | 980 پیکسل به بالا | 60 پیکسل | 20 پیکسل |
نمایشگر بزرگ | 1200 پیکسل به بالا | 70 پیکسل | 30 پیکسل |
برای اطمینان از اینکه دستگاهها صفحات واکنشگرا را به درستی نشان میدهند، متا تگ Viewport را نیز اضافه کنید.
- <meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
بوت استرپ به طور خودکار این پرسشهای رسانهای را شامل نمیشود، اما درک و افزودن آنها بسیار آسان است و به حداقل تنظیمات نیاز دارد. شما چند گزینه برای گنجاندن ویژگی های واکنش گرا Bootstrap دارید:
چرا فقط آن را شامل نمی شود؟ حقیقت را بگویم، لازم نیست همه چیز پاسخگو باشد. به جای تشویق توسعهدهندگان به حذف این ویژگی، بهتر است آن را فعال کنیم.
- /* تلفن های افقی و پایین */
- @media ( حداکثر عرض : 480 پیکسل ) { ... }
- /* تلفن افقی تا تبلت پرتره */
- @media ( حداکثر عرض : 767 پیکسل ) { ... }
- /* تبلت پرتره به منظره و دسکتاپ */
- @media ( حداقل عرض : 768 پیکسل ) و ( حداکثر عرض : 979 پیکسل ) { ... }
- /* رومیزی بزرگ */
- @media ( حداقل عرض : 1200 پیکسل ) { ... }
برای توسعه سریعتر سازگار با موبایل، از این کلاسهای ابزار اصلی برای نمایش و پنهان کردن محتوا توسط دستگاه استفاده کنید.
به صورت محدود استفاده کنید و از ایجاد نسخه های کاملاً متفاوت از یک سایت خودداری کنید. در عوض، از آنها برای تکمیل نمایش هر دستگاه استفاده کنید.
برای مثال، ممکن است <select>
عنصری را برای ناوبری در طرحبندیهای تلفن همراه نشان دهید، اما نه در رایانههای لوحی یا رایانههای رومیزی.
در اینجا جدولی از کلاسهایی که پشتیبانی میکنیم و تأثیر آنها بر طرحبندی درخواست رسانه (برچسبشده توسط دستگاه) نشان داده شده است. آنها را می توان در پیدا کرد responsive.less
.
کلاس | تلفن ها480 پیکسل و کمتر | قرص767 پیکسل و کمتر | دسکتاپ ها768 پیکسل و بالاتر |
---|---|---|---|
.visible-phone |
قابل رویت | پنهان شده است | پنهان شده است |
.visible-tablet |
پنهان شده است | قابل رویت | پنهان شده است |
.visible-desktop |
پنهان شده است | پنهان شده است | قابل رویت |
.hidden-phone |
پنهان شده است | قابل رویت | قابل رویت |
.hidden-tablet |
قابل رویت | پنهان شده است | قابل رویت |
.hidden-desktop |
قابل رویت | قابل رویت | پنهان شده است |
برای آزمایش کلاس های بالا، اندازه مرورگر خود را تغییر دهید یا در دستگاه های مختلف بارگذاری کنید.
تیک سبز نشان می دهد که کلاس در نمای فعلی شما قابل مشاهده است.
در اینجا، تیک سبز نشان می دهد که کلاس در نمای فعلی شما پنهان است.