Как использовать анимированные иконки материалов в Vuetify

Посредством v-icon Компонент Vuetify, использующий значки дизайна основного материала, довольно прост, как:

<v-icon>home</v-icon>

Теперь мне интересно, поддерживаются ли значки анимированных материалов и могут ли они использоваться в Vuetify аналогичным образом - я имею в виду, не добавляя лишние строки кода CSS и т. Д., Если это возможно.

В примерах я заметил использование fa-spin для Font Awesome; все же это выходит за рамки. Я связан с библиотекой значков материалов Google.

РЕДАКТИРОВАТЬ: конкретный тип поведения, который мне нужен, находится в разделе примеров видео в разделе переходов здесь: https://material.io/design/iconography/animated-icons.html [Посмотрите, как play кнопка становится pause с плавной анимацией при нажатии].

0 ответов

Я нашел эту страницу, когда хотел имитировать анимацию значка шеврона при переключении панелей расширения в значке v-меню. Я не уверен, что это именно то, что вам нужно, но вот как я это сделал:

<template>
  <v-menu offset-y v-model="menuValue">
    <template v-slot:activator="{ on }">
      <v-btn v-on="on" :class="{active: menuValue}">
        <v-icon>mdi-chevron-down</v-icon>
      </v-btn>
    </template>
  </v-menu>
</template>

<script>
  export default {
    data() {
      return {
        menuValue: null
      };
    }
  };
</script>

<style lang="scss" scoped>
  .v-btn.active .v-icon {
    transform: rotate(-180deg);
  }
</style>

Краткий ответ: нет. v-icon Элемент в настоящее время отображает иконки из веб-шрифта. Шрифты не могут быть анимированы таким образом. Вы можете применять простые анимации постепенного изменения, вращения, масштабирования и отражения для достижения простого перехода между двумя значками, но сложные переходы, на которые вы ссылаетесь в Руководстве по материалам, требуют гораздо больше работы.

Я рекомендую использовать встроенные значки SVG, доступные в официальном наборе значков, а также набор значков, управляемых сообществом, и анимировать их с помощью CSS-анимации, SMIL или JavaScript.

Другие вопросы по тегам