جلسه ۴۶ – radial gradient در CSS

آشنایی با گردینت دایره ای یا گردینت شعاعی

آشنایی با ویژگی Radial Gradient
آشنایی با ویژگی Radial Gradient

منظور از گردینت شعاعی چیست؟ منظور از گردینت دایره ای چیست؟ منظور از Radial gradient چیست؟ چگونه می‌توانیم از گردینت های دایره ای در تصاویر استفاده کنیم؟

تو مقاله قبل، مقدار ()linear-gradient رو با هم یاد گرفتیم و دیدیم که توسط این مقدار، می‌تونیم به صورت خطی، از یه رنگ به رنگ دیگه منتقل بشیم. اگر هنوز با این مقدار یا ویژگی آشنا نشدید، مقاله آشنایی با linear Gradient را بخوانید.

تو این مقاله، باهم مقدار ()radial-gradient رو یاد می‌گیریم. اما فرق این مقدار با مقدار ()linear-gradient در چیه؟

توسط مقدار ()linear-graident، رنگ رو از یه مرکز شروع می‌کنیم و به اطراف اون مرکز رشد می‌دیم.

مقدار ()radial-gradient

این مقدار هم، دقیقا مثل ()linear-gradient، تو وهله اول فقط دو رنگ رو قبول می‌کنه. به مثال زیر دقت کنین:

استفاده از radial-gradient در CSS

<div id="parent">

</div>
#parent{
   background-image: radial-gradient(blue,green);
   height:800px;
   width:800px;
}

نتیجه کد به صورت زیر مشاهده می‌شه:

background-image: radial-gradient(blue,green)همونطور که میبینیم، گرادینت موردنظر، از رنگ آبی شروع کرد، به صورت شعاعی حرکت کرد و کارش رو تو رنگ سبز تموم کرد.

نکته ای که باید بهش توجه کنیم، اینه که آیا همیشه، گرادینت مورد نظر ما، به صورت دایره ای ظاهر می‌شه؟

پاسخ منفیه.

گرادینت، خودش رو متناسب با عنصر پدری که داخلش قرار داره تغییر می‌ده. فرض کنیم که عنصر پدر، یه عنصر مستطیلی باشه:

#parent{
   background-image: radial-gradient(blue,green);
   height:400px;
   width:800px;
}

نتیجه به صورت بیضی درخواهد اومد:

background-image: radial-gradient(blue,green)

جهت دهی در تابع ()radial-gradient

برخلاف جهت دهی تو ()linear-gradient، تو اینجا با عباراتی مثل top، bottom و left کاری نداریم.

برای جهت دهی تو تابع radial-gradient، با چهار مفهوم زیر سر و کار داریم.

  • closest-side
  • farthest-side
  • closest-corner
  • farthest-corner

حالا این مفاهیم چه معنی‌ای دارن؟

حالت closest-side

در این حالت، گرادینت ما در نزدیک ترین ضلع نزدیک به مرکز گرادینت به اتمام می‌رسه.

به کد زیر توجه کنین:

#parent{
   background-image:radial-gradient(closest-side at 90%, blue,green);
   height:400px;
   width:800px;
}

تو این کد، ما داریم می‌گیم: مرکز گرادینت رو در ۹۰درصد عرض عنصر پدر قرار بده، از آبی شروع کن و با سبز تموم کن. و همچنین! گرادینت رو در نزدیک ترین ضلع به مرکز به اتمام برسون!

چیزی که تو نتیجه میبینیم، به شکل زیره:

استفاده از حالت closest-side

حالت farthest-side

این حالت، برعکس حالت closest-side عمل می‌کنه. به این معنا که گرادینت رو در دور ترین ضلع از مرکز گرادینت پایان می‌ده.

#parent{
   background-image:radial-gradient(closest-side at 90%, blue,green);
   height:400px;
   width:800px;
}

کد فوق، نتیجه زیر رو به ما می‌ده:

