اسپری تصاویر CSS
- صفحه قبلی کاتالوگ تصاویر CSS
- صفحه بعدی انتخابگرهای ویژگی CSS
画像スプライト
画像スプライトは、単一の画像に含まれる画像集合です。
多くの画像を含むウェブページは、長い時間を要してロードし、多くのサーバーへのリクエストを生成します。
画像スプライトを使用することで、サーバーへのリクエストの数を減らし、帯域幅を節約できます。
画像スプライト - 簡単な例
我々は以下の単一の画像("navsprites.gif")を使用し、3つの単独の画像を使用することなくナビゲーションリストを作成します:

CSSを使用することで、必要な画像の部分のみを表示することができます。
以下の例では、CSSが"navsprites.gif"画像のどの部分を表示するかを指定しています:
مثال
#home { width: 46px; height: 44px; background: url(navsprites.gif) 0 0; }
توضیح مثال:
<img id="home" src="trans.gif">
- 小さな透明画像のみを定義します、なぜなら src 属性は空にすることができません。実際に表示される画像は CSS で指定された背景画像になります。width: 46px; height: 44px;
- 使用する画像部分を定義しますbackground: url(navsprites.gif) 0 0;
- 背景画像とその位置(left 0px, top 0px)を定義します
画像スプライト - ナビゲーションリストの作成
我々はスプライト画像("navsprites.gif")を使用してナビゲーションリストを作成したいです。
我々は HTML リストを使用します,なぜなら、それはリンクであり、同時に背景画像をサポートするからです:
مثال
#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; background: url('img_navsprites.gif') 0 0; } #prev { left: 63px; width: 43px; background: url('img_navsprites.gif') -47px 0; } #next { left: 129px; width: 43px; background: url('img_navsprites.gif') -91px 0; }
توضیح مثال:
- #navlist {position:relative;} - 位置设置为相对,以允許在其中進行絕對定位
- #navlist li {margin:0;padding:0;list-style:none;position:absolute;top:0;} - margin و padding به 0 تنظیم میشود، list-style حذف میشود و همه عناصر لیست به قرارگیری مطلق تبدیل میشوند
- #navlist li, #navlist a {height:44px;display:block;} - height of all images is 44px
حالا شروع به تنظیم موقعیت و استایل برای هر بخش خاص میکنیم:
- #home {left:0px;width:46px;} - قرارگیری به سمت چپ به طور مداوم، width of image 46px
- #home {background:url(navsprites.gif) 0 0;} - تعریف تصویر پسزمینه و موقعیت آن (left 0px, top 0px)
- #prev {left:63px;width:43px;} - قرارگیری به سمت راست 63px (#home width 46px + some extra space between items), width 43px.
- #prev {background:url('navsprites.gif') -47px 0;} - تعریف تصویر پسزمینه به سمت راست 47px (#home width 46px + 1px separator)
- #next {left:129px;width:43px;} - قرارگیری به سمت راست 129px (#prev start is 63px + width of #prev is 43px + extra space), width 43px.
- #next {background:url('navsprites.gif') -91px 0;} - تعریف تصویر پسزمینه به سمت راست 91px (#home width 46px + 1px separator + #prev width 43px + 1px separator)
Image Sprite - Effect of Hover
حالا، ما میخواهیم اثر نمايشگر را به لیست هدایتکننده اضافه کنیم.
توضیح::hover selector قابل استفاده برای همه عناصر است و نه تنها محدود به لینکها.
تصویر جدید ما ("navsprites_hover.gif") شامل سه تصویر هدایتکننده و سه تصویر برای اثر نمايشگر است:

چون این یک تصویر است و نه شش فایل جداگانه، بنابراین وقتی کاربر موس را بر روی تصویر قرار میدهد،هیچ تأخیر بارگذاری وجود ندارد。
ما تنها سه خط کد اضافه میکنیم تا اثر نمايشگر (hover) را ایجاد کنیم:
مثال
#home a:hover { background: url('navsprites_hover.gif') 0 -45px; } #prev a:hover { background: url('navsprites_hover.gif') -47px -45px; } #next a:hover { background: url('navsprites_hover.gif') -91px -45px; }
توضیح مثال:
#home a:hover {background: transparent url('img_navsprites_hover.gif') 0 -45px;} - ما برای سه تصویر هنگام قرارگیری موس در حالت hover از یک موقعیت پسزمینه مشترک استفاده میکنیم، فقط 45 پیکسل به پایین
- صفحه قبلی کاتالوگ تصاویر CSS
- صفحه بعدی انتخابگرهای ویژگی CSS