媒体查询两种方法:

css方式

@media screen and (max-width: 600px) { 
/*当屏幕尺寸小于600px时,应用下面的CSS样式*/
  .class {
    background: #ccc;
  }
}
/*当屏幕尺寸大于900px时,应用下面的CSS样式*/
@media screen and (min-width: 900px) {
  .class {
    background: #fff;
  }
}

注意下顺序,如果你把@media (min-width: 768px)写在了下面那么很悲剧,

  • @media (min-width: 1200){ //>=1200的设备 }
  • @media (min-width: 992px){ //>=992的设备 }
  • @media (min-width: 768px){ //>=768的设备 }

因为如果是1440,由于1440>768那么你的1200就会失效。

所以我们用min-width时,小的放上面大的在下面,同理如果是用max-width那么就是大的在上面,小的在下面

  • @media (max-width: 1199){ //<=1199的设备 }
  • @media (max-width: 991px){ //<=991的设备 }
  • @media (max-width: 767px){ //<=767的设备 }

link方式

link方式是直接在link中判断设备的尺寸,然后引用不同的css文件:

<link href="styleA.css" media="screen and (min-width: 400px)" rel="stylesheet" type="text/css">

意思是当屏幕的宽度大于等于400px的时候,应用styleA.css

使用方法: @media 多媒体类型 and (条件) and (条件)…

多媒体类型

all用于所有多媒体类型设备
print用于打印机
screen用于电脑屏幕,平板,智能手机等
speech用于屏幕阅读器

条件

​ max-width: 输出设备中页面最大可视区域宽度,小于这个width时,其中的css生效
​ min-width: 输出设备中页面最小可视区域宽度,大于这个width时,其中的css生效
​ max-height:输出设备中页面最大可视区域高度
​ min-height: 输出设备中页面最小可视区域高度

属性

在media属性里:
screen 是媒体类型里的一种,CSS2.1定义了10种媒体类型
and 被称为关键字,其他关键字还包括 not(排除某种设备),only(限定某种设备)
(min-width: 400px) 就是媒体特性,其被放置在一对圆括号中。

<link rel="stylesheet" type="text/css" href="styleB.css"  media="screen and (min-width: 600px) and (max-width: 800px)">

常用的:

  • 小于768的
  • 768px
  • 768和992之间的
  • 992px
  • 992和1200间的
  • 1200px
  • 大于1200

bootstrap的断点值:Bootstrap 是移动设备优先的

/* 小屏幕(平板,大于等于 768px) */
 @media (min-width: 768px) { ... col-sm-3... }

/* 中等屏幕(桌面显示器,大于等于 992px) */
 @media (min-width: 992px) { ... col-md-3...}

/* 大屏幕(大桌面显示器,大于等于 1200px) */
 @media (min-width: 1200px) { ... col-lg-3...}

总结

顺序不能反
@media (max-width: 767px) { ... col-xs-3... } { //<=767的设备 } 手机
@media (min-width: 768px) { ... col-sm-3... } { //>=768的设备 } 平板
@media (min-width: 992px) { ... col-md-3...} { //>=992的设备 } 电脑
@media (min-width: 1200px) { ... col-lg-3...} { //>=1200的设备 } 大显示器