媒体查询@media技巧


@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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • @media的作用:媒体查询可以在指定的设备上使用对应的样式替代原有的样式。可以简单理解为告诉浏览器:当满足某条件...
    深度剖析JavaScript阅读 8,989评论 0 7
  • 媒体查询可用于检测很多事情,例如: viewport(视窗) 的宽度与高度 设备的宽度与高度 朝向 (智能手机横屏...
    静候那一米阳光阅读 2,563评论 0 0
  • CSS媒体查询允许我们基于浏览网站的设备的特性来应用不同的样式申明,最常用的特性是视口宽度。通过查询视口宽度,我们...
    赵羽珩阅读 5,020评论 0 1
  • 随着科学技术不断的向前发展,网页的浏览终端越来越多样化,用户可以通过:宽屏电视、台式电脑、笔记本电脑、平板电脑和智...
    ABCDE的E阅读 3,359评论 0 0
  • Media Queries能在不同的条件下使用不同的样式,使页面在不同在终端设备下达到不同的渲染效果。前面简单的介...
    ___大鱼___阅读 86,048评论 0 17

友情链接更多精彩内容