将@media标签动态绑定到元素
Binding @media tag dynamically to element
我用javascript代码创建了所有的html/css:
var el = document.createElement('div');
el.setAttribute('id', 'fooBar');
el.style.width = "30%";
document.getElementById('body').appendChild(el);
一切正常,但现在我想添加@media
标签到该代码。整个html/css
代码被附加到body元素,所以最好不要使用id或类。
我找到的唯一解决方案是:
document.querySelector('style').textContent +=
"@media screen and (max-width: 1280px) { fooBar { font-size: 11px; }}";
但这是不好的,因为它搞砸了外部样式,我宁愿做本地。此外,它似乎不适用于动态创建的样式,如宽度或高度。
如何解决这个问题?
你可以直接检查屏幕的大小。
然后根据屏幕大小应用样式。
可能还需要将它与屏幕大小调整事件挂钩。
function sizeStyle() {
if (screen.width >= 900) {
[your javascript styles here]
} else if (screen.width >= 600) {
[other javascript style]
}
}
window.onresize = function(event) {
sizeStyle();
}; //resizing the window
sizeStyle(); //(before dom?) initial call
相关文章:
- 将值动态绑定到jquery中的切换按钮
- 如何使用AnguarJS动态绑定网站数据
- 在extJS 4.2中,有没有一种方法可以将模型值动态绑定到表单
- 从父元素取消绑定滚动事件并绑定到子元素
- 我想在ext.js4.2中将树存储动态绑定到树面板中
- 视差 - 偏移元素,绑定到滚动
- 如何让 AngularJS 选取在 JavaScript 中创建的动态绑定
- Emberjs - 将参数动态绑定到视图
- colorbox与元素实时绑定'分组获胜'不起作用
- KnockoutJS删除动态绑定
- jquery验证,动态绑定表单验证
- 将数据添加到动态创建的元素和绑定事件
- 删除动态绑定到未确定元素的侦听器
- 在AJAX插入的动态创建元素上绑定事件(复选框)
- 如何在动态元素上绑定引导弹出窗口
- 敲除-在动态元素上绑定多个变量
- 将@media标签动态绑定到元素
- 多个元素上的动态绑定处理程序将只调用最后一个绑定函数
- KNOCKOUTJS :与 SVG 元素的动态绑定
- jQuery插件动态元素事件绑定