فهرست سرفصل‌های CSS
خانه (Home) CSS مقدمه CSS (Introduction) سینتکس CSS (Syntax) انتخاب گرهای CSS (Selectors) نحوه استفاده از CSS (How To) کامنت ها در CSS (Comments) ارورها در CSS (Errors) رنگ ها در CSS (Colors) رنگ ها - RGB و RGBA رنگ ها - هگز (HEX Colors) رنگ ها - HSL و HSLA پس زمینه (Backgrounds) پس زمینه - تصویر (Backgrounds Image) پس زمینه - تکرار تصویر (Backgrounds Image Repeat) پس زمینه - پیوست (Background Attachment) پس زمینه - کوتاه نویسی (Background Shorthand) کادرها (Borders) کادرها - عرض (Borders Width) کادرها - رنگ (Borders Color) کادرها - کناره ها (Borders Sides) کادرها - کوتاه نویسی (Shorthand Border Property) کادرها - گرد (Rounded Borders) لایه (Padding) ارتفاع، عرض و حداکثر عرض (Height, Width and Max-width) مدل جعبه ای (Box Model) خط پیرامونی (Outline) خط پیرامونی - ضخامت (Outline Width) خط پیرامونی - رنگ (Outline Color) خط پیرامونی - کوتاه نویسی (Outline Shorthand) خط پیرامونی - آفست (Outline Offset) متن - رنگ (Text Color) متن - چینش (Text Alignment) متن - تزئینات (Text Decoration) متن - تبدیل حروف (Text Transformation) متن - فاصله گذاری (Text Spacing) متن - سایه (Text Shadow) فونت ها (Fonts) فونت های وب سیف (Font Web Safe) فونت - جایگزین ها (Font Fallbacks) فونت - سبک (Font Style) فونت - اندازه (Font Size) فونت - گوگل (Font Google) فونت - کوتاه نویسی (Font Shorthand) آیکن ها در CSS (CSS Icons) لینک ها در CSS (CSS Links) فهرست ها در CSS (CSS Lists) جدول - کادرها (Table Borders) جدول - اندازه (Table Size) جدول - تراز (Table Alignment) جدول - استایل دهی (Table Styling) جدول - واکنش گرا (Table Responsive) نمایش/قابلیت دید (Display) حداکثر عرض (Max-width) موقعیت دهی (Position) شاخص Z (Z-index) سرریز (Overflow) شناوری (Float) شناوری - Float (Clear) شناوری - مثال ها (Float Examples) اینلاین-بلاک (Inline-block) تراز کردن (Align) ترکیب گرها (Combinators) کلاس های شبه (Pseudo-classes) عناصر شبه (Pseudo-elements) شفافیت/اپاسیتی (Opacity) نوار ناوبری - مقدمه (Navbar Intro) نوار ناوبری - عمودی (Vertical Navbar) نوار ناوبری - افقی (Horizontal Navbar) منوهای کشویی (Dropdowns) گالری تصاویر (Image Gallery) اسپرایت های تصویر (Image Sprites) انتخاب گرهای ویژگی (Attribute Selectors) فرم ها (Forms) شمارنده ها (Counters) واحدها (Units) اختصاصیت/اهمیت انتخاب گر (Specificity) !important (!important) توابع ریاضی (Math Functions) بهینه سازی/کارایی (Optimization) دسترس پذیری (Accessibility) چیدمان وب سایت (Website Layout) گوشه های گرد (Rounded Corners) تصاویر کادر (Border Images) پس زمینه - چندگانه (Multiple Backgrounds) پس زمینه - اندازه (Background Size) پس زمینه - مبدأ (Background Origin) پس زمینه - کلیپ (Background Clip) رنگ ها - پیشرفته (Colors - Advanced) کلیدواژه های رنگ (Color Keywords) گرادیان خطی (Linear Gradients) گرادیان شعاعی (Radial Gradients) گرادیان مخروطی (Conic Gradients) افکت های سایه (Shadow Effects) سایه جعبه (Box Shadow)
CSS

CSS — اسپرایت های تصویر (Image Sprites)

آخرین بروزرسانی: 1404/07/16

اسپرایت تصویر (Image Sprites) در CSS

«اسپرایت تصویر (Image Sprite)» مجموعه ای از چند تصویر کوچک است که در یک فایل بزرگ تر کنار هم قرار می گیرند. بنابراین مرورگر به جای چند درخواست، تنها یک فایل دانلود می کند و در نتیجه تعداد درخواست ها و مصرف پهنای باند کاهش می یابد.

اسپرایت تصویر چیست و چرا مهم است؟

یک فایل اسپرایت معمولاً به صورت شبکه ای چیده می شود. سپس با CSS مشخص می کنیم کدام بخش از آن فایل روی هر المان نمایش داده شود. این روش، به ویژه در منوهای آیکونی، سریع تر است و تجربه کاربری بهتری می سازد.

ویژگی های کلیدی برای اسپرایت تصویر

در کد CSS، از دو ویژگی زیر استفاده می کنیم تا بخش دلخواه از تصویر اسپرایت دیده شود:

  • background-image
  • background-position

نمونه: نگاشت آیکون ها از اسپرایت

در این مثال، هر شناسه عرض و ارتفاع آیکون خود را دارد و با جابه جایی پس زمینه، قسمت صحیح از «img_navsprites.gif» نمایش داده می شود:

#home { width: 46px; height: 44px; background-image: url(img_navsprites.gif); background-position: 0 0; }
#prev { width: 43px; height: 44px; background-image: url('img_navsprites.gif'); background-position: -47px 0; }
#next { width: 43px; height: 44px; background-image: url('img_navsprites.gif'); background-position: -91px 0; }

نکته: مقدارهای منفی در background-position باعث می شوند بخش های سمت راست یا پایین اسپرایت دیده شوند.

استفاده اسپرایت در فهرست ناوبری

می توانیم یک فهرست ناوبری با آیکون های اسپرایتی بسازیم. در کد زیر جایگذاری و ارتفاع آیتم ها تنظیم شده است:

#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: 0; width: 46px; background: url('img_navsprites.gif') 0 0; }
#prev { left: 60px; width: 43px; background: url('img_navsprites.gif') -47px 0; }
#next { left: 120px; width: 43px; background: url('img_navsprites.gif') -91px 0; }

هشدار: مقادیر left را نسبت به ابعاد واقعی آیکون ها و فاصله دلخواه میان آیتم ها تنظیم کنید؛ در غیر این صورت هم پوشانی رخ می دهد.

افزودن حالت هاور به اسپرایت تصویر

برای هاور، کافی است نسخه هاور آیکون ها در همان فایل اسپرایت قرار گیرد. سپس با تغییر background و جابه جایی محور Y، آیکون هاور نمایش داده می شود:

#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; }

نکته: چون هاور در همان فایل است، هنگام قرارگیری ماوس، تأخیری برای دانلود نداریم و تغییر سریع خواهد بود.

مسیرهای بعدی یادگیری

برای چیدمان گالری ها به گالری تصاویر مراجعه کنید. همچنین منوهای کشویی را در Dropdowns ببینید. برای مرور سریع، صفحه اسپرایت تصویر را نشان گذاری کنید.

یادگیری بیشتر درباره پس زمینه

مستندات background-image و background-position را نیز حتماً مطالعه کنید؛ زیرا درک دقیق این دو، کار با اسپرایت ها را ساده تر می کند.