Как правильно реализовать анимацию?

Ссылка скопирована
1 ответ

Написал простой переход через transition, но костыльный, мне не нравится что нужно юзать блоки внутри кнопки.

Как правильно реализовать эту анимацию для кнопки?

snippet

Дополнительно:

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

Это хорошо, что не нравится. Спека тоже запрещает это делать.

Замените на псевдоэлементы.

  • Ankhena, Да, я тоже думаю на :after, :before, но я их не трогал лет 10, попробую, спасибо.
  • зато спека разрешает span. риплоподобные штуки делают на спанах
  • @HistoryART
    Псевдоклассы :where, :is - редкие гости в CSS, а псевдоэлементы :after, :before почти на каждый чих в оформляшке используются. Что их бояться, главное, не забывать как content активируется у них.
  • Ankhena,
    Как-то так получилось, это хорошо или я сделал что-то не так?

    snippet

  • historydev, если устраивает результат, то ок.

    Что можно улучшить:
    - Я бы заменила абсолют на грид. Тогда псевдо не провалится под фон страницы со своим отрицательным z-index.
    - Кнопка с фикс размерами уязвима к переполнению и обычно так не делают.
    - all у transition - зачем заставлять браузер думать обо всех свойствах, когда по факту меняются два.

  • Ankhena,
    Здесь больше не про меня устраивает, а про максимальную оптимизацию, на мобилках будет работать.

    Читал на днях про грид, как про приятную альтернативу абсолюту, попробую как руки дойдут.
    Кнопка с фикс размерами только для теста.
    Да, я тоже так подумал и уже поправил на opacity 1s, clip-path 1s

    Спасибо!

  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Ирина WP Ответ

    Для реализации анимации на веб-сайте можно использовать различные технологии и подходы. Одним из самых популярных способов создания анимаций является использование CSS и JavaScript.

    Для создания анимаций с помощью CSS, вы можете использовать ключевые кадры (keyframes) и анимационные свойства, такие как animation-name, animation-duration, animation-timing-function и другие. Например, вот пример CSS кода для создания простой анимации изменения цвета фона:

    @keyframes changeColor {
      0% {
        background-color: red;
      }
      50% {
        background-color: blue;
      }
      100% {
        background-color: green;
      }
    }
     
    .animated-element {
      animation-name: changeColor;
      animation-duration: 2s;
      animation-timing-function: linear;
      animation-iteration-count: infinite;
    }

    @keyframes changeColor { 0% { background-color: red; } 50% { background-color: blue; } 100% { background-color: green; } } .animated-element { animation-name: changeColor; animation-duration: 2s; animation-timing-function: linear; animation-iteration-count: infinite; }

    Для добавления анимации на страницу с помощью JavaScript, вы можете использовать библиотеки, такие как jQuery или более современные анимационные библиотеки, например, GSAP (GreenSock Animation Platform). Эти библиотеки предоставляют более широкие возможности для создания сложных анимаций и управления ими.

    Пример использования GSAP для анимации элемента:

    gsap.to('.animated-element', { duration: 2, x: 100, rotation: 360, ease: 'power2.inOut' });

    gsap.to('.animated-element', { duration: 2, x: 100, rotation: 360, ease: 'power2.inOut' });

    Кроме того, для создания анимаций на веб-сайте можно использовать SVG анимации, WebGL и другие технологии. Важно помнить о производительности при создании анимаций, чтобы не перегружать страницу и обеспечить плавное воспроизведение анимаций на различных устройствах.

    Надеюсь, эта информация поможет вам правильно реализовать анимацию на вашем веб-сайте. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно