# 媒体查询两种方法:
# 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)
- @media (min-width: 992px)
- @media (min-width: 768px)
因为如果是 1440, 由于 1440>768 那么你的 1200 就会失效。
所以我们用 min-width 时,小的放上面大的在下面,同理如果是用 max-width 那么就是大的在上面,小的在下面
- @media (max-width: 1199)
- @media (max-width: 991px)
- @media (max-width: 767px)
# 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的设备 } 大显示器