使用 javascript 或 jQuery 添加 CSS 媒体查询
Adding CSS media queries with javascript or jQuery
我在尝试使用 jQuery/javascript 添加媒体查询时遇到了一些问题。我有一个<div class="container">
隐藏在带有display: none
的小屏幕上.我想使用下面的代码让它显示出来,虽然我没有收到任何错误,没有任何变化。
$('.container').append('<style type="text/css">@media screen and (min-width: 1012px){ .container { "display": "block"}}</style>');
有什么建议吗?谢谢。
如果您只删除"显示"形式的双引号:"块",它将正常工作
$('.container').append('<style type="text/css">@media screen and (max-width: 1012px){ .container { display: block}}</style>');
但我认为如果你改变你的选择器会更好
$('head').append('<style type="text/css">@media screen and (max-width: 1012px){ .container { display: block}}</style>');
您可以使用
document.querySelector('style').textContent +=
"@media screen and (min-width: 1012px){ .container { display: 'block'}}"
获取样式元素并添加新规则,如果不存在,则添加您的 html
<style>......</style>
CMedina 的答案相当不错,但它附加到文档中的第一个样式元素。这可能在两个方面存在问题:
a) 可能没有样式元素(因为<link rel="stylesheet">
);
b) 可能有多个样式元素。将样式规则附加到第一个样式规则可能会被后面的样式规则覆盖。
所以我的策略是:创建一个新的<style>
元素;填充所需的内容;附加到正文,使其排在最后
const styleSheet = document.createElement('style');
styleSheet.textContent = '@media print { /* ... */ }';
document.body.appendChild(styleSheet, 'beforeend');
相关文章:
- 访问CSS媒体查询中的屏幕宽度和高度
- css媒体查询请求后刷新jQuery插件
- 自定义 CSS 媒体打印查询中的模式高度和宽度
- CSS 媒体查询 - 最小设备宽度和最大设备宽度
- CSS媒体以小册子形式打印文档
- jQuery下拉菜单和CSS媒体查询冲突
- 什么是CSS媒体查询的JavaScript等价物
- CSS 媒体查询以获取确切的视口宽度
- CSS 媒体查询和 jQuery window .width() 不匹配
- 使用 javascript 或 jQuery 添加 CSS 媒体查询
- 控制通过javascript应用哪些css媒体查询
- CSS媒体查询高度大于宽度,反之亦然(或如何使用JavaScript模仿)
- CSS 媒体查询不起作用
- 考虑CSS媒体查询加载和卸载JavaScript
- 如何使淘汰js模板css媒体查询意识
- 使用JS编辑CSS媒体查询
- 将jQuery.hide()与CSS媒体查询一起用于基于屏幕分辨率的菜单切换
- 如何将css媒体类型动态添加到页面中
- 在窗口上设置产品滑块宽度,同时调整CSS媒体查询的大小
- CSS媒体查询横向安卓软键盘