使用javascript或jQuery生成CSS媒体查询
作者:互联网
是否可以使用Javascript或jQuery动态创建完整的媒体查询规则?
我使用了大量的媒体查询来使用内联CSS,导入和链接文件来定位通用视口和特定设备/屏幕:
@media screen and (min-width:400px) { ... }
@import url(foo.css) (min-width:400px);
<link rel="stylesheet" type="text/css" media="screen and (min-width: 400px)" href="foo.css" />
我可以使用jQuery添加/删除类:
$("foobar").click(function(){
$("h1,h2,h3").addClass("blue");
$("div").addClass("important");
$('#snafu').removeClass('highlight');
});
我还看一下document.stylesheets和看似古老且特定于浏览器的内容:
document.styleSheets[0].insertRule("p{font-size: 20px;}", 0)
但我找不到任何以编程方式生成的引用:
@media screen and (min-width:400px)
直接或以任何形式从javascript.
解决方法:
您只需更新现有的< style>元素(或创建一个)textContent以包含规则,这将使其在给定的上下文中有效.
document.querySelector('style').textContent +=
"@media screen and (min-width:400px) { div { color: red; }}"
标签:javascript,jquery,css,media-queries 来源: https://codeday.me/bug/20190928/1826991.html