Плавное увеличение изображения при наведении курсора CSS

  1. Создаем блочный элемент (div) с классом (box-wrapper), который будет служить в качестве обертки содержииого внутри
  2. Внутри элемента (div) с классом (box-wrapper) создаим еще один блочный элемент, с помщью которого мы будем регулировать размрер блока, назовем его (box-image)
  3. Внутри блока (div) c классом (box-image) создадим еще один блочный элемент с классом (image) для отображения содержания блочного элемента только внутри элемента с помощью свойства(overflow) со значением (hidden)
  4. И на конец, внутри блока (div) c классом (image) добавим строчный элемент (img) с ссылкой на изображение в атрибуте (src).

				
					<div class="box-wrapper">
    <div class="box-image">
        <div class="image">
            <img decoding="async" src="assets/images/blog/iPhoneX_04.png">
        </div>
    </div>
</div>
				
			

Переходим в таблицу стилей CSS:

  1. В классе (box-wrapper) необходимо выравнить наш блок по центру с помощью свойства (display: flex) и свойств центрирования (justify-content: center) и (align-items: center)
  2. В (box-image) задаим ширину элемента 50% (Поскольку я размещаю данную разметку на своем сайте (см.пример ниже), то я задаю ширину 100%, если вы размещаете данный пример на пустой странице, то для корректоного отбражения задайте 50%)
  3. В классе (image) устанавливаем свойство(overflow) со значением (hidden), для отображения содержания блочного элемента только внутри элемента, остальное будет скрыто.
  4. В классе (image) в селекторе (img) lобавляем свойство (transition) для плавного перехода,со значением (all 1s ease-out)
  5. Создаем новый новый класс (image) с псевдоклассом (hover:), и устанавливаем свойство (transform) со значением (scale) для масштабирования элемента по горизонтали и вертикали, в скобках задаем размер масштабирования.

				
					.box-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
}

.box-image {
    width: 30%;
}

.image {
    overflow: hidden;
}

.image img {
    width: 100%;
    height: 100%;
    transition: all 1s ease-out;
}

.image:hover img {
    transform: scale(2.3);
}
				
			

Евгений

Здравствуйте! Чем я могу вам помочь?

Заполнить бриф

Заполнение брифа значительно ускоряет время на обсуждение проекта между клиентом и разработчиком.

Интересующий вас сайт
Для юридических лиц или ИП
Если вы не ЮЛ или ИП, пропустите этот шаг
Контактная информация

Оставить заявку

Перезвоню вам в течение 30-ти минут

Контактная информация

Бриф на разработку сайта

Заполнение брифа значительно ускоряет время на обсуждение проекта между клиентом и разработчиком.

Контактная информация
Интересующий вас лендинг
Направленность вашего лендинга
Краткое описание проекта
Если у вас есть ТЗ, загрузите
Ссылка на сайт ваших конкурентов
Понравившиеся вам сайты

Оставить заявку

Перезвоню вам в течение 30-ти минут в рабочее время

Контактная информация