【问题标题】:Angular6 - How to vary .css class width based on mobile vs. browserAngular6 - 如何根据移动设备和浏览器改变 .css 类的宽度
【发布时间】:2018-07-17 23:12:57
【问题描述】:

我希望我的主视频容器在桌面浏览器中占据大约 45% 的窗口宽度。但是,我希望它是移动设备上屏幕宽度的 100%。我可以通过使用 *ngIf=bMobile 并在 .css 中使用两个不同的 .class 部分创建两个不同的 HTML 部分来实现结果,但如果可能的话,我更愿意让 HTML 保持简单。

我在初始化时设置了一个全局变量...

this.globals.bMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);

我的 .css 有这个部分的类...

.video {
    width: 45vw; /* roughly 616px */
    align-items: center;
    display: flex;
    justify-content: center;
}

我的主要问题:有没有办法将“45vw”替换为由全局 bMobile 变量设置的变量,或其他实现相同目的的方法?

【问题讨论】:

    标签: css variables mobile desktop angular6


    【解决方案1】:

    您始终可以使用 CSS 媒体查询来使您的应用更具响应性。只需针对不同的屏幕分辨率和设备更改下面的最大宽度即可。您可以找到针对标准设备的更复杂的媒体查询here

    @media screen and (max-width: 480px) {
        .video {
            width: 100vw;
        }
    }
    

    【讨论】:

    • 谢谢!我能够找到一个帮助我更好理解的超级视频...youtube.com/watch?v=2KL-z9A56SQ。但是,您可能想要编辑您的答案...或者将您的“最小宽度”更改为“最大宽度”,或者像我一样,将媒体查询保留为最小宽度并将我的 .video 中的值更改为宽度:100vw,并将建议中的值更改为 width:45vw 以使其正常工作。这是处理事情的不同方式 - 可能更好,但我需要仔细考虑框架......感谢您向我展示了不同的方式!
    • 另外...这个其他堆栈溢出答案确实有助于填补一些空白...转到“您有办法处理许多媒体查询”的答案stackoverflow.com/questions/19390690/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 2013-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多