به معنای واقعی کلمه: مقیاس پذیر گرافیک برداری... ام وی جی؟ SVG! V فرمت های بردارینه خود تصویر ذخیره می شود، بلکه دستورالعمل هایی برای ساخت آن از روی نقاط و منحنی ها ذخیره می شود.
V فرمت های شطرنجیاطلاعات در مورد تعداد مشخصی از نقاط تصویر در یک آجر باینری بسته بندی شده است. بررسی آن بی فایده است و فقط در ویرایشگرهای گرافیکی می توانید آن را تغییر دهید.
�PNG IH�aV PLTE���������0� IDacZ�d����� �W = S�3�o؛ ���] P ���IEND�B`� ~
فرمت SVG همچنین می تواند در ویرایشگرهای گرافیکی مانند Illustrator، Sketch یا Inkscape ایجاد و اصلاح شود. اما متن نیز هست، به این معنی که می توان آن را به صورت HTML یا CSS در هر ویرایشگر کد باز کرد.
بیشتر به شما می گویم: SVG مانند یک صفحه HTML جداگانه است. وقتی SVG را جاسازی می کنید، در واقع نه فقط یک عکس، بلکه کل صفحه را جاسازی می کنید. با سیستم مختصات، نمای، استایل ها، اسکریپت ها و ویژگی های شگفت انگیز.
سبک ها و فیلمنامه ها، کارل! در اینجا یک عکس ساده برای شما است.
نگاه به SVG به عنوان صفحه جداگانه- مشخص می شود که به کدام روش درج نیاز دارید. چهار مورد اصلی وجود دارد و هر کدام ویژگی های خاص خود را دارند.
اولین و ساده ترین عنصر عنصر است درست در کد HTML این، در اصل، بیشترین است روش موثرهر تصویری را بارگیری کنید - مرورگرها از قبل با کد HTML می دانند که در آنجا وجود دارد و شروع به بارگیری آن می کنند.
نکته منفی این است که اسکریپت ها در چنین SVG کار نمی کنند و هر گونه تلاش برای تعامل با عناصر داخل محکوم به فناست. فایل مانند شیشه خواهد بود: می توانید نگاه کنید، اما نمی توانید آن را لمس کنید. همه چیزهای دیگر در داخل به خوبی کار می کنند، از جمله انیمیشن های CSS.
این روش برای تصاویر محتوایی که نیازی به تعامل ندارند مناسب است: آرم ها، گرافیک ها، نمودارها.
راه دوم این است تصویر پس زمینهدر CSS و مهم نیست که آن را روی یک عنصر، شبه عنصر یا محتوای درج کنید - نتیجه همان خواهد بود که با : پشت شیشه، اما چیزی داخل آن کار می کند.
.picture (تصویر پس زمینه: url (picture.svg)؛)
این روش برای گرافیک های طراحی که نیازی به تعامل ندارند، مناسب است: پس زمینه، آیکون ها و سایر موارد کوچک.
راه سوم، از طریق
در واقع، به جای
انعطاف پذیری قیمت دارد: با توجه به اینکه دیگر فقط گرافیک نیست و می توان در آنجا اسکریپت نوشت، سایر الزامات امنیتی بر این روش تحمیل می شود. به عنوان مثال، شما نمی توانید فقط یک عکس از دامنه دیگری درج کنید.
این روش زمانی مناسب است که شما نیاز به وارد کردن مقداری دارید گرافیک تعاملی: اسباب بازی، گرافیک، و هر چیز پیچیده. کافی است که گاهی اوقات به یاد داشته باشید
روش چهارم زمانی کار میکرد که مرورگرها تجزیهکنندههای HTML خود را به استاندارد جدید بازنویسی کردند و محتویات فایلهای SVG را میتوان مستقیماً در صفحه، مانند هر تگ دیگر، درج کرد.
مربع
با این SVG، میتوانید مانند عناصر معمولی HTML انجام دهید: سبکها، اسکریپتها - خوب، خودتان میدانید. به عنوان مثال، می توانید رنگ پر را در حالت شناور تغییر دهید و همه چیز را به سبک های کلی توصیف کنید.
نکته منفی این است که چنین تصاویری به طور جداگانه از صفحه ذخیره نمی شوند - اگرچه می توان از طریق نمادها و یوز از آن عبور کرد، اما این داستان بلند، در این مورد جداگانه صحبت خواهیم کرد.
SVG بسیار بیشتر از یک فرمت گرافیکی است - ما قبلاً این را درک کرده ایم. می خواهید عمیق تر کاوش کنید؟ مقالات سارا سویدان را بخوانید، این بهترین چیزی است که تاکنون وجود داشته است. همه لینک ها در توضیحات ویدیو هستند.
در پایان: راه های زیادی وجود دارد و همه به نوعی خوب هستند. یکی را انتخاب کنید که با نیازهای شما مطابقت دارد، اما همیشه با ساده ترین آنها شروع کنید: و پس زمینه، و سپس آن را پیچیده کنید - اگر کافی نیست.
نسخه ویدیویی
پشتیبانی از گرافیک برداری مقیاس پذیر (SVG) در همه موارد عالی است مرورگرهای مدرنفرمت تصویر در زمینه های شگفت انگیز در بسیاری از صفحات وب مختلف ظاهر می شود. اما با وجود اینکه برای نزدیک به دو دهه استاندارد بوده است، SVG یک قالب تا حدی جدید برای برخی از طراحان و توسعه دهندگان باقی مانده است و آنها را در مورد نحوه استفاده از آن در یک سایت سردرگم می کند. در اینجا چند دلیل وجود دارد که چرا باید از SVG استفاده کنید:
اندازه فایل کوچک
SVGهای معمولی با طراحی خوب بسیار کوچکتر از PNGهای مشابه هستند، به این معنی که صفحاتی که از آنها استفاده می کنند سریعتر برای کاربران بارگذاری می شوند.
مقیاس پذیری
از آنجایی که SVG از ساخته شده است فرمول های ریاضیبه جای پیکسل های ثابت گرافیک بیت مپتصاویر SVG را می توان بدون افت کیفیت بزرگ و کم کرد و برای سایت های واکنش گرا مدرن ایده آل است.
با DOM تعامل دارد
SVG گاهی اوقات به عنوان "طراحی با نشانه گذاری" شناخته می شود: هر عنصر در تصویر SVG با DOM تعامل دارد، به این معنی که CSS و جاوا اسکریپت می توانند بخش هایی از سند SVG را دستکاری کنند. برخلاف گرافیک بیت مپ، هر شکل جداگانه در SVG می تواند شناسه یا کلاس خاص خود را داشته باشد.
آسان برای تغییر و تطبیق
کیفیت اجزای SVG به این معنی است که اسناد SVG به خوبی شکل گرفته را می توان به راحتی در هر ویرایشگر متنی بدون نیاز به اصلاح کرد. برنامه های تخصصیبرای بیت مپ مورد نیاز است. و از آنجایی که SVG با DOM تعامل دارد، عناصر آن را می توان با استفاده از CSS تغییر داد. فرمت SVG برای نمایش عالی است:
-
تصاویر و نقاشی ها
آرم ها
ابزارهای SVG
در حالی که می توانید یک سند SVG با استفاده از هر یک ایجاد کنید ویرایشگر متنبرنامه های تصویر برداری وکتور مانند Adobe illustratorیا Inkscape معمولا است بهترین انتخاب(البته لازم به ذکر است که سایر برنامه ها از جمله برنامه های سه بعدی مانند Blender و برنامه های کاربردی سرور، می تواند SVG صادر کند).
از هر چیزی که استفاده می کنید، باید توجه داشته باشید که ایجاد SVG از برنامه ها هنوز هم گاهی اوقات چیزهای زیادی را برای شما به ارمغان می آورد: سند حاصل اغلب مجدداً کدگذاری می شود و گاهی اوقات فرمت ضعیفی دارد. فایل svg را می توان با پردازش آن با یک بهینه ساز مانند SVGOMG کوچکتر و فشرده تر کرد. گاهی اوقات ارسال یک سند svg اشتباه از طریق اعتبار سنجی W3C می تواند به شما در شناسایی دقیق مشکلات کمک کند.
ادغام SVG
سه راه اصلی برای استفاده مستقیم از SVG در یک صفحه وب وجود دارد:
از آنجایی که SVG مبتنی بر XML است، می توان آن را مستقیماً در کد صفحه شما ادغام کرد. کد SVG تأخیر و زمان بارگذاری کلی صفحه شما را کاهش می دهد.
پسندیدن بیت مپ ها، فایل SVG را می توان با برچسب ارجاع داد یا از طریق CSS به عنوان تصویر پس زمینه. این اغلب است بهترین راهمگر اینکه SVGها به توجه فردی CSS و جاوا اسکریپت نیاز داشته باشند.
به عنوان درج شده است
SVG پاسخگو
همانطور که اشاره کردم، اجزای فردی SVG ها را می توان با یک ID یا یک کلاس برچسب گذاری کرد، به این معنی که می توان آنها را در پرس و جوهای رسانه ای دستکاری کرد. این بدان معنی است که شما می توانید استفاده کنید توابع مختلفتصاویر SVG وقتی اندازه های متفاوتصفحه نمایش، ایجاد فرصت هایی برای آرم ها یا تصاویر واکنش گرا که جزئیات زیاد یا کم را با کوچک شدن و بزرگ شدن نمای نمایش نشان می دهند ... که کاملاً برای طراحی تعاملی، که شامل نشان دادن محتوای مربوطه به بازدیدکنندگان سایت در سطح مناسب از جزئیات، در دستگاهی است که از آن در حال مشاهده هستند. این لحظهسایت.
در اینجا چند نمونه از لوگوهای واکنش گرا آورده شده است:
SVG تعاملی
SVG ها برای نمایش اشکال در دنیای واقعی عالی هستند، به این معنی که برای آنها عالی هستند نقشه های تعاملی:
الگوها
دو جنبه مخصوصاً نادیده گرفته شده SVG وجود دارد:
SVG یک فرمت تصویری برای گرافیک برداری است. این به معنای واقعی کلمه چیزی بیش از گرافیک برداری مقیاس پذیر نیست. یعنی این دقیقاً همان چیزی است که در Adobe Illustrator با آن کار می کنید. استفاده از SVG در توسعه وب بسیار آسان است، اما برخی از ویژگیهایی وجود دارد که ارزش در نظر گرفتن دارد.
SVG برای چه مواردی استفاده می شود
- اندازه فایل کوچک که به خوبی فشرده می شود
- مقیاس به هر اندازه بدون افت کیفیت
- در نمایشگرهای شبکیه چشم عالی به نظر می رسد
- کنترل کامل طراحی با تعامل و فیلترها
بیایید چیزی برای کار آینده در Adobe Illustrator ترسیم کنیم. بیایید پرنده کیوی را در نظر بگیریم:
توجه داشته باشید که بوم دقیقاً به لبه تصویر بریده شده است. Canvas در SVG دقیقاً به همان روش PNG یا JPG ساخته می شود. می توانید فایل را مستقیماً از Adobe Illustrator به عنوان یک فایل SVG ذخیره کنید.
پس از ذخیره فایل، گفتگوی گزینه های SVG دیگری ظاهر می شود. صادقانه بگویم، من اطلاعات زیادی در مورد تمام تنظیمات ارائه شده در این پنجره ندارم. مشخصاتی برای پروفایل های SVG وجود دارد، بنابراین اگر علاقه مند هستید می توانید آن را بخوانید. به نظر من SVG 1.1 عالی کار می کند.
قسمت جالب اینجا این است که می توانید روی OK کلیک کنید و فایل را ذخیره کنید یا روی دکمه SVG Code ... کلیک کنید و یک ویرایشگر متن با کد SVG باز می شود.
هر دو روش می توانند مفید باشند.
استفاده از SVG به عنوان تگ img
در ایلاستریتور، بوم ما 612 پیکسل ✕ 502 پیکسل است.
چقدر تصویر بزرگبرای تصمیم گیری شما در صفحه خواهد بود. با تعریف می توانید اندازه تصویر را تغییر دهید ویژگی های عرضو ارتفاع، یعنی دقیقاً مانند PNG یا JPG. در اینجا یک مثال است:
این قلم را بررسی کنید!
نحوه ساخت SVG متقابل مرورگر
هنگام استفاده از SVG به این روش، باید پشتیبانی متفاوت در مرورگرها را در نظر داشته باشید. اساساً SVG در همه جا به جز IE8 و پایین تر و اندروید 2.3 و پایین تر کار می کند.
اگر نیاز به استفاده از SVG دارید، اما همچنین نیاز به پشتیبانی از مرورگرهای ذکر شده در بالا دارید، چندین راه حل برای مشکل وجود دارد. من از چندین تکنیک در پروژه های مختلف برای حل این مشکل استفاده کرده ام.
یکی از راههای بررسی پشتیبانی SVG، Modernizr است که مسیر src را تغییر میدهد:
If (! Modernizr.svg) ($ (. Logo img"). Attr ("src"، "images / logo.png");)
دیوید بوشل بسیار سبک وزن را ارائه کرد راه جایگزیناما شامل جاوا اسکریپت در نشانه گذاری است:
سرویس SVGeezy نیز می تواند کمک کند. در ادامه این مقاله به تحلیل موارد مختلف خواهیم پرداخت روش های پشتیبان گیریبرای پشتیبانی از SVG
از SVG به عنوان تصویر پس زمینه پس زمینه استفاده کنید
به قیاس با تگ img SVG را می توان به عنوان تصویر پس زمینه استفاده کرد:
آرم Kiwi Corp (نمایش: بلوک؛ تورفتگی نوشتاری: -9999 پیکسل؛ عرض: 100 پیکسل؛ ارتفاع: 82 پیکسل؛ پسزمینه: url (kiwi.svg؛ اندازه پسزمینه: 100 پیکسل 82 پیکسل؛)توجه داشته باشید که اندازه پس زمینه را دقیقاً به اندازه عنصر تنظیم می کنیم. این باید انجام شود، زیرا در غیر این صورت ما شاهد یک کوچکی خواهیم بود قسمت فوقانی تصویر اصلی... این اعداد نسبت ابعاد اصلی تصویر را در نظر می گیرند. همچنین می توانید از اندازه پس زمینه به عنوان مقادیر استفاده کنید کلید واژه ها، برای مثال حاوی به طوری که تصویر کل عنصر را پر کند.
استفاده از SVG بهعنوان تصویر پسزمینه اثر خود را در پشتیبانی مرورگر بر جای میگذارد، اما به طور کلی، همه چیز مانند استفاده از تگ img است.
Modernizr می تواند در اینجا به روشی حتی کارآمدتر از img به ما کمک کند. نکته این است که اگر جایگزین کنید تصویر پس زمینهبا یک قالب پشتیبانی شده، سپس فقط یک درخواست HTTPبه جای دو، همانطور که در مورد img است. Modernizr نام کلاس "no-svg" را به آن اضافه می کند تگ HTMLاگر مرورگر از SVG پشتیبانی نمی کند:
سرصفحه اصلی (پسزمینه: آدرس اینترنتی (logo.svg) بدون تکرار بالا سمت چپ; پس زمینه اندازه: حاوی; .no-svg .main-header (تصویر پس زمینه: url (logo.png)؛)
اگر در استفاده از دو روش بالا برای استفاده از SVG مشکل دارید، در زیر چند روش دیگر برای قرار دادن گرافیک برداری آورده شده است.
استفاده از SVG "inline".
در بالا ذکر شد که هنگام ذخیره یک عکس با فرمت SVG، با استفاده از ویرایشگر Illustrator، می توانید کد SVG صحیح را دریافت کنید (همچنین می توانید فایل را با یک ویرایشگر متن باز کنید و این کد را کپی کنید). شما می توانید این کد را در HTML خود کپی کنید و SVG دقیقاً مشابه زمانی است که از img استفاده می کنید.
این می تواند مفید باشد، زیرا تصویر تصویر همراه با کد موجود در سند است و درخواست HTTP نمی دهد. به عبارت دیگر، فواید آن مانند استفاده است داده های داده URI. با این حال، معایبی نیز وجود دارد. با توجه به درج درج کد مستقیم SVG، سند شروع به شبیه شدن به یک قطعه تلخ بزرگ کرده است.
همچنین گزینه ای برای درج های SVGسمت سرور:
بهینه سازی SVG
Adobe Illustrator به طور پیش فرض تصویر SVG حاصل را بهینه نمی کند. این DOCTYPE و یادداشت ها را همه توسط روی هم رفتهزباله SVG به طور پیش فرض نسبتا سبک وزن است، اما چرا آن را حتی سبک تر نکنید؟ پیتر کولینریج ارائه کرد ابزار آنلاینبرای بهینه سازی SVG Optimiser. با این سرویس می توانید آپلود کنید فایل قدیمیو یک جدید بهینه شده دریافت کنید.
اگر هاردکور بیشتری می خواهید - مشکلی نیست، در اینجا ابزاری برای بهینه سازی SVG با ابزار جاوا اسکریپت Node JS سمت سرور وجود دارد https://github.com/svg/svgo
یک ظاهر طراحی SVG
ببینید SVG چگونه شبیه HTML است؟ این به این دلیل است که هر دوی آنها هستند داده های XML... دو عنصر در طراحی ما وجود دارد که پایه را تشکیل می دهند، آنها بیضی و مسیر هستند. ما می توانیم آنها را از طریق کد HTML بدون هیچ مشکلی به کلاس ها راهنمایی کنیم.
اکنون می توانیم این عناصر را با SVG CSS سفارشی کنترل کنیم. این CSS لازم نیست مستقیماً در SVG تعبیه شود، می تواند کاملاً در هر مکانی قرار گیرد. توجه داشته باشید که عناصر SVG دارای مجموعه خاصی از سبک ها هستند که به طور خاص برای کار با آنها طراحی شده اند گرافیک برداری... به عنوان مثال، از رنگ پس زمینه معمول استفاده نمی شود، بلکه از رنگ پر استفاده می شود. اگرچه برخی از سبک های رایج نیز کار می کنند، مانند: شناور.
کیوی (پر: # 94d31b;). کیوی: شناور (پر: # ace63c;)
SVG دارای فیلترهای سرگرم کننده است. به عنوان مثال تاری:
...سپس در صورت نیاز می توانید این را در css اعمال کنید:
زمین: شناور (فیلتر: url (#pictureFilter)؛)
این چیزی است که اتفاق افتاد:
این قلم را بررسی کنید!
پشتیبانی از مرورگر SVG درون خطی
لیست مرورگرهایی که پشتیبانی می کنند این حالتنگاشت های SVG را می توان در اینجا مشاهده کرد http://caniuse.com/#feat=svg-html5. باز هم در IE8 و اندروید 2.3 پشتیبانی وجود ندارد.
یکی از گزینه های بازگشتی برای این نوع SVG:
...سپس دوباره از Modernizr استفاده می کنیم:
Logo-fallback (نمایش: هیچ؛ / * مطمئن شوید که اندازه آن به اندازه SVG است * /) .no-svg .logo-fallback (تصویر پس زمینه: url (logo.png)؛)
استفاده از SVG به عنوان یک شی
اگر استفاده از SVG "inline" مورد پسند شما نیست (به یاد داشته باشید که این گزینه دارای معایبی است، مانند عدم وجود حافظه پنهان)، می توانید SVG را به شی پیوند داده و سپس آن را با استفاده از css تغییر دهید:
برای پشتیبانی از مرورگرهای متقابل، از Modernizr استفاده می کنیم:
نشانواره No-svg (عرض: 200 پیکسل؛ ارتفاع: 164 پیکسل؛ تصویر پسزمینه: url (kiwi.png)؛)
این گزینه با حافظه پنهان کار می کند و از همه موارد فوق پشتیبانی بیشتری از مرورگر دارد. اما برای اینکه با CSS روی چنین شیئی عمل کنید، باید استایل ها را مستقیماً در فایل SVG بنویسید.
...با استفاده از داده ها URI به نوعی برای کاهش وزن SVG کند است. Mobilefish.com یک ابزار بهینه سازی آنلاین برای این منظور فراهم می کند. کافی است محتویات فایل SVG خود را پیست کرده و فرم را پر کنید، سپس نتیجه در یک فیلد متنی قابل کپی نمایش داده می شود. به نظر می رسد این است:
شما می توانید از این کد در هر جایی استفاده کنید! مثلا:
نشانواره (پسزمینه: url (دادهها: تصویر / svg + xml؛ base64،)؛
و ضمناً اگر در SVG یک استایل درون خطی pre-base64 داشته باشید، اگر از آن مانند یک آبجکت استفاده کنید، کار می کند!
آماده سازی SVG برای استفاده در وب یک فرآیند بسیار ساده است، پیچیده تر از آن نیست. صادرات JPEGیا PNG از هر ویرایشگر گرافیکی که با آن آشنا هستید (Illustrator، Sketch، Inkscape [رایگان] و موارد مشابه [یا حتی فتوشاپ اگر از لایههای دارای اشکال استفاده میکنید]) با اندازه تصویری که قصد استفاده از آن را دارید، استفاده کنید. من معمولا در Illustrator کار می کنم، بنابراین برخی از روش های تهیه فایل ها را در این برنامه توضیح خواهم داد، اما به طور کلی آنها برای هر برنامه دیگری قابل اجرا هستند. ممکن است بخواهید متن را به منحنی تبدیل کنید، زیرا فونت به احتمال زیاد نادرست نمایش داده می شود، مگر اینکه البته قصد دارید آن را با فونت وب استفاده شده در صفحه استایل دهید (که ممکن است!). همچنین نباید همه اشیاء را به یک شکل تبدیل کنید، به خصوص اگر ضربه ای دارید که باید در صفحه کنترل شود، به خصوص که تبدیل اشیا اغلب اندازه فایل را کاهش نمی دهد. هر نامی که به گروه ها یا لایه ها اختصاص داده شود به عنوان شناسه عنصر به SVG اضافه می شود. این برای یک ظاهر طراحی بسیار مفید است، اما اندازه کلی فایل را کمی افزایش می دهد.
قبل از صادرات، باید بررسی کنید که آیا همه تصاویر در یک شبکه پیکسلی عدد صحیح هستند (یعنی، برای مثال، نه 23.3px × 86.8px). در غیر این صورت به احتمال زیاد تصویر فاقد وضوح خواهد بود و بخشی از تصویر برش داده می شود. در ایلاستریتور می توانید این کار را به این صورت انجام دهید: Object> Artboards> Fit to Artwork Bounds. سپس save as را بزنید و SVG را انتخاب کنید و تنظیمات پیش فرض را رها کنید. میتوانید در اینجا کمی بهینهسازی انجام دهید، اما واقعاً ارزشش را ندارد، زیرا بعداً ترفندهای بهبود متفاوتی را اعمال خواهیم کرد، بنابراین فعلاً وقت خود را روی این تنظیمات تلف نخواهیم کرد.
تکنیک های کاهش حجم فایل ها
(به بهینه سازی مراجعه کنید)
برای دستیابی به کوچکترین اندازه SVG، منطقی است که تمام موارد غیر ضروری را از آن حذف کنید. معروف ترین و برنامه مفید(بر حداقلمن فکر می کنم اینطور است) برای مدیریت SVG SVGO است. او همه را حذف نمی کند کد مورد نیاز... ولی! اگر قصد دارید SVG را دستکاری کنید، در استفاده از این برنامه مراقب باشید کمک CSS/ Js، زیرا ممکن است کد را بیش از حد پاک کند و تغییرات بعدی را دشوار کند. راحتی SVGO همچنین در این واقعیت نهفته است که می تواند در فرآیند گنجانده شود مونتاژ اتوماتیکپروژه، اما شما همچنین می توانید استفاده کنید رابط کاربری گرافیکیاگر می خواهید
درک با جزئیات بیشتر با حذف صحیحهمه چیز غیر ضروری است، ما می توانیم کار دیگری انجام دهیم ویرایشگر گرافیکی... ابتدا باید مطمئن شوید که تا حد امکان از مسیرها / شکلهای کمتر و همچنین نقاطی در آن مسیرها استفاده میکنید. شما می توانید هر چیزی را که به سادگی امکان پذیر است ترکیب و ساده کنید و همه چیز را حذف کنید. نکات غیر ضروری... Illustrator دارای یک پلاگین VectorScribe با ابزار Smart Remove Brush است که به شما کمک می کند نقاط را حذف کنید و همچنان آن را ترک کنید. فرم کلییکسان.
پیش بهینه سازی
Smart Remove Brush Tool نقاط را حذف کرد
در ادامه تصویر را بزرگتر خواهیم کرد. در ایلوستریتور، روشن کردن View>Pixel Preview و بررسی نحوه قرارگیری مسیرها مفید است. قرار دادن مسیرها روی شبکه زمان کمی طول می کشد، اما این تلاش نتیجه می دهد و به شما امکان می دهد به رندر واضح تری برسید (بهتر است از قبل به این موضوع توجه کنید).
نقاط خارج از شبکه
تراز کردن به شبکه
اگر دو یا چند شی برای تراز کردن وجود دارد، پس ارزش آن را دارد که همه همپوشانی های غیر ضروری را حذف کنید. گاهی اوقات، حتی اگر خطوط به دقت تراز شده باشند، ممکن است یک خط سفید نازک قابل مشاهده باشد. برای جلوگیری از این امر، می توانید اجسام را کمی روی هم قرار دهید. مهم: در SVG، z-index دارای نظم خاصی است که بستگی به شی واقع در پایین دارد، بنابراین ارزش قرار دادن شی بالا را دارد. بخش پایینیفایل در کد
و در نهایت، آخرین نکته، چیزی که معمولا فراموش می شود، فعال کردن فشرده سازی gzip SVG در سایت خود در یک فایل htaccess.
AddType image / svg + xml svg svgz
به عنوان نمونه ای از تاثیرگذاری این تکنیک، از آرم اصلی شکستن مرزها استفاده می کنم و آن را به این شکل بهینه می کنم: اندازه را به اندازه ای که باید باشد افزایش دهید. من خطوط را مرتب خواهم کرد. تا حد امکان نقاط را حذف کنید. حرکت نقطه به پیکسل. من تمام مناطق همپوشانی را جابجا می کنم و همه را به SVGO ارسال می کنم.
اصل: 1,413b
پس از بهینه سازی: 409b
در نتیجه، اندازه فایل ~ 71٪ کوچکتر شد (و ~ 83٪ با فشرده سازی کوچکتر)
به معنای واقعی کلمه: گرافیک برداری مقیاس پذیر. ام وی جی؟ SVG! در فرمت های برداری، نه خود تصویر، بلکه دستورالعمل هایی برای ساخت آن با استفاده از نقاط و منحنی ها ذخیره می شود.
در فرمت های شطرنجی، اطلاعات مربوط به تعداد مشخصی از نقاط تصویر به طور محکم در یک آجر باینری بسته بندی می شود. بررسی آن بی فایده است و فقط در ویرایشگرهای گرافیکی می توانید آن را تغییر دهید.
�PNG IH�aV PLTE���������0� IDacZ�d����� �W = S�3�o؛ ���] P ���IEND�B`� ~
فرمت SVG همچنین می تواند در ویرایشگرهای گرافیکی مانند Illustrator، Sketch یا Inkscape ایجاد و اصلاح شود. اما متن نیز هست، به این معنی که می توان آن را به صورت HTML یا CSS در هر ویرایشگر کد باز کرد.
بیشتر به شما می گویم: SVG مانند یک صفحه HTML جداگانه است. وقتی SVG را جاسازی می کنید، در واقع نه فقط یک عکس، بلکه کل صفحه را جاسازی می کنید. با سیستم مختصات، نمای، استایل ها، اسکریپت ها و ویژگی های شگفت انگیز.
سبک ها و فیلمنامه ها، کارل! در اینجا یک عکس ساده برای شما است.
اگر به SVG به عنوان یک صفحه جداگانه نگاه کنید، واضح تر می شود که به کدام روش درج نیاز دارید. چهار مورد اصلی وجود دارد و هر کدام ویژگی های خاص خود را دارند.
اولین و ساده ترین عنصر عنصر است درست در کد HTML این، در اصل، کارآمدترین راه برای بارگیری هر تصویر است - مرورگرها از قبل با کد HTML می دانند که در آنجا وجود دارد و شروع به بارگیری آن می کنند.
نکته منفی این است که اسکریپت ها در چنین SVG کار نمی کنند و هر گونه تلاش برای تعامل با عناصر داخل محکوم به فناست. فایل مانند شیشه خواهد بود: می توانید نگاه کنید، اما نمی توانید آن را لمس کنید. همه چیزهای دیگر در داخل به خوبی کار می کنند، از جمله انیمیشن های CSS.
این روش برای تصاویر محتوایی که نیازی به تعامل ندارند مناسب است: آرم ها، گرافیک ها، نمودارها.
راه دوم یک تصویر پس زمینه در CSS است. و مهم نیست که آن را روی یک عنصر، شبه عنصر یا محتوای درج کنید - نتیجه همان خواهد بود که با : پشت شیشه، اما چیزی داخل آن کار می کند.
.picture (تصویر پس زمینه: url (picture.svg)؛)
این روش برای گرافیک های طراحی که نیازی به تعامل ندارند، مناسب است: پس زمینه، آیکون ها و سایر موارد کوچک.
راه سوم، از طریق
در واقع، به جای
انعطاف پذیری قیمت دارد: با توجه به اینکه دیگر فقط گرافیک نیست و می توان در آنجا اسکریپت نوشت، سایر الزامات امنیتی بر این روش تحمیل می شود. به عنوان مثال، شما نمی توانید فقط یک عکس از دامنه دیگری درج کنید.
این روش زمانی مناسب است که شما نیاز به قرار دادن نوعی گرافیک تعاملی دارید: اسباب بازی، گرافیک و هر چیز پیچیده. کافی است که گاهی اوقات به یاد داشته باشید
روش چهارم زمانی کار میکرد که مرورگرها تجزیهکنندههای HTML خود را به استاندارد جدید بازنویسی کردند و محتویات فایلهای SVG را میتوان مستقیماً در صفحه، مانند هر تگ دیگر، درج کرد.
مربع
با این SVG، میتوانید مانند عناصر معمولی HTML انجام دهید: سبکها، اسکریپتها - خوب، خودتان میدانید. به عنوان مثال، می توانید رنگ پر را در حالت شناور تغییر دهید و همه چیز را به سبک های کلی توصیف کنید.
نکته منفی این است که چنین تصاویری به طور جداگانه از صفحه ذخیره نمی شوند - اگرچه می توان از طریق نمادها و یوز از آن عبور کرد، اما این داستان طولانی است، ما به طور جداگانه در مورد آن صحبت خواهیم کرد.
SVG بسیار بیشتر از یک فرمت گرافیکی است - ما قبلاً این را درک کرده ایم. می خواهید عمیق تر کاوش کنید؟ مقالات سارا سویدان را بخوانید، این بهترین چیزی است که تاکنون وجود داشته است. همه لینک ها در توضیحات ویدیو هستند.
در پایان: راه های زیادی وجود دارد و همه به نوعی خوب هستند. یکی را انتخاب کنید که با نیازهای شما مطابقت دارد، اما همیشه با ساده ترین آنها شروع کنید: و پس زمینه، و سپس آن را پیچیده کنید - اگر کافی نیست.
نسخه ویدیویی