قالب واکنش گرا با بوت استرپ ۳

div

mm

خب حالا باید کدهارو یکم تغییر بدیم. منظورم اینه که عکس های مورد نظرمون رو بهش اضافه کنیم و توضیحات مربوط به هر عکس رو هم براش بنویسیم. میتونید مثل عکس زیر کدها رو ویرایش کنید:

ki

عکس slide1.jpg یه عکس دلخواهه شما میتونید هرعکسی که مد نظرتون هست رو اینجا قرار بدید.

بعد از اینکه کدهارو مثل تصویر بالا ویرایش کردید از همین کدهای داخل مستطیل قرمز کپی بگیرید و زیر این مستطیل به جای ” … ” پیست کنید. البته چون طبق کدهای بالا ما سه تا indicator داریم پس باید داخل اسلاید شو هم سه تا آیتم داشته باشیم. Indicator در این اسلایدشو منظور همون دایره هایی هست که نشون میده کدوم عکس الان داره در اسلایدشو نشون داده میشه.

کدها بعد از کپی پیست کردن آیتم های اسلایدشو به این صورت میشن:

oi

juy

 

راستی شاید براتون سوال پیش اومده که من چرا گفتم این دو کلاس active رو پاک کنید. خب درواقع برای آیتم های اسلایدشو باید فقط یه کلاس active داشته باشیم که نشون دهنده این هست کدوم آیتم اسلایدشو باید وقتی سایت باز میشه نشون داده بشه. اگر این دو کلاس active که تو عکس معلوم کردم رو پاک نکرده باشید اونوقت میبینید که وقتی قالب رو باز میکنید، هر سه عکس زیر هم نشون داده میشه.

حالا که اسلایدشو حاضر شد بیاید تستش کنیم، رو دکمه های قبل و بعد کلیک کنید. اصلا اسلایدشو کار نمیکنه! کافیه فایل carousel.js رو از مسیر bootstrap-sass-master\vendor\assets\javascripts\bootstrap برداریم و داخل پوشه js قالب خودمون قرار بدیم و در آخر هم کد زیر رو قبل از بسته شدن تگ body بنویسیم:

suo

نوبت میرسه به استایل دهی اسلایدشو. فایل _carousel.scss رو باز کنید و مثل تصویر کدهارو اضافه کنید:

itt

margin-bottom دادیم که بعدا قسمت مطالب رو اضافه کردیم اسلایدشو و مطالب به هم نچسبه. ممکنه بگین من از کجا میدونم که الان margin-bottom بدم. چون من قبلا کار کردم میدونم اینطوریه. ولی شما اگر نمیدونین مشکلی نیست وقتی قسمت مطالب رو ایجاد کردید و دیدین مطالب و اسلایدشو چسبید به هم، میتونید بعدش بیاید به اسلایدشو margin-bottom بدید.

مقدار $border-radius-base که از قبل در _variables.scss تعریف شده بود و ما فقط ازش استفاده کردیم. box-shadow هم از قبل توسط خود بوت استرپ داخل فایل _mixins.scss به عنوان یه میکسین آماده شده بود.

حالا استایل فلش ها رو عوض کنیم. مثل تصویر زیر تغییراتی رو داخل فایل _carousel.scss ایجاد کنید:

li

mjh

خط ۹۲ و ۹۷ رو کامنت کردیم که کامپایل نشه علتش هم اینه که استایل پیش فرض بوت استرپ برای دکمه های بعد و قبل رو لازم نداریم و استایل خودمون (خطوط ۸۳ تا ۸۵) رو برای این دکمه ها مینویسیم. متغیر $gray-darker هم که قبلا در فایل _variables.scss تعریف شده بوده. خب حالا اسلایدشو رو ببینید چطوری شد:

۱x1.trans طراحی قالب واکنش گرا با بوت استرپ ۳ : قسمت ۸ اسلایدشو

دکمه های قبل و بعد این تصویر کجا و دکمه های دمو کجا ۱x1.trans طراحی قالب واکنش گرا با بوت استرپ ۳ : قسمت ۸ اسلایدشو

برای اینکه درستش کنیم باید کدهارو مثل تصویر زیر بنویسیم:

xx

ترتیب کار اینطوری بود که اول width و height برای دکمه ها گذاشتیم که سایز دکمه هارو درست کنیم و فایل رو سیو کردیم و اسلاید شو رو نگاه کردیم، بعد دیدیم که دکمه ها چسبیدن به بالای اسلاید شو که به خاطر top:0 بود برای همین مقدار top رو به ۴۵% تغییر دادیم تا بیاد وسط. و ضمنا چون دکمه ها از سمت چپ و راست به اسلاید شو میچسبیدن و فاصله نداشتن مقدار left:0 و right:0 رو به ۱۰پیکسل تغییر دادیم.

حالا اگر اسلاید شو رو نگاه کنید مشکلی که داره فلش های اسلاید شو خیلی بزرگ هستند و همچنین فلش دکمه سمت راستی اصلا جای مناسبی نیست. همیشه میشه با inspect element متوجه شد که مشکل از کجاست. الان روی فلش سمت راستی کلیک راست کنید و inspect element رو بزنید:

zza

میبینید؟ وقتی سایز صفحه بزرگتر از ۷۶۸پیکسل باشه:

به خاطر font-size:30px اندازه آیکون های فلش بزرگه.
margin-left: -15px داره ولی margin-right: -15px نداره به خاط همین هست که اون فلش سر جای درستی قرار نداره.

پس حالا باید در فایل _carousel.scss دنبال همچین خطی بگردیم و یکی اینکه font-size رو حذف کنیم و یکی هم اینکه margin-right: -15px رو اضافه کنیم. ولی من میگم بیاین کلا قسمتی که مدیا کوئری واسه سایز بزرگتر از ۷۶۸پیکسل نوشته رو حذف کنیم. اگر میپرسین چرا، کافیه قسمت مدیاکوئری رو حذف کنید و ببینید که چه تو سایز ۷۶۸پیکسل به بالا چه کمتر از اون اصلا مشکلی وجود نداره که بخوایم مدیاکوئری بنویسیم

dda

gg

حالا استایل caption آیتم ها رو درست میکنیم:

re

نکته خاصی نداره فقط اینکه border-bottom-radius و opacity جزو میکسین های از قبل تعریف شده ی بوت استرپ هستند. ضمنا متغیر $border-radius-base هم جزو متغیرهای از قبل تعریف شده هست.

و حالا قسمت indicator های اسلایدشو:

ddq

 

همه ی تغییراتی که در این تصویر انجام دادیم باعث عوض کردن محل قرار گیری indicator ها میشه، به جز direction . درواقع قبل از نوشته شدن direction وقتی روی دکمه بعدی کلیک کنید تا اسلاید بعدی رو ببینید به جای اینکه indicator بعدی فعال بشه، قبلیش فعال میشد که با نوشتن direction: ltr مشکل رو حل کردیم.

اگر منظورم رو متوجه نشدید کافیه direction: ltr رو ننویسید و روی دکمه های قبل یا بعد اسلایدشو کلیک کنید و به دایره هایی که بالای اسلاید شو هستند با دقت نگاه کنید.

کار اسلاید شو تموم شد. راستی به فاصله بین اسلایدشو و سایدبار دقت کردید؟ فاصلش خیلی بیشتر از فاصله دو بلاک سایدبار از همدیگه هست. یعنی تقریبا دو برابر هست. البته این مشکل نیست ولی برای قشنگ تر شدن قالب بهتره فاصله ی بلاک ها از هم دیگه یکسان باشه.