دسته : آموزش رایگان CSS
SVG (Scalable Vector Graphics) یک فرمت گرافیکی برداری است که به شما امکان میدهد تصاویر را بهصورت برداری و مقیاسپذیر طراحی کنید و در صفحات وب استفاده کنید. SVG در مقایسه با تصاویر پیکسلی، دارای مزایای زیادی است، از جمله کاهش حجم فایلها، افزایش وضوح و امکان کنترل دقیق استایلها با استفاده از CSS. در این مقاله، با نحوه استفاده از SVG در صفحات وب و شیوههای استایلدهی آنها در CSS آشنا میشویم.
SVG به عنوان یک فرمت برداری مبتنی بر XML، برای ایجاد گرافیکهای با کیفیت و مقیاسپذیر استفاده میشود. این فرمت برای آیکونها، نمودارها و سایر تصاویر ساده که نیاز به بزرگنمایی و کوچکنمایی بدون افت کیفیت دارند، بسیار مناسب است. SVG را میتوان مستقیماً در HTML قرار داد یا به عنوان یک فایل خارجی پیوست کرد.
با کپی کردن کد 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 استایلدهی شود.
میتوانید از تگ < img > برای افزودن فایل SVG خارجی به صفحه استفاده کنید.
< img src="icon.svg" alt="SVG Icon" >
نکته: با استفاده از این روش، کنترل CSS برای استایلدهی محدودتر خواهد بود.
میتوانید یک SVG را به عنوان پسزمینه یک عنصر با استفاده از ویژگی background-image در CSS تنظیم کنید.
.icon-background {
background-image: url('icon.svg');
width: 100px;
height: 100px;
}
هنگامی که 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 به شما اجازه میدهد که رنگ عناصر SVG را مطابق با رنگ متن عنصر والد تنظیم کنید.
.icon {
color: red;
}
.icon svg path {
fill: currentColor;
}
در اینجا:
با تغییر رنگ color، رنگ عناصر داخلی 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 تغییر داده شده است.
میتوانید برای ایجاد جلوههای متحرک و پویا از انیمیشنهای CSS در SVG استفاده کنید.
انیمیشن fill برای تغییر رنگ داخلی
@keyframes fillColor {
0% { fill: red; }
100% { fill: yellow; }
}
.animated-circle {
animation: fillColor 2s infinite alternate;
}
با استفاده از 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 برای ایجاد انیمیشن به کار رفته است و افکتی مانند کشیدن خطوط را نشان میدهد.
با استفاده از ویژگیهای width و height در CSS، میتوانید اندازه SVG را بدون افت کیفیت تنظیم کنید.
.responsive-icon {
width: 50%;
height: auto;
}
در اینجا:
width به صورت درصدی تنظیم شده است که باعث واکنشگرایی SVG در نمایشگرهای مختلف میشود.
بهینهسازی فایلهای SVG: قبل از استفاده، فایلهای SVG را با ابزارهایی مانند SVGOMG یا SVGO بهینه کنید تا حجم فایل کاهش یابد و بارگذاری سریعتر انجام شود.
استفاده از currentColor برای هماهنگی با طرح رنگی سایت: با استفاده از currentColor میتوانید رنگ SVG را با رنگ متن هماهنگ کنید و استایلهای رنگی متفاوتی ایجاد کنید.
ایجاد آیکونهای واکنشگرا: از واحدهای درصدی یا vw و vh برای تنظیم اندازه SVG استفاده کنید تا در اندازههای مختلف صفحه به خوبی نمایش داده شوند.
استفاده محدود از انیمیشنها: اگرچه انیمیشنهای SVG میتوانند جذاب باشند، اما استفاده بیش از حد میتواند منجر به کاهش کارایی و بارگذاری طولانیتر شود. انیمیشنها را در بخشهای ضروری و بهینه به کار ببرید.
کار با SVG و کنترل استایل آنها در CSS میتواند به شما امکان دهد طراحیهای مدرن، پویا و با کیفیت بالایی ایجاد کنید. با استفاده از این تصاویر برداری، طراحیهایتان در دستگاههای مختلف به صورت واکنشگرا و بدون افت کیفیت باقی میمانند. یادگیری استفاده بهینه از SVGها و استایلدهی آنها در CSS به شما کمک میکند تا تجربه کاربری بهتری ارائه دهید و سایت خود را جذابتر کنید.
نظری یافت نشد
الگوهای رایج برنامهنویسی ناهمگام در جاوا اسکریپت: Promise.race، Promise.all، و Promise.any کامل و مثالها
1م آبان 1403
مطالعه بیشتر
آموزش کار با رویدادهای فرم و اعتبارسنجی فرمها در جاوا اسکریپت: راهنمای جامع
3م آبان 1403
مطالعه بیشتر
مقدمه و ساختار اولیه HTML: راهنمای شروع طراحی صفحات وب برای مبتدیان
18م مرداد 1402
مطالعه بیشتر
آموزش ساخت Toggle Switch با CSS: طراحی دکمههای تغییر وضعیت جذاب و واکنشگرا
16م آبان 1403
مطالعه بیشتر
آموزش تگهای متنی اولیه در HTML: استایلدهی و قالببندی متنها
18م مرداد 1402
مطالعه بیشتر
آموزش مفاهیم اولیه CSS Grid Layout: طراحی شبکههای پیچیده و واکنشگرا راهنمای کامل
6م شهریور 1402
مطالعه بیشتر
آموزش ساخت یک Todo List با استفاده از DOM و جاوا اسکریپت: راهنمای گام به گام
3م آبان 1403
مطالعه بیشتر
آموزش کامل استفاده از float، clear، text و font در CSS برای طراحی وب: راهنمای جامع
6م شهریور 1402
مطالعه بیشتر
کنترل زمانبندی و اندازهگیری دقیق انیمیشنها در CSS: آموزش جامع و اصول استاندارد
18م شهریور 1402
مطالعه بیشتر
استفاده از calc در CSS: محاسبات پویا برای طراحیهای منعطف
12م آبان 1403
مطالعه بیشتر
آموزش کامنتها و کاراکترهای خاص در HTML و CSS: نحوه استفاده و مدیریت
23م مرداد 1402
مطالعه بیشتر
آموزش استفاده از cubic-bezier در CSS برای انیمیشنهای سفارشی و حرفهای
12م آبان 1403
مطالعه بیشتر
تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد