کار با تصاویر SVG در CSS: کنترل استایل و استفاده از گرافیک‌های مقیاس‌پذیر

دسته : آموزش رایگان CSS

کار با تصاویر SVG در CSS: کنترل استایل و استفاده از گرافیک‌های مقیاس‌پذیر

کار با تصاویر SVG در CSS: کنترل استایل و استفاده از گرافیک‌های مقیاس‌پذیر

SVG (Scalable Vector Graphics) یک فرمت گرافیکی برداری است که به شما امکان می‌دهد تصاویر را به‌صورت برداری و مقیاس‌پذیر طراحی کنید و در صفحات وب استفاده کنید. SVG در مقایسه با تصاویر پیکسلی، دارای مزایای زیادی است، از جمله کاهش حجم فایل‌ها، افزایش وضوح و امکان کنترل دقیق استایل‌ها با استفاده از CSS. در این مقاله، با نحوه استفاده از SVG در صفحات وب و شیوه‌های استایل‌دهی آن‌ها در CSS آشنا می‌شویم.

 

معرفی فرمت SVG

SVG به عنوان یک فرمت برداری مبتنی بر XML، برای ایجاد گرافیک‌های با کیفیت و مقیاس‌پذیر استفاده می‌شود. این فرمت برای آیکون‌ها، نمودارها و سایر تصاویر ساده که نیاز به بزرگنمایی و کوچک‌نمایی بدون افت کیفیت دارند، بسیار مناسب است. SVG را می‌توان مستقیماً در HTML قرار داد یا به عنوان یک فایل خارجی پیوست کرد.

 

روش‌های استفاده از SVG در HTML

 

استفاده مستقیم از کد SVG در

با کپی کردن کد SVG مستقیماً در HTML، می‌توانید آن را با استفاده از CSS کنترل و استایل‌دهی کنید.



< svg width="100" height="100" viewBox="0 0 100 100" >
  < circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" / >
< / svg >

 

در اینجا:

  • یک دایره قرمز با خط حاشیه مشکی داخل یک تگ SVG قرار داده شده است که می‌تواند با CSS استایل‌دهی شود.

 

استفاده از فایل SVG خارجی با تگ < img >

می‌توانید از تگ < img > برای افزودن فایل SVG خارجی به صفحه استفاده کنید.



< img src="icon.svg" alt="SVG Icon" >

 

نکته: با استفاده از این روش، کنترل CSS برای استایل‌دهی محدودتر خواهد بود.

 

استفاده از SVG به عنوان پس‌زمینه در CSS

می‌توانید یک SVG را به عنوان پس‌زمینه یک عنصر با استفاده از ویژگی background-image در CSS تنظیم کنید.



.icon-background {
  background-image: url('icon.svg');
  width: 100px;
  height: 100px;
}

 

استایل‌دهی به SVGها با CSS

هنگامی که SVG در HTML قرار داده می‌شود، می‌توانید با CSS رنگ، اندازه، ضخامت خطوط و دیگر ویژگی‌های آن را کنترل کنید.

تغییر رنگ‌ها با fill و stroke

  • fill: رنگ داخلی اشکال را تعیین می‌کند.

  • stroke: رنگ خطوط حاشیه را تعیین می‌کند.



svg {
  width: 150px;
  height: 150px;
}

circle {
  fill: blue;
  stroke: green;
  stroke-width: 5;
}

 

در اینجا:

  • دایره داخل SVG به رنگ آبی (fill) و حاشیه سبز (stroke) با ضخامت 5px نمایش داده می‌شود.

 

تغییر رنگ با استفاده از currentColor

currentColor به شما اجازه می‌دهد که رنگ عناصر SVG را مطابق با رنگ متن عنصر والد تنظیم کنید.



.icon {
  color: red;
}

.icon svg path {
  fill: currentColor;
}

 

در اینجا:

  • با تغییر رنگ color، رنگ عناصر داخلی SVG به صورت خودکار تغییر می‌کند.

 

استفاده از کلاس‌ها و IDها برای استایل‌دهی به SVG

با استفاده از کلاس‌ها و IDها می‌توانید به طور مستقیم به هر عنصر SVG استایل‌دهی کنید.



< svg width="100" height="100" viewBox="0 0 100 100" >
  < circle class="circle" cx="50" cy="50" r="40" / >
< / svg >

 



.circle {
  fill: #4caf50;
  stroke: #333;
  stroke-width: 4;
}

 

در اینجا:

  • با اضافه کردن کلاس .circle، رنگ داخلی و حاشیه دایره در SVG تغییر داده شده است.

 

استفاده از انیمیشن‌ها در SVG با CSS

می‌توانید برای ایجاد جلوه‌های متحرک و پویا از انیمیشن‌های CSS در SVG استفاده کنید.

انیمیشن fill برای تغییر رنگ داخلی



@keyframes fillColor {
  0% { fill: red; }
  100% { fill: yellow; }
}

.animated-circle {
  animation: fillColor 2s infinite alternate;
}

 

انیمیشن stroke-dasharray و stroke-dashoffset برای ایجاد افکت خطی

با استفاده از stroke-dasharray و stroke-dashoffset می‌توانید جلوه‌ای مانند کشیدن خطوط ایجاد کنید.



