媒体查询@media锦囊

1 篇文章 0 订阅
1 篇文章 0 订阅
本文详细介绍了如何使用CSS的媒体查询实现设备宽度差异化样式,强调了书写顺序的重要性,避免层叠性问题。通过实例展示了min-width和max-width的用法,以及在link标签中应用媒体查询的方式。同时,指出了错误的书写顺序会导致样式覆盖,强调了正确书写顺序以确保不同屏幕尺寸下背景颜色的正确显示。
摘要由CSDN通过智能技术生成

根据设备的宽度不同设置差异化样式

书写顺序 避免css的层叠性 遵循:

min-width(从小到大)

max-width(从大到小)

**

完整写法:

@media 关键字 媒体类型 and (媒体特性){css代码}
注意媒体特性无论是max 还是min都是包含等于这个数值的

关键字:
and 俩条件
only 仅仅 写一个判断条件的时候
not 非 判断不是…的时候

媒体类型:
screen:带屏幕的设备
print:打印预览模式
speech:屏幕阅读模式
all 默认值 不区分类型 包含上面三种

媒体特性:
属性-- 视口的宽高:width heigth 值为数值
属性-- 视口最大宽高 max-width max-height 值为数值
属性-- 视口最小宽高 min-width min-height 值为数值
属性-- 屏幕方向: orientation 值为(portrait竖屏) (landscape横屏)

1.一般正常显示在浏览器写这个

@media screen and (min-width:600px){
  body {background-color:#f5f5f5;}
}
 //简写:
 @media (min-width:600px){
  body {background-color:#f5f5f5;}
}

//除了打印预览模式的时候显示最小宽度为600px
@media not print and (min-width:600px){
  body {background-color:#f5f5f5;}
}

2.多个条件显示多个媒体特性使用

@media screen and (min-width:600px) and (max-width:900px){
  body {background-color:#f5f5f5;}
}

  //简写 
  @media (min-width:375px) and (max-width: 600px) {
     body {
        background-color: red;
      }
    }

3.最小宽度

 @media screen and (min-width:768px) {
   body { 
         background-color: red;
        }
   }
   
  //简写:
  
   @media(min-width:768px) {
   body { 
         background-color: red;
        }
  }
   

4.最大宽度

 @media screen and (max-width:768px) {
   body { 
         background-color: red;
      }
   }
   简写
  @media(max-width:768px) {
   body { 
         background-color: red;
      }
   }

5.link方式

<link rel="stylesheet" href="./css/one.css" media="screen and (min-width:375px)">
<link rel="stylesheet" href="./css/two.css" media="screen and (min-width:995px)">
 简写:
<link rel="stylesheet" href="./css/one.css" media="(min-width:375px)">
<link rel="stylesheet" href="./css/two.css" media="(min-width:995px)">

one.css

body{
    background-color: pink;
}

two.css

body{
    background-color: black;
}

min-width(从小到大)的由来

(简写)因为screen就是显示浏览器带屏幕的设备没必要写

错误书写:

我们的需求是最小值768px-992px显示red 992px-1200px显示black 1200px–屏幕的最大显示plum
但是下面的代码涉及到css层叠性 下面的把上面的覆盖 最终的效果是:
最小值768px–992px屏幕显示区域全是显示的red颜色 992px—屏幕最大显示black plum永远不会显示

 @media(min-width:1200px) {
        body{ 
            background-color: plum;
        }
    }
  @media(min-width:768px) {
        body { 
            background-color: red;
        }
    }
    @media(min-width:992px) {
        body { 
            background-color: black;
        }
    }
   

正确书写
包含等于
768px–992px 显示red 992px-1200px显示black 1200px–最大屏幕显示plum

  @media(min-width:768px) {
        body { 
            background-color: red;
        }
    }
    @media(min-width:992px) {
        body { 
            background-color: black;
        }
    }
    @media(min-width:1200px) {
        body{ 
            background-color: plum;
        }
    }

max-width(从大到小)的由来

(简写)因为screen就是显示浏览器带屏幕的设备没必要写

错误写法

最终结果是小于等于1200px的屏幕大小都显示plum颜色 red和black永远不会显示

  @media(max-width:768px) {
        body { 
            background-color: red;
        }
    }
    @media(max-width:992px) {
        body { 
            background-color: black;
        }
    }
    @media(max-width:1200px) {
        body{ 
            background-color: plum;
        }
    }

正确写法

 //最大值是1200px  那么他的所有小于等于1200px都显示颜色plum
   @media(max-width:1200px) {
        body {
            background-color: plum;
        }
    }
    //最大值是992px  那么他的所有小于等于992px都显示颜色black
   @media(max-width:992px) {
        body {
            background-color: black;
        }
    }
    //最大值是768px  那么他的所有小于等于768px都显示颜色red
   @media(max-width:768px) {
        body {
            background-color: red;
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值