javascript - 在javascript中切换方向更改类

标签 javascript html css vue.js

我们如何切换 element 的类基于设备的方向。
例子:

<div class="landscape"></div>
@media (orientation: portrait) {
.landscape: {...}
}
我可以改变landscape css 属性。但我想避免这种情况。
相反,我想改变类本身,它看起来像
<div class="portrait"></div> // if orientation is portrait
<div class="landscape"></div> // if orientation is landscape
对此有任何建议!
注意:将接受 vue 的答案以及
更新:screen.orientation不适用于 safari .解决方案应该适用于 safari也。
感谢您的回答。

最佳答案

使用 matchMedia 查看此代码.但也许我在这段代码的某个地方犯了一个错误。但本质和结构是正确的。

window.matchMedia('(orientation: portrait)').addListener(function(m) {
       let div_class = document.querySelector('.landscape');
       if (m.matches) {
                div_class.className = 'portrait';
            } else {
                div_class.className = 'landscape';
            }
    });

关于javascript - 在javascript中切换方向更改类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63523099/

相关文章:

javascript - 向 Material 表组件中的查找属性动态添加信息

javascript - SQL 到 Sequelize 转换

html - 如何使 body 标签调整滚动条?

javascript - 使用 JavaScript 更新 div 内容

javascript - 为什么我的 for 循环改变了 jQuery 中 toggleClass 的行为

javascript - 锚定在图像内

javascript - 如何在 javascript 中读取 VCAP_SERVICES 环境变量

javascript - 应该插入的动态类未插入

internet-explorer - Internet Explorer 中的 CSS3 PIE(圆 Angular )

html - 悬停时更改 SVG 的描边和填充颜色