Vue условный * css стиль загрузчик - PullRequest
0 голосов
/ 07 апреля 2019

Мое приложение Vue используется веб-страницей и электронным приложением на сенсорном устройстве. На этом сенсорном устройстве я хочу включить дополнительный стиль. Так что в моем App.vue есть:

<script>
  var is_electron = process.hasOwnProperty("versions") && process.versions.hasOwnProperty("electron")
  var is_embedded = is_electron && require("electron").remote.process.argv.includes("-e")
</script>
<style>
* {
  transition-property: none !important;
  transform: none !important;
  animation: none !important;
  cursor: none !important;
}
</style>

Как я могу условно включить этот * стиль?

1 Ответ

1 голос
/ 07 апреля 2019

Если стиль для конкретной платформы минимален, я бы предложил использовать некоторые вспомогательные классы.Вы даже можете стилизовать подкомпоненты, определяя область CSS в одном из этих селекторов.

<template>
  <main :class="classes">
    <!-- Hello world -->
  </main>
</template>

<script>
  var isElectron = process.hasOwnProperty("versions") && process.versions.hasOwnProperty("electron")
  var isEmbedded = isElectron && require("electron").remote.process.argv.includes("-e")

  export defualt {
    name: 'App',

    computed: {
      classes () {
        return {
          electron: isElectron,
          embedded: isEmbedded
        }
      }
    }
  }
</script>

<style>
.electron:not(.embedded) * {
  border: 1px solid blue;
}

.embedded:not(.electron) * {
  /* What kind of sorcery is this? */
}

.electron.embedded * {
  border: 1px dotted red;
}

main:not(.electron):not(.embedded) * {
  border: 1px dashed green;
}
</style>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...