НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ

CSS Підручник

CSS СТАРТ CSS Інтро CSS Синтаксис CSS Селектори CSS Як підключити CSS Коментарі CSS Кольори CSS Фони CSS Межі CSS Поля CSS Внутрішній відступ CSS Висота/Ширина CSS Блочна модель CSS Контур CSS Текст CSS Шрифти CSS Іконки CSS Посилання CSS Списки CSS Таблиці CSS Display CSS Max-Width CSS Position CSS Z-index CSS Overflow CSS Float CSS Inline-Block CSS Вирівнювання CSS Комбінатори CSS Псевдо-класи CSS Псевдо-елементи CSS Непрозорість CSS Панель навігації CSS Випадаючі списки CSS Галерея зображень CSS Спрайти зображень CSS Селектори атрибутів CSS Форми CSS Лічильники CSS Макет веб-сайту CSS Одиниці CSS Специфічності

CSS Продвинутий

CSS Закруглені кути CSS Межі зображень CSS Фони CSS Кольори CSS Градієнти CSS Тіні CSS Ефекти тексту CSS Веб-шрифти CSS 2D Трансформації CSS 3D Трансформації CSS Переходи CSS Анімації CSS Підказки CSS Стилі зображень CSS Підгонка об'єкту CSS Кнопки CSS Нумерація сторінок CSS Кілька стовпців CSS Користувальницький інтерфейс CSS Змінні CSS Розміри блоків CSS Медіа-запити CSS Приклади медіа-запитів CSS Flexbox

CSS Адаптивний

RWD Інтро RWD Область перегляду RWD Вигляд сітки RWD Медіа-запити RWD Зображення RWD Відео RWD Фреймворки RWD Шаблони

CSS Grid (Сітка)

Grid Інтро Grid Контейнер Grid Елементи

CSS Приклади

CSS Шаблони CSS Приклади CSS Вікторина CSS Вправи CSS Сертифікат

CSS Довідники

CSS Довідник CSS Селектори CSS Функції CSS Довідник аудіо CSS Безпечні веб-шрифти CSS Анімація CSS Одиниці CSS PX-EM Конвертер CSS Кольори CSS Значення кольору CSS Значення за замовчуванням CSS Підтримка браузерами

CSS3. Уроки W3Schools для початківців українською мовою

En

CSS Спрайти зображень


Що таке спрайти зображень?

Спрайт зображень - це набір зображень, вкладених в одне зображення.

Вебсторінка з великою кількістю зображень може довго завантажуватись і генерує кілька запитів до сервера.

Використання спрайтів зображень зменшить кількість запитів до сервера та зекономить пропускну здатність.


Спрайти зображень - простий приклад

Замість того, щоб використовувати три окремих зображення, ми використовуємо це одне зображення ("img_navsprites.gif"):

Спрайти зображень

За допомогою CSS ми можемо показати лише ту частину зображення, яка нам потрібна.

В наступному прикладі CSS визначає, яку частину зображення "img_navsprites.gif" необхідно показати:

Приклад

#home {
  width: 46px;
  height: 44px;
 background: url(img_navsprites.gif) 0 0;
}
Спробуйте самі »

Пояснення прикладу:

  • <img id="home" src="img_trans.gif"> - Визначає лише маленьке прозоре зображення, тому що атрибут src не може бути пустим. Показане зображення буде фоновим зображенням, яке ми вказуємо в CSS
  • width: 46px; height: 44px; - Визначає частину зображення, яку ми хочемо використовувати
  • background: url(img_navsprites.gif) 0 0; - Визначає фонове зображення та його положення (left 0px, top 0px)

Це найбільш простий спосіб використовувати спрайти зображень, тепер ми хочемо розширити його, використовуючи посилання та ефекти наведення.


Спрайти зображень - Створення списку навігації

Ми хочемо використовувати зображення спрайту ("img_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 видалений, і всі елементи списку розташовані в absolute
  • #navlist li, #navlist a {height:44px;display:block;} - висота всіх зображень 44px

Тепер починаємо позиціювати та стилізувати кожну конкретну частину:

  • #home {left:0px;width:46px;} - Розташовано повністю ліворуч, а ширина зображення складає 46px
  • #home {background:url(img_navsprites.gif) 0 0;} - Визначає фонове зображення та його положення (left 0px, top 0px)
  • #prev {left:63px;width:43px;} - Розташовано 63px праворуч (#home із 46px + деякий додатковий простір між елементами), і ширина 43px.
  • #prev {background:url('img_navsprites.gif') -47px 0;} - Визначає фонове зображення 47px праворуч (#home із 46px + 1px роздільник рядків)
  • #next {left:129px;width:43px;} - Розташовано 129px праворуч (початок із #prev 63px + #prev із 43px + екстра простір) і ширина 43px.
  • #next {background:url('img_navsprites.gif') -91px 0;} - Визначає фонове зображення 91px праворуч (#home із 46px + 1px роздільник рядків + #prev ширина 43px + 1px роздільник рядків)

Спрайти зображень - Ефект наведення

Тепер ми хочемо додати ефект наведення в наш список навігації.

Порада: Селектор :hover можна використовувати для всіх елементів, а не лише для посилань.

Нове зображення ("img_navsprites_hover.gif") містить три навігаційних зображення і три зображення для використання при наведенні:

navigation images

Оскільки це одне зображення, а не шість окремих файлів, не буде затримки завантаження, коли користувач наводить курсор на зображення.

Ми лише додаємо три рядка коду, щоб додати ефект наведення:

Приклад

#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;
}
Спробуйте самі »

Пояснення прикладу:

  • #home a:hover {background: transparent url('../images/img_navsprites_hover.gif') 0 -45px;} - Для всіх трьох зображень при наведенні ми визначаємо одну й ту ж позицію фону, лише на 45 пікселів нижче