sliders-in-css

ساخت اسلایدر با html و css

بدون نیاز به جاوا اسکریپت با html و css  اسلایدر بساز
ابتدا ساختار  HTML ایجاد میکنیم ، چند div ساده با کلاس  slide  داریم که هر کدوم نقش یک اسلاید دارن ودرون div ها میشه متن، عکس یا هرچیز دیگه قرار داد. همگی div ها تو یک div اصلی با کلاس sliders  قرار می‌گیرن.


<div class="sliders">
	<div class="slide" id="slide-۱"> ۱ </div>
	<div class="slide" id="slide-۲"> ۲ </div>
	<div class="slide" id="slide-۳"> ۳ </div>
	<div class="slide" id="slide-۴"> ۴ </div>
</div>

تو css برای این دوتا class که ایجاد کردیم  ویژگی های زیر رو اضافه میکنیم .



.sliders { width: ۳۰۰px; height: ۳۰۰px; display: flex; overflow-x: auto; }
.slide { width: ۳۰۰px; flex-shrink: ۰; height: ۱۰۰%; }


برای اینکه حرکت اسلایدها تو مرورگرهای مبتنی بر webkit روونتر باشه، تو کلاس sliders یک پراپرتی دیگه اضافه میکنیم:



-webkit-overflow-scrolling: touch; 



برای جابه جایی اسلایدر به چپ و راست ویژگی های زیر رو اضافه میکنیم 



-webkit-scroll-snap-points-x: repeat(۳۰۰px);
-ms-scroll-snap-points-x: repeat(۳۰۰px);
 scroll-snap-points-x: repeat(۳۰۰px);
-webkit-scroll-snap-type: mandatory;
-ms-scroll-snap-type: mandatory;
scroll-snap-type: mandatory;


برای نمایش  شماره‌ برای اسلایدر ، که با کلیک کردن روی هر شماره، اسلاید مورد نظر نمایش بده تو کد HTML در کنار ۴ اسلایدری که قبلاً با کلاس sliders قرار دادیم، ۴ تگ a برای ایجاد لینک به اسلایدها اضافه می‌کنیم و در نهایت تمام لینک‌ها و بلوک اسلایدر را تو div جدیدی با کلاس slider قرار می‌دیم.
 به عنوان مثال در اولین تگ a، از href="#slide-۱" استفاده می‌کنیم و در اولین اسلایدر هم از id="slide-۱" استفاده می‌کنیم تا این دو به هم مرتبط بشن.


ساختار کلی html :
 


<div class=”slide-wrap”>
	<a href="#slide-۱"> ۱ </a>
	<a href="#slide-۲"> ۲ </a>
	<a href="#slide-۳"> ۳ </a>
	<a href="#slide-۴"> ۴ </a>

	<div class="slider">
		<div class="slide" id="slide-۱"> ۱ </div>
		<div class="slide" id="slide-۲"> ۲ </div>
		<div class="slide" id="slide-۳"> ۳ </div>
		<div class="slide" id="slide-۴"> ۴ </div>
	</div>
</div>

 

نتیجه به شکل زیر میشه

اگه بخوایم زمانی که روی شماره کلیک میشه با حالت نرم و اروم تری انجام بشه

تو کلاس slides  این ویژگی رو میزاریم


.slides {scroll-behavior: smooth; }

 

برای اینکه اسلایدها حین تغییر از یکی به دیگری، کوچک یا بزرگ بشن، میشه از انیمیشن‌های CSS و یا target استفاده کرد. در واقع زمانی که روی یکی از لینک‌ها کلیک می‌کنیم، URL مربوط به آن به #hash تبدیل می‌شود و در این حالت است که می‌توان از target برای استایل دادن به آن استفاده کرد.
در فایل CSS کلاس زیر را اضافه کنید که باعث کوچک شدن اسلایدها به اندازه ۸۰ درصد حالت اصلی می‌شود:
 


.slides > div:target { transform: scale(۰.۸); }

 

نتیجه نهایی کار 

2 سال پیش
برای ثبت نظر لطفا وارد سایت شوید.