Перейти к содержимому
GitHub

Глобальные стили

:global(…)

Чтобы применить стили к одному селектору глобально, используйте модификатор :global(...):

<style>
  :global(body) {
    /* применяется к <body> */
    margin: 0;
  }

  div :global(strong) {
    /* применяется ко всем элементам <strong> в любом компоненте,
        которые находятся внутри элементов <div>,
        принадлежащих этому компоненту */
    color: goldenrod;
  }

  p:global(.big.red) {
    /* применяется ко всем элементам <p>,
        принадлежащим этому компоненту,
        с `class="big red"`, даже если он применяется
        программно (например, библиотекой) */
  }
</style>

Если вы хотите создать @keyframes, которые будут доступны глобально, вам нужно добавить префикс -global- к именам ваших ключевых кадров.

Часть -global- будет удалена при компиляции, и ключевые кадры затем будут ссылаться просто как my-animation-name в других местах вашего кода.

<style>
  @keyframes -global-my-animation-name {
    /* ваш код */
  }
</style>

:global

Чтобы применить стили к группе селекторов глобально, создайте блок :global {...}:

<style>
  :global {
    /* применяется к каждому элементу <div> в вашем приложении */
    div { ... }

    /* применяется к каждому элементу <p> в вашем приложении */
    p { ... }
  }

  .a :global {
    /* применяется к каждому элементу `.b .c .d`, в любом компоненте,
        который находится внутри элемента `.a` в этом компоненте */
    .b .c .d {...}
  }
</style>