Css vars меняется не одновременно для вложенных элементов

У меня есть проект Vue 3 с Pinia. У меня есть магазин для темы

      export const useThemeStore = defineStore('theme', {
  state: () => ({
    dark: false,
  }),

  getters: {
    current(state) {
      return state.dark ? Theme.dark : Theme.light
    },
  },

  persist: true,
})

И я использую его в своем файле App.vue (с шаблонами Pug), как это

      Head
  html(:data-theme="theme.current")

Также у меня есть такие стили, как

      html {
  --col-white: 255 255 255;
  --col-black: 22 25 33;

  &[data-theme='dark'] {
    --col-primary: 255 255 255;
    --col-secondary: 230 236 245;
    --col-page: 22 25 33;
    --col-page-content: 116 140 171;
    --col-success: 57 158 90;
    --col-info: 58 133 199;
    --col-warning: 255 127 17;
    --col-danger: 255 27 28;
  }

  &[data-theme='light'] {
    --col-primary: 22 25 33;
    --col-secondary: 116 140 171;
    --col-page: 255 255 255;
    --col-page-content: 230 236 245;
    --col-success: 57 158 90;
    --col-info: 58 133 199;
    --col-warning: 255 127 17;
    --col-danger: 255 27 28;
  }
}

И у меня проблема - все переменные меняются с задержкой сверху вниз во вложенности DOM

Вот гифка для понимания

0 ответов

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