استفاده از حالت حالت farthest-side

حالت closest-corner

تو این حالت، گرادینت در نزدیک ترین گوشه عنصر پدر، نسبت به مرکز گرادینت به اتمام می‌رسه.

به مثال زیر توجه کنین:

#parent{
   background-image:radial-gradient(closest-corner at 60% 60%, blue,green);
   height:400px;
   width:800px;
}

نتیجه کد به صورت زیره:

استفاده از حالت closest-corner

حالت farthest-corner

دقیقا بر خلاف حالت closest-corner، گرادینت در دورترین گوشه عنصر پدر نسبت به مرکزش به اتمام می‌رسه.

#parent{
   background-image:radial-gradient(farthest-corner at 60% 60%, blue,green);
   height:400px;
   width:800px;
}

نتیجه کد:

استفاده از حالت farthest-corner

درصد رنگ ها در ()radial-gradient

دقیقا مثل ()linear-gradient، اینجا هم از درصد رنگ ها بهره می‌بریم!

یاد گرفتیم که هر رنگ می‌تونه از درصد خاصی شروع شه و تو درصد دیگه‌ای تموم شه.

به کد زیر شامل درصد رنگ ها و radial-gradient توجه کنین:

#parent{
   background-image:radial-gradient(blue 10%,green 50%);
   height:400px;
   width:800px;
}

دیاگرام درصد رنگ تو اینجا یکم فرق داره که تو شکل زیر میبینیمش:

مفهوم درصد ها در radial-gradient

همونطور که میبینیم، رنگ آبی از ۰٪ تا ۱۰٪ ادامه داره.

رنگ سبز از ۵۰٪ شروع شده و تا ۱۰۰٪ ادامه پیدا کرده، بنابراین بین ۱۰٪ و ۵۰٪ شاهد اختلاط رنگ ها هستیم.

اگه سوال یا ابهامی براتون پیش اومد، حتما تو قسمت نظرات بپرسین تا کمکتون کنیم.

استفاده از چندین رنگ در ()radia-gradient

همانند ()linear-gradient، اینجا هم می‌تونیم از چندین رنگ متفاوت استفاده کنیم. به کد آموزشcss زیر توجه کنین:

#parent{
   background-image: radial-gradient(blue 20%,green 50%, yellow 90%);
   height:400px;
   width:800px;
}

نتیجه رو به فرم زیر مشاهده می‌کنیم:

background-image: radial-gradient(blue 20%,green 50%, yellow 90%)

پایان ترم

[box type=”info” class=”question-from-users” width=””]

سوال:

یکی از بهترین کاربرد های گرادینت ها، ساخت تصاویر پس زمینه سادست، بدون اینکه بخوایم برای ساده ترین کار ها، دست به دامن فتوشاپ بشیم.

با چه کد CSSای می‌تونیم تصویر پس زمینه زیر رو برای وب سایتمون بسازیم؟

کوییز مقاله ۴۶

نکته: رنگ هارو خودتون پیدا کنین!

راهنمایی: از developer tool مرورگرتون استفاده کنین.

به ایمیل کسانی که پاسخ درست و کامل رو در نظرات بگن ۱۰ هزارتومان در پنل کاربری آکادمی میزفا حسابشون شارژ میشه. (البته باید در آکادمی میزفا ثبت‌نام کنید تا بتونید از این امتیاز استفاده کنید.)

[/box]

نتیجه گیری

در این مقاله، نحوه استفاده از گرادینت شعاعی یا radial-gradient رو یاد گرفتیم.

متوجه شدیم که برای گسترش رنگ در راستای شعاعی، نیاز به استفاده از خاصیت background-image یا background و مقدار ()radial-gradient داریم.

همچنین، نحوه جهت دهی به گرادینت شعاعی و در نهایت، اختصاص دادن مقادیر درصدی مختلف به هر رنگ برای تعیین محدوده گسترش اون رنگ رو بررسی کردیم.

