تکه تکه کردن تصاویر در CSS

چاپ

نمایش بخشی از عکس - تکه تکه کردن تصاویر

Wiki

می توان مجموعه ای از تصاویر را داخل یک عکسِ تنها قرار داد.

یک صفه وب با تعداد زیادی عکس، می تواند زمان زیادی را برای بارگذاری بگیرد.

در این روش، تعداد درخواست هایی که برای سرور ارسال می شود، کاهش خواهد یافت و پهنای باند را آزاد می کند.


یک مثال ساده از تکه تکه کردن عکس

Wiki

بجای استفاده از سه عکس، می توانیم از یک عکس تنها استفاده کنیم (img_navsprites.gif):

navigation images

با CSS می توانیم فقط بخشی از عکس که نیاز داریم را نمایش دهیم.

در مثال زیر، مشخص می کنیم که کدام بخش از عکس "img_navsprites.gif" نمایش داده شود:

مثال (تکه تکه کردن تصاویر در CSS)

img.home
{
width:46px;
height:44px;
background:url(img_navsprites.gif) 0 0;
}
خودتان امتحان کنید »

توضیح مثال:

این آسان ترین روش استفاده از تکه تکه کردن تصاویر است، در قسمت بعد استفاده از آن در لینک ها و افکت Hover را توضیح می دهیم.


ساخت لیست های هدایتی (navigation list)

Wiki

می توان از تکه تکه کردن تصاویر در ساخت، لیست های هدایتی (navigation list) استفاده کرد.

ما از لیست های HTML استفاده خواهیم کرد، چونکه آنها می توانند لینک باشند و همچنین خصوصیت background را پشتیبانی می کنند:

مثال (تکه تکه کردن تصاویر در CSS)

#navlist{position:relative;}
#navlist li{margin:0;padding:0;list-style:none;position:absolute;top:0;}
#navlist li, #navlist a{height:44px;display:block;}

#home{left:0px;width:46px;}
#home{background:url('img_navsprites.gif') 0 0;}

#prev{left:63px;width:43px;}
#prev{background:url('img_navsprites.gif') -47px 0;}

#next{left:129px;width:43px;}
#next{background:url('img_navsprites.gif') -91px 0;}
خودتان امتحان کنید »

توضیح مثال:

در ادامه Style و موقعیت هر بخش را مشخص می کنیم:


افکت Hover

Wiki

حالا می خواهیم افکت Hover را به لیست هدایتیمان اضافه کنیم.

عکس جدیدمان ("img_navsprites_hover.gif") شامل 6 تکه تصویر کوچک است، 3 عکس برای حالت معمولی و 3 عکس دیگر برای موقعی که اشاره گر موس روی آنها قرار بگیرد:

navigation images

بخاطر اینکه 6 عکس مختلف را داخل یک عکس تنها قرار دادیم، زمانی که اشاره گر موس روی تصاویر قرار می گیرد تأخیر بارگذاری وجود نخواهد داشت.

برای اضافه کردن افکت Hover تنها 3 خط کد به مثال قبلی اضافه می کنیم:

مثال (تکه تکه کردن تصاویر در CSS)

#home a:hover{background: url('img_navsprites_hover.gif') 0 -45px;}
#prev a:hover{background: url('img_navsprites_hover.gif') -47px -45px;}
#next a:hover{background: url('img_navsprites_hover.gif') -91px -45px;}
خودتان امتحان کنید »

توضیح مثال: