دسته : آموزش رایگان 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 به شما کمک میکند تا تجربه کاربری بهتری ارائه دهید و سایت خود را جذابتر کنید.
نظری یافت نشد
نصب Node.js و Create React App: شروع پروژههای React.js بهصورت آسان
28م شهریور 1402
مطالعه بیشتر
آموزش اضافه کردن ویدئو و صدا به وبسایت: نحوه استفاده از تگهای video و audio در HTML
23م مرداد 1402
مطالعه بیشتر
آموزش انیمیشنهای پیشرفته با keyframes در CSS: طراحی حرکات پویا و چند مرحلهای
18م شهریور 1402
مطالعه بیشتر
آموزش ارتباط با سرور و ارسال درخواستهای HTTP با Fetch API در جاوا اسکریپت: راهنمای جامع با مثالها
1م آبان 1403
مطالعه بیشتر
آموزش مفاهیم اولیه CSS Grid Layout: طراحی شبکههای پیچیده و واکنشگرا راهنمای کامل
6م شهریور 1402
مطالعه بیشتر
مدیریت ترتیب نمایش با z-index در CSS: آموزش کامل و کاربردی
11م آبان 1403
مطالعه بیشتر
آموزش ایجاد و حذف المانهای DOM به صورت داینامیک با جاوا اسکریپت: راهنمای جامع و کاربردی
2م آبان 1403
مطالعه بیشتر
آموزش موقعیتبندی المانها با استفاده از position در CSS: نحوه استفاده از absolute، relative و fixed
5م شهریور 1402
مطالعه بیشتر
آموزش CSS Blend Modes: ادغام رنگها و تصاویر برای طراحی وب جذاب
9م آبان 1403
مطالعه بیشتر
چگونه اسکریپتهای ساده جاوا اسکریپت را در مرورگر بنویسیم و اجرا کنیم: راهنمای کامل برای مبتدیان
2م مهر 1402
مطالعه بیشتر
آموزش کامنتها و کاراکترهای خاص در HTML و CSS: نحوه استفاده و مدیریت
23م مرداد 1402
مطالعه بیشتر
الگوهای رایج برنامهنویسی ناهمگام در جاوا اسکریپت: Promise.race، Promise.all، و Promise.any کامل و مثالها
1م آبان 1403
مطالعه بیشتر
تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد