媒体查询@media技巧

2020-11-29  本文已影响0人  张晖

@media 查询条件判断的顺序


如果判断最小值,即使用(min-width),应该从小到大写;也是推荐的写法,因为一些前端框架(如:bootstrap)就是判断最小值,从小往大写的;

代码:

<style>
    body {
        background-color: #f00;
    }
    
    @media screen and (min-width: 768px) {
        body {
            background-color: #0f0;
        }
    }
    
    @media screen and (min-width:992px) {
        body {
            background-color: #00f;
        }
    }
    
    @media screen and (min-width:1200px) {
        body {
            background-color: #0ff;
        }
    }
</style>

如果判断最大值,即使用(max-width),应该小大到小写;

<style>
    body {
        background-color: #f00;
    }
    
    @media screen and (max-width:1200px) {
        body {
            background-color: #0ff;
        }
    }
    
    @media screen and (max-width:992px) {
        body {
            background-color: #00f;
        }
    }
    
    @media screen and (max-width: 768px) {
        body {
            background-color: #0f0;
        }
    }
</style>

@media 媒体查询判断条件,引入不同的css文件


比如:当屏幕宽度在 992PX与1200PX 之间时,引入 newMedia.css 样式表;

代码:

<link rel="stylesheet" media = "screen and (min-width:992px) and (max-width:1200px)" href = "newMedia.css">

@media 媒体查询中的 min-width 和 min-device-width 的区别


min-width: 在PC端和移动端都能正常响应,效果一致;它是指当前可视区域的宽度;

<style>
    body {
        background-color: #f00;
    }
    
    @media screen and (min-width: 768px) {
        body {
            background-color: #0f0;
        }
    }
    
    @media screen and (min-width:992px) {
        body {
            background-color: #00f;
        }
    }
</style>

效果如图,开不开启手机模拟,效果都一样:


image.png

min-device-width: 在移动端和期望值一样。 device:设备;它是指当前设备的宽度。当拖出改变浏览器大小的时候,当前终端设备的宽度并不会变化,意味着媒体查询条件不会响应;

代码:

<style>
    body {
        background-color: #f00;
    }
    
    @media screen and (min-device-width: 768px) {
        body {
            background-color: #0f0;
        }
    }
    
    @media screen and (min-device-width:992px) {
        body {
            background-color: #00f;
        }
    }
</style>

如果使用 min-device-width , 那么在不开启手机模拟时,就没有效果了。


image.png
上一篇 下一篇

猜你喜欢

热点阅读