بدین ترتیب فصل گرادینت ها به پایان می‌رسه. امیدوارم که بهره کافی رو برده باشید 🙂

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

مدیر محتوا: علی اسمعیلی

فیلم آموزشی asp.net core 2

نوید معدن نژاد
یک عدد دانشجوی مهندسی مکانیک، که راه رسیدن به رویاهاش رو تو علوم کامپیوتری پیدا می‌کنه و سعی می‌کنه هیچوقت از یادگیری دست نکشه!
آموزش CSS
پایین سرفصل های CSS هست، روی منم کلیک کنی میتونی ببینی.

فیلم آموزشی asp.net core 2

4 نظر

4 پاسخ

  1. خیلی ممنونم از آموزش عالیتون
    میخواستم بدونم اگه قرار باشه این تمرین در سمت راست صفحه باشه چطوری باید انجامش بدیم؟ یعنی اون نقطه ۰۰٪ و ۰۰٪ به جای سمت چپ صفحه در سمت راست ایجاد بشه

    1. سلام شیرین، خواهش میکنیم ?
      ببخش یکم دیر پاسخ میدم.
      ببین بستگی داره که بخوای گردینتت به راست منتقل شه یا تمام عنصرت ؟ اگه فقط اولی باشه میتونی جای رنگ ها رو با هم تغییر بدی. اگه قبلا از قرمز به سبز میرفتی، حالا از سبز به قرمز میری.
      اما اگه میخوای تمرین کوییز کلا قرینه بشه، راه های زیادی برای اینکار وجود داره. برای مثال میتونی توسط دستور direction: rtl عنصرت رو راست چین کنی و سپس توسط خاصیت border-radius-bottom-left، انهنای عنصرت رو هم قرینه کنی.

  2. #parent{
    background-image:radial-gradient(farthest-corner at 00% 00%, darkslategray 5%,darkseagreen 100%);
    height:400px;
    width:800px;
    border-bottom-right-radius: 100%;
    }

    1. ممنون مهدی عزیز. این پاسخ هم کاملا درسته 🙂

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

حداکثر حجم فایل برای آپلود: 1 مگابایت. فایل‌های مجاز برای آپلود: عکس, ویس, ویدیو, ورد یا پی دی اف, فایل متنی, زیپ. شما می‌تونید برای بهتر پرسیدن سوالتون، عکس یا ویس یا حتی فیلم در بخش نظرات میزفا آپلود کنید. برای ضبط ویس می‌تونید از خود واتس آپ استفاده کنید و بعد اینجا آپلود کنید و برای ارسال عکس هم کافی هست اسکرین شات بگیرید. Drop file here

با موفقیت ثبت شد، میزفا از شما برای عضویت در خبرنامه هفتگی تشکر میکند.

عضویت در خبرنامه هفتگی برای دریافت:

  • فیلم و مقاله رایگان سئو
  • آموزش‌های UX ، GA و GTM
  • مقاله های تخصصی ASP.NET Core
  • اطلاع رسانی از محصولات
فیلم آموزشی asp.net core 2
ترک میزفا خوب نیست!
معرفی جامع‌ترین ابزار سئو در ایران
بالای ۱۰ هزار عضو
PHZpZGVvIHdpZHRoPSI2MDAiIGhlaWdodD0iMzUwIiBwb3N0ZXI9Imh0dHBzOi8vbWl6ZmEuY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzLzIwMjMvMDUvcG9zdGVyLW1pemZhLXRvb2xzLXZpZGVvLW1pbi5wbmciIGNvbnRyb2xzIHByZWxvYWQ9Im5vbmUiPiANCiAgIDxzb3VyY2Ugc3JjPSJodHRwczovL21pemZhLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzA1L21pemZhX3Rvb2xzXzcyMHAubXA0IiB0eXBlPSJ2aWRlby9tcDQiPg0KPC92aWRlbz4=