آموزش رایگان CSS

آموزش ساخت افکت تصویر با تم اینستاگرام و انیمیشن چرخش دوره‌ای در CSS

13م خرداد 1405 محراب حسن زاده
آموزش ساخت افکت تصویر با تم اینستاگرام و انیمیشن چرخش دوره‌ای در CSS

مقدمه

شبکه‌های اجتماعی همواره منبع الهام‌بخش بزرگی برای طراحان وب بوده‌اند. یکی از جذاب‌ترین المان‌های بصری اینستاگرام، حلقه‌ی گرادیان رنگی دور عکس‌های پروفایل در بخش استوری است. در این آموزش قصد داریم نه تنها این افکت رنگی فوق‌العاده را با CSS پیاده‌سازی کنیم، بلکه یک انیمیشن چرخشی دوره‌ای به آن اضافه کنیم که هر چند ثانیه یک‌بار با یک چرخش نرم، پویایی خاصی به وب‌سایت شما ببخشد.

ساختار HTML پروژه

برای شروع کار، ابتدا به یک ساختار HTML ساده نیاز داریم. ما یک ظرف نگه‌دارنده (Container) برای تصویر ایجاد می‌کنیم و خود تصویر را درون یک بخش با کلاس مربوط به گرادیان اینستاگرام قرار می‌دهیم:


< div class="insta-profile-wrapper" >
    < div class="insta-story-ring" >
        < img src="https://picsum.photos/150/150" alt="پروفایل کاربر" / >
    < / div >
< / div >

استایل‌دهی و ایجاد افکت اینستاگرام با CSS

رنگ‌های به کار رفته در لوگو و حلقه استوری اینستاگرام ترکیبی از رنگ‌های زرد، نارنجی، سرخابی و بنفش است. ما این ترکیب رنگی را با استفاده از ویژگی linear-gradient در پس‌زمینه حلقه‌ دور عکس اعمال می‌کنیم. همچنین برای ایجاد فاصله بین عکس و گرادیان، یک مرز (Border) همرنگ با پس‌زمینه به تصویر اصلی می‌دهیم.

کدهای CSS مربوط به استایل‌دهی:


.insta-profile-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

.insta-story-ring {
    position: relative;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    padding: 5px; /* فاصله گرادیان تا لبه بیرونی */
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    display: flex;
    justify-content: center;
    align-items: center;
    /* اتصال انیمیشن چرخش */
    animation: periodic-rotate 10s ease-in-out infinite;
}

.insta-story-ring img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 4px solid #1e1e1e; /* ایجاد فاصله سفید یا تاریک بین عکس و گرادیان */
    object-fit: cover;
}

انیمیشن چرخش دوره‌ای (Periodic Rotation)

برای اینکه چرخش تصویر به صورت مداوم و خسته‌کننده نباشد، از تکنیک زمان‌بندی در Keyframes استفاده می‌کنیم. در این روش، تصویر در اکثر مواقع ثابت است (مثلاً از درصد 0 تا 80 زمان انیمیشن) و فقط در انتهای بازه زمانی (از 80% تا 100%) یک دور کامل می‌چرخد. این کار باعث ایجاد حالت مکث و چرخش ناگهانیِ جذاب می‌شود.


@keyframes periodic-rotate {
    0%, 80% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

نتیجه‌گیری

با ترکیب ویژگی‌های ساده اما قدرتمند CSS مانند linear-gradient، فرآیند گرد کردن لبه‌ها با border-radius و انیمیشن‌های شخصی‌سازی‌شده، می‌توانید المان‌های تعاملی و بسیار مدرنی خلق کنید که تجربه کاربری وب‌سایت شما را بهبود می‌بخشند.


پیشنمایش

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش اصول کار با WebSockets و ارتباطات بلادرنگ در وب: راهنمای کامل
5م آبان 1403

آموزش اصول کار با WebSockets و ارتباطات بلادرنگ در وب: راهنمای کامل

مطالعه بیشتر
آموزش ساخت یک Todo List با استفاده از DOM و جاوا اسکریپت: راهنمای گام به گام
3م آبان 1403

آموزش ساخت یک Todo List با استفاده از DOM و جاوا اسکریپت: راهنمای گام به گام

مطالعه بیشتر
آشنایی با Emit در Vue.js | انتقال رویدادها از کامپوننت فرزند به والد
24م آذر 1404

آشنایی با Emit در Vue.js | انتقال رویدادها از کامپوننت فرزند به والد

مطالعه بیشتر
آشنایی با انواع انتخاب‌گرها و تغییر پس‌زمینه با CSS: راهنمای جامع
4م شهریور 1402

آشنایی با انواع انتخاب‌گرها و تغییر پس‌زمینه با CSS: راهنمای جامع

مطالعه بیشتر
آموزش کامنت‌ها و کاراکترهای خاص در HTML و CSS: نحوه استفاده و مدیریت
23م مرداد 1402

آموزش کامنت‌ها و کاراکترهای خاص در HTML و CSS: نحوه استفاده و مدیریت

مطالعه بیشتر
آموزش استایل‌دهی لینک‌ها در CSS: طراحی و تنظیمات ساده برای لینک‌های HTML
7م شهریور 1402

آموزش استایل‌دهی لینک‌ها در CSS: طراحی و تنظیمات ساده برای لینک‌های HTML

مطالعه بیشتر
آموزش Emit در Vue.js | انتقال رویداد از کامپوننت فرزند به والد
28م آذر 1404

آموزش Emit در Vue.js | انتقال رویداد از کامپوننت فرزند به والد

مطالعه بیشتر
آموزش ایجاد و حذف المان‌های DOM به صورت داینامیک با جاوا اسکریپت: راهنمای جامع و کاربردی
2م آبان 1403

آموزش ایجاد و حذف المان‌های DOM به صورت داینامیک با جاوا اسکریپت: راهنمای جامع و کاربردی

مطالعه بیشتر
مدیریت خطاها در Async/Await و Promises در جاوا اسکریپت: راهنمای کامل با مثال‌های عملی
30م مهر 1403

مدیریت خطاها در Async/Await و Promises در جاوا اسکریپت: راهنمای کامل با مثال‌های عملی

مطالعه بیشتر
آموزش کامل ساخت فرم در HTML: از المان‌ها تا نکات سئو
21م مرداد 1402

آموزش کامل ساخت فرم در HTML: از المان‌ها تا نکات سئو

مطالعه بیشتر
آموزش ایجاد یک پروژه ساده React: شروع کار و ساختاردهی کامپوننت‌ها
28م شهریور 1402

آموزش ایجاد یک پروژه ساده React: شروع کار و ساختاردهی کامپوننت‌ها

مطالعه بیشتر
آموزش Pseudo-classes در CSS: تغییر استایل عناصر با hover، focus و nth-child
10م شهریور 1402

آموزش Pseudo-classes در CSS: تغییر استایل عناصر با hover، focus و nth-child

مطالعه بیشتر

تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد