Это эквивалент таблицы стилей CSS # 1576.
LinkTagHelper
который позволяет указать резервную таблицу стилей для загрузки в случае, если основная не загружается. Сбой определяется путем введения фиктивного тега <meta>
с указанным именем класса (атрибут asp-fallback-test-class
), а затем тестирования вычисленного стиля этого элемента, чтобы увидеть, есть ли указанное свойство CSS ( asp-fallback-test-property
attribute) равно указанному значению ( asp-fallback-test-value
).
<link href=""
asp-fallback-href=""
asp-fallback-test-class=""
asp-fallback-test-property=""
asp-fallback-test-value="" />
Все атрибуты должны присутствовать и иметь ненулевое значение для работы Tag Helper. Если какие-либо из них отсутствуют, в журнале будет отображаться предупреждение и отключение.
| Имя атрибута | Тип | Подробности |
| --- | --- | --- |
| asp-fallback-href | string
| URL-адрес, к которому следует вернуться в случае сбоя основного (как указано в атрибуте href
) |
| asp-fallback-test-класс | string
| Имя класса, определенное в таблице стилей для использования в резервном тесте |
| asp-fallback-test-свойство | string
| Имя свойства CSS, которое будет использоваться для резервного теста |
| asp-fallback-test-value | string
| Значение свойства CSS, которое нужно использовать для резервного теста |
<link href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet"
asp-fallback-href="~/lib/bootstrap/css/bootstrap.min.css"
asp-fallback-test-class="hidden" asp-fallback-test-property="visibility" asp-fallback-test-value="hidden" />
<link href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet" />
<meta name="x-stylesheet-fallback-test" class="hidden" />
<script>
(function (a, b, c) {
var d = document,
s = d.getElementsByTagName("SCRIPT"),
meta = s[s.length-1].previousSibling;
(d.defaultView.getComputedStyle(meta)[a] === b ||
d.write('\u003clink rel="stylesheet" href="' + c + '" /\u003e'));
})("visibility", "hidden", "/lib/bootstrap/css/bootstrap.min.css");
</script>
Извините, что комментирую старую / закрытую проблему. Обсуждалась ли когда-нибудь возможность тестирования файлов .css, не имеющих особых классов?
Два примера:
dataTables.bootstrap.css имеет как минимум два селектора, связанных вместе, как table.dataTable { ... }
но не имеет отдельного класса .dataTable
.
Аналогично skin-red.css , есть только селекторы-потомки, такие как .skin-red .main-header .navbar { ... }
и опять же нет отдельного класса .skin-red
.
@ kylef000 , это интересно, я не уверен, как можно было бы протестировать это обычным способом, как мы это делаем, используя введенный элемент <meta />
.
@DamianEdwards А, хорошо. В моем беглом поиске я не увидел особых вопросов по этому поводу, так что, возможно, это не то, на что стоит тратить время. Вероятно, лучший способ обойти это - форкнуть, добавить тестовый класс (например, .skin-red-fallback-test { ... }
) в отдельный файл, а затем сделать PR для той конкретной библиотеки, которую можно использовать.
Спасибо за ответ. Очень признателен за вашу работу над всем, что связано с C #!
Самый полезный комментарий
Извините, что комментирую старую / закрытую проблему. Обсуждалась ли когда-нибудь возможность тестирования файлов .css, не имеющих особых классов?
Два примера:
dataTables.bootstrap.css имеет как минимум два селектора, связанных вместе, как
table.dataTable { ... }
но не имеет отдельного класса.dataTable
.Аналогично skin-red.css , есть только селекторы-потомки, такие как
.skin-red .main-header .navbar { ... }
и опять же нет отдельного класса.skin-red
.