CSS Sprites

533 روز پیش

پويا صادقى , آموزش CSS

 CSS Sprites
CSS sprite چیست؟
ترفندی برای کاهش حجم ، و زمان بارگذاری صفحه.
مرورگر برای بارگذاری هر کدام از اجزای صفحه (مانند تصاویر ، فایل های CSS و جاوا اسکریپت و…) یک درخواست (Request) به سرور ارسال می‌کند تا سرور ، فایل درخواستی را برای مرورگر بفرستد. ارسال هر Request و دریافت پاسخ آن ، بخشی از زمان بارگذاری صفحه است.
هرچه تعداد Request ها کمتر باشد ، زمان بارگذاری صفحه کمتر می شود. به جای چند فایل CSS بهتره از یک فایل استفاده کنیم. به جای چند فایل JS میتونیم از یک فایل استفاده کنیم ؛  میتونیم تصاویری که به عنوان بکگراند المنت ها در صفحه استفاده میکنیم را در یک تصویر قرار بدیم.
به این تصویر توجه کنید:

 CSS Sprites

در این صفحه از 6 آیکون ، یک گرادینت و 2 عکس برای دکمه استفاده شده (یک تصویر برای حالت عادی و یک تصویر برای زمانی که موس روی آن حرکت می‌کند.)

در حالت عادی ، با استفاده از تگ <img> یا در بکگراند المنت ها این تصاویر رو در صفحه قرار میدهیم.

مرورگر برای بارگذاری 10 فایل، 10 Request ارسال میکند. اگر این 10تصویر در یک تصویر قرار بگیرند، مرورگر برای بارگذاری صفحه، 9 درخواست کمتر ارسال می کند و تمام تصاویر با بارگذاری یک فایل در قسمت‌های مختلف صفحه قرار می گیرند.

 CSS Sprites

با این کار هم حجم عکس ها کمتر میشه، و هم تعداد Request ها:

 CSS Sprites

برای استفاده از تصویر sprite ، آن را به عنوان بکگراند المنت مورد نظر قرار می دهیم:

.my_div{background:url(sprite.png) width:155px; height:40px;}

طول و عرض div مشخص شده، پس تصویر بکگراند فقط تا 155 پیکسل از سمت چپ و 40 پیکسل از بالا دیده میشه:

 CSS Sprites

حالا اگه بخوایم برای المنت بعدی از این بکگراند استفاده کنیم ،

.title{background:url(sprite.png);

font-family:Constantia; font-weight:bold; font-style:italic; font-size:44px;text-shadow:1px 1px 0 #eee;
color:#FF9900; padding:0 0 9px 20px;}

باز هم همون تصویر بالایی دیده میشه:

 CSS Sprites

حالا باید مکان بکگراند رو جابجا کنیم:

.title{background:url(sprite.png) 0px -105px;

font-family:Constantia; font-weight:bold; font-style:italic; font-size:44px;text-shadow:1px 1px 0 #eee;
color:#FF9900; padding:0 0 9px 20px;}

 CSS Sprites

از نظر افقی ، با صفر پیکسل بکگراند ثابته ولی از نظر عمودی 105 پیکسل منفی (به سمت بالا) جابجا شده. 105 پیکسل به سمت بالا جابجا شده تا به گرادینت برسه:

 CSS Sprites

با همین جابجایی ها به قسمت های مختلف تصویر میرسیم.

مثلا برای رسیدن به آیکون ضربدر:

.icon6{background:url(sprite.png) -92px -84px;
width:18px; height:20px;}

به همین سادگی میتونیم زمان بارگذاری صفحه رو کمتر کنیم icon smile CSS Sprites

نوشته شده توسط
سلام! من پویا صادقی هستم؛ طراح وب استاتیک ، CSS/HTML ، دانشجوی نرم افزار. می تونید من رو در توییتر دنبال کنید، گالری من رو در deviantart ببینید، یا با ایمیل info@Pasargad-Graphic.com تماس بگیرید.



وبگردی

Design By Pouya Saadeghi Based on Mintaka Theme WPCorner

Copyright © 2012 Pasargad-Graphic