HTML:

CSS:

JS:

Для чего нужен JavaScript

Так как изначально нам неизвестно, сколько точно контента будет в каждом блоке, а плавно трансформировать с точной высоты на неопределенную (100% или auto) нельзя, то можно использовать 4 разных способа:

  • Задать при ховере всему описанию в контейнере face-2 конкретную высоту.
    В этом случае плавность будет такая же, как на примере, но в описании будут пустоты или прокрутка, т.к. высота каждого блока одинаковая.

  • Задать при ховере каждому описанию в контейнере face-2 разную высоту
    Результат будет 1 в 1 как на примере, только придется на глаз вычислять эту самую высоту.

  • Использовать CSS-свойство max-height, которое будет иметь значение высоты контейнера, а при ховере иметь раз в пять больше.
    Решение удобное, но при таком раскрытии может возникать прыжок.

  • Использовать маленький скрипт, как в этом примере, который определит высоту контейнера с контентом и передаст это значение в CSS для точного перехода между двумя величинами.
    При изменении кол-ва блоков, скрипт менять не стоит, нужно будет лишь добавить новый класс. Для четвертого блока он будет таким:

Смотрите также:

Двигающаяся по секции окружность, в которой меняется цвет текста

Простой пример фиксации фонового изображения в секции при прокрутке страницы

Блок-секция для трех карточек с трехмерным параллакс эффектом

Добавить комментарий:

Ваш комментарий отправлен!

Комментарии:

  • Валерий:

    А можно ли закруглить края и рамку сделать?

    Ответить
  • Анатолий:

    Классная статья!

    Ответить
  • Дмитрий:

    Круто!
    Не будет ли слишком нагло, если помечтать, еще бы добавить решение, когда к фону можно применить parallax, тогда - вообще пушка будет!!!))
    В очередной раз респект за Блог и темы, которые поднимаете 😉

    Ответить
    • Alexander:

      Можно использовать это [url="https://atuin.ru/blog/parallaks-effekt-pri-dvizhenii-myshi/"]решение[/url], но у меня в мозиле какое то дергание возникает, в хроме отлично все.
      [url="https://atuin.ru/test/sar/"]Результат[/url]

      Или использовать что то более профессиональное, например:
      [url="https://atuin.ru/blog/parallaks-effekty-s-bibliotekoj-parallax-js/"]parallax.js[/url] или [url="https://atuin.ru/blog/parallaks-effekt-simpleparallax/"]simpleParallax[/url]

      Ответить
      • Дмитрий:

        Уфы!
        Здорово)
        Да, в мозиле прослеживается подергивание.
        Ок. Буду играться - пища для ума здоровская!!!
        Благодарю!

        Ответить