.line {
  stroke: blue;
  stroke-width: 3;
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  animation: draw 2s linear forwards;
}

@keyframes draw {
  to {
    stroke-dashoffset: 0;
  }
}

 

در اینجا:

  • مقدار stroke-dasharray و stroke-dashoffset برای ایجاد انیمیشن به کار رفته است و افکتی مانند کشیدن خطوط را نشان می‌دهد.

 

استفاده از ویژگی‌های CSS برای کنترل اندازه SVG

با استفاده از ویژگی‌های width و height در CSS، می‌توانید اندازه SVG را بدون افت کیفیت تنظیم کنید.



.responsive-icon {
  width: 50%;
  height: auto;
}

 

در اینجا:

  • width به صورت درصدی تنظیم شده است که باعث واکنش‌گرایی SVG در نمایشگرهای مختلف می‌شود.

 

نکات و بهترین شیوه‌ها برای کار با SVG در CSS

  • بهینه‌سازی فایل‌های SVG: قبل از استفاده، فایل‌های SVG را با ابزارهایی مانند SVGOMG یا SVGO بهینه کنید تا حجم فایل کاهش یابد و بارگذاری سریع‌تر انجام شود.

  • استفاده از currentColor برای هماهنگی با طرح رنگی سایت: با استفاده از currentColor می‌توانید رنگ SVG را با رنگ متن هماهنگ کنید و استایل‌های رنگی متفاوتی ایجاد کنید.

  • ایجاد آیکون‌های واکنش‌گرا: از واحدهای درصدی یا vw و vh برای تنظیم اندازه SVG استفاده کنید تا در اندازه‌های مختلف صفحه به خوبی نمایش داده شوند.

  • استفاده محدود از انیمیشن‌ها: اگرچه انیمیشن‌های SVG می‌توانند جذاب باشند، اما استفاده بیش از حد می‌تواند منجر به کاهش کارایی و بارگذاری طولانی‌تر شود. انیمیشن‌ها را در بخش‌های ضروری و بهینه به کار ببرید.

 

نتیجه‌گیری

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

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش توسعه بازی‌های ساده با استفاده از جاوا اسکریپت و Canvas API: راهنمای گام به گام

آموزش توسعه بازی‌های ساده با استفاده از جاوا اسکریپت و Canvas API: راهنمای گام به گام

5م آبان 1403

مطالعه بیشتر

آموزش قالب‌بندی متن در HTML: استفاده از تگ‌ها و CSS برای استایل‌دهی

آموزش قالب‌بندی متن در HTML: استفاده از تگ‌ها و CSS برای استایل‌دهی

23م مرداد 1402

مطالعه بیشتر

استفاده از visibility و opacity در CSS برای مخفی‌سازی عناصر: راهنمای کامل و کاربردی

استفاده از visibility و opacity در CSS برای مخفی‌سازی عناصر: راهنمای کامل و کاربردی

11م آبان 1403

مطالعه بیشتر

آموزش ساخت یک برنامه ساده با Fetch API در جاوا اسکریپت: راهنمای گام به گام

آموزش ساخت یک برنامه ساده با Fetch API در جاوا اسکریپت: راهنمای گام به گام

1م آبان 1403

مطالعه بیشتر

آموزش جامع حلقه‌های for و while در جاوا اسکریپت: نحوه استفاده و کاربردها

آموزش جامع حلقه‌های for و while در جاوا اسکریپت: نحوه استفاده و کاربردها

2م بهمن 1402

مطالعه بیشتر

کار با border و تنظیمات آن در CSS: مدیریت زوایای گرد با border-radius

کار با border و تنظیمات آن در CSS: مدیریت زوایای گرد با border-radius

9م آبان 1403

مطالعه بیشتر

استفاده از clip-path در CSS برای برش‌های زیبا و جذاب: راهنمای کامل

استفاده از clip-path در CSS برای برش‌های زیبا و جذاب: راهنمای کامل

16م آبان 1403

مطالعه بیشتر

استفاده از display در CSS: تغییر نحوه نمایش عناصر - راهنمای جامع

استفاده از display در CSS: تغییر نحوه نمایش عناصر - راهنمای جامع

9م آبان 1403

مطالعه بیشتر

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

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

5م آبان 1403

مطالعه بیشتر

آموزش استفاده از box-shadow و text-shadow در CSS: ایجاد سایه‌های زیبا و جذاب

آموزش استفاده از box-shadow و text-shadow در CSS: ایجاد سایه‌های زیبا و جذاب

11م آبان 1403

مطالعه بیشتر

Async/Await: نوشتن کدهای خواناتر و ناهم‌زمان در جاوا اسکریپت - آموزش کامل با مثال‌ها

Async/Await: نوشتن کدهای خواناتر و ناهم‌زمان در جاوا اسکریپت - آموزش کامل با مثال‌ها

30م مهر 1403

مطالعه بیشتر

مفهوم برنامه‌نویسی هم‌زمان و ناهم‌زمان در جاوا اسکریپت: تفاوت‌ها، مثال‌ها و کاربردها

مفهوم برنامه‌نویسی هم‌زمان و ناهم‌زمان در جاوا اسکریپت: تفاوت‌ها، مثال‌ها و کاربردها

29م مهر 1403

مطالعه بیشتر

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