دسته : آموزش رایگان 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 به شما کمک میکند تا تجربه کاربری بهتری ارائه دهید و سایت خود را جذابتر کنید.
نظری یافت نشد
مدیریت ترتیب نمایش با z-index در CSS: آموزش کامل و کاربردی
11م آبان 1403
مطالعه بیشتر
معرفی React.js و بررسی مزایای آن برای توسعه وب و اپلیکیشن
28م شهریور 1402
مطالعه بیشتر
آموزش قالببندی متن در HTML: استفاده از تگها و CSS برای استایلدهی
23م مرداد 1402
مطالعه بیشتر
آموزش استفاده از تگهای خاص HTML: تگهای کاربردی برای طراحی وبسایت
22م مرداد 1402
مطالعه بیشتر
آموزش ترانزیشنها و انیمیشنهای نرم با CSS: ایجاد افکتهای پویا و واکنشگرا
10م شهریور 1402
مطالعه بیشتر
آموزش Responsive Design با استفاده از Media Queries: طراحی واکنشگرا برای تمامی دستگاهها
10م شهریور 1402
مطالعه بیشتر
آموزش اصول کار با WebSockets و ارتباطات بلادرنگ در وب: راهنمای کامل
5م آبان 1403
مطالعه بیشتر
آموزش استفاده از object-fit و object-position در CSS: تنظیم و قرارگیری تصاویر بهصورت دقیق
12م آبان 1403
مطالعه بیشتر
آموزش کار با flex-grow، flex-shrink و flex-basis در CSS Flexbox: مدیریت اندازه و فضای عناصر
11م آبان 1403
مطالعه بیشتر
آموزش Pseudo-classes در CSS: تغییر استایل عناصر با hover، focus و nth-child
10م شهریور 1402
مطالعه بیشتر
تنظیم عرض و ارتفاع عناصر در CSS: استفاده از width، height، max و min برای کنترل دقیق اندازهها
9م آبان 1403
مطالعه بیشتر
آموزش کامل کنترل جریان و استفاده از if و else در جاوا اسکریپت: راهنمای جامع برای مبتدیان
2م بهمن 1402
مطالعه بیشتر
تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد