Атрибут media
может быть установлен как в HTML, так и в Javascript.Идея состоит в том, чтобы установить атрибут media
, чтобы тег стиля не применялся ни к одному устройству, чтобы отключить его.
Я думаю, что установка его на что-то недопустимое, например media="bogus"
или media="none"
, рискованнопоскольку браузер может решить просто проигнорировать предикат и применить стиль ко всем типам мультимедиа.К счастью, установка максимальной ширины экрана в один пиксель вполне допустима, и в моей книге это почти то же самое, что отключить тег стиля.
var style = document.querySelector("#my-style");
document.querySelector("#btn-style").addEventListener("click",function() {
style.removeAttribute("media");
});
document.querySelector("#btn-unstyle").addEventListener("click",function() {
style.setAttribute("media", "max-width: 1px");
});
<style id="my-style" media="max-width: 1px">
p { color: red }
</style>
<p>Styled if you click below.</p>
<button id="btn-style">Style that p</button>
<button id="btn-unstyle">Unstyle that p</button>