Некоторые из значков Font-awesome не показывают [дублировать]

  • Факт 1: GetDataAsync().Result; будет выполняться, когда задача, возвращаемая GetDataAsync(), завершается, тем временем она блокирует поток пользовательского интерфейса
  • Факт 2: продолжение ожидания (return result.ToString() ]) помещается в очередь потока UI для выполнения
  • Факт 3: Задача, возвращаемая GetDataAsync(), будет завершена, когда будет запущено его очередное продолжение
  • Факт 4: Очередное продолжение никогда (факт 1)
  • Тупик!

    Тупик может быть нарушен предоставленными альтернативами, чтобы избежать Факт 1 или Факт 2.

    • Избегайте 1,4. Вместо блокировки потока пользовательского интерфейса используйте var data = await GetDataAsync(), который позволяет потоку пользовательского интерфейса продолжать работать
    • Избегать 2,3. Очередь продолжит ожидание другого потока, который не блокируется, например. используйте var data = Task.Run(GetDataAsync).Result, который выведет продолжение в контекст синхронизации потока threadpool. Это позволяет завершить задачу GetDataAsync().

    Это очень хорошо объясняется в статье Стивена Тууба , примерно наполовину вниз, где он использует пример DelayAsync().

7
задан Temani Afif 10 April 2018 в 13:46
поделиться

1 ответ

Для этого вам нужно указать font-weight:900 (или любое значение, большее 600, bold или bolder).

.myClass {
  visibility: hidden;
}

.myClass::after {
  font-family: 'Font Awesome 5 Free';
  content: "\f008";
  visibility: visible;
  font-weight: 900;
}
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css">
<span class='myClass'>Movies</span>

Поскольку regular является PRO и вам нужен solid один:

https://fontawesome.com/icons/film?style= solid

Почему работает другая иконка?

Поскольку \f007 - это значок: https://fontawesome.com/icons/user?style=regular , и, как вы можете видеть, regular не PRO, поэтому вам не нужно указывать font-weight. Вам нужно указать его только тогда, когда вы хотите показать solid.

.myClass::after {
  font-family: 'Font Awesome 5 Free';
  content: "\f007";
  visibility: visible;
  font-weight: 900;
}

.myClass-1::after {
  font-family: 'Font Awesome 5 Free';
  content: "\f007";
  visibility: visible;
}
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css">
<span class='myClass'>Solid </span>
<br>
<span class='myClass-1'>Regular </span>


В качестве побочного примечания , все версии light являются PRO, поэтому для них в свободном пакете нет font-weight.


Вы можете проверить документацию для более подробной информации: https://fontawesome.com/how-to-use/on-the-web/advanced/css-pseudo-elements

9
ответ дан Temani Afif 16 August 2018 в 00:40
поделиться
  • 1
    Удивительно, спасибо за объяснение! Знаете ли вы, что font-weight мне нужно будет использовать, если версия light была бы бесплатной? – nsayer 10 April 2018 в 13:47
  • 2
    @nsayer все значки light - это PRO, поэтому в бесплатном пакете нет шрифта для них;) вы можете использовать их только в том случае, если вы получаете PRO один – Temani Afif 10 April 2018 в 13:50