Як зробити в css збільшення картинки при наведенні

Давно щось я не писав корисних постів про використання css. Сьогодні хочу розглянути, як робити в css збільшення картинки. Це можна робити при наведенні на неї, а також саме збільшення може відбуватися плавно або різко. І все це можна робити по-різному. Якщо вам цікава ця тема, пропоную уважно прочитати цю статтю, і ви дізнаєтеся як мінімум кілька способів збільшення картинки в css.

Початкова заготовка

Для нашої статті я знайшов ось таке чудове зображення:

Як зробити в css збільшення картинки при наведенні

В html я вставив її в такий спосіб:

Всі ми, вебмастера і розробники, постійно працюємо з сайтами. Хотів би вам порекомендувати майданчики, якими користуюся сам:
  1. Reg.ru - тут реєструю і продовжую доменні імена, дуже надійна компанія!
  2. HostIQ - хостинг преміум якості.
  3. Ihor - більш бюджетний, але теж дуже якісний хостинг-провайдер.
  4. Telderi.ru - єдина надійна біржа в рунеті, на якій можна купити готові сайти з доходом!

Я відразу зроблю деякі маніпуляції з картинкою. Зокрема, зроблю її блокової і відцентруйте, щоб було зручніше з нею працювати.

butterfly margin: 0 auto;
display: block;
>

Просте різке збільшення

butterfly: hover width: 380px;
>


Зауважте, що збільшується також і висота, але все це відбувається різко. Ви можете також задати і другий параметр - висоту, але тоді можете порушити пропорції картинки.

Плавне збільшення за рахунок трансформацій

Тепер ми розглянемо абсолютно інший спосіб. По-перше, зміна розмірів буде відбуватися плавно. По-друге, замість зміни ширини ми скористаємося трансформаціями - це нововведення css3.

Щоб активувати плавний перехід, потрібно додати самій картинці (не картинки з наведення) властивість transition. У ньому потрібно вказати час, за яке може бути зроблено перехід. Також можна додати інші параметри, але на цьому я не буду детально зупинятися сьогодні.

butterfly transition: 0.4s;
>

Ми говоримо браузеру, що зміни стилів для елемента з класом butterfly повинні відбуватися не різко, а розтягуватися по часу на 4 десятих секунди. Відмінно, залишилося зробити саму трансформацію при наведенні на картинку:

butterfly: hover transform: scale (1.15, 1.15);
>

Збільшення елементів робиться за допомогою властивості transform і його значення scale (збільшення по горизонталі, по вертикалі). Таким чином, якщо ви хочете пропорційно збільшити зображення, обидва значення повинні бути однаковими. Задавайте значення виходячи з того, що 1 - це нормальний розмір картинки.

Відповідно, в запису вище ми при наведенні збільшуємо картинку на 15% з кожного боку і це відбувається плавно. Ось як це виглядає:

Непогано, так? Таким чином, для зміни розмірів ви можете використовувати або зміна ширини, або трансформацію. У цих двох способів є відмінності. Якщо ви змінюєте розміри за допомогою width. то картинка збільшується і рухає всю інформацію, яку знаходиться біля неї. У випадку з трансформаціями такого не відбувається.

Зміна розміру тільки по одній стороні

Якщо вам потрібно в css збільшити картинку при наведенні тільки по одній стороні, то це також найпростіше зробити за допомогою трансформацій. Просто напишіть так:

butterfly: hover transform: scaleX (1.2);
>


Тобто після ключового слова scale явно вказуємо координату - X або Y.