媒体查询是可以更精确的作用于不同媒介类型,是实现响应式布局/自适应的一种很好的方法。随着移动端的普及变得越来越重要。
语法
1 | @media mediatype and|not|only (media feature) { |
在使用媒体查询之前,需要设置好<meta>标签:
1 | <meta name="viewport" content="width=device-width, initial-scale=1,minmum-scale=1,maxmum-scale=1,user-scalable=no"> |
Viewport 属性名 | 备注 |
---|---|
width | 设置layout viewport 的宽度,为一个正整数,使用字符串”width-device”表示设备宽度 |
height | 设置layout viewport 的高度,这个属性对我们并不重要,很少使用 |
initial-scale | 设置页面的初始缩放值,为一个数字,可以带小数 |
minimum-scale | 允许用户的最小缩放值,为一个数字,可以带小数 |
maximum-scale | 允许用户的最大缩放值,为一个数字,可以带小数 |
user-scalable | 是否允许用户进行缩放,值为”no”或”yes”, no 代表不允许,yes代表允许 |
- | - |
target-densitydpi(安卓特有) | 值可以为一个数值或 high-dpi 、 medium-dpi、 low-dpi、 device-dpi 这几个字符串中的一个 |
@media常用方式
用min-width时,小的放上面大的在下面:
1
2
3
4
5@media (min-width: 768px){ //>=768的设备 }
@media (min-width: 992px){ //>=992的设备 }
@media (min-width: 1200){ //>=1200的设备 }用max-width那么就是大的在上面,小的在下面:
1
2
3
4
5@media (max-width: 1199){ //<=1199的设备 }
@media (max-width: 991px){ //<=991的设备 }
@media (max-width: 767px){ //<=768的设备 }混合应用:
1
2
3
4
5
6
7
8
9@media media screen and (min-width:1200px) {}
@media media screen and (min-width: 960px) and (max-width: 1199px) {...}
@media screen and (min-width: 768px) and (max-width: 959px) {...}
@media only screen and (min-width: 480px) and (max-width: 767px) {...}
@media only screen and (max-width: 479px) {...}
@media常用媒体尺寸
方案推荐(移动端+PC)
1 | @media screen and (min-width: 320px) {html{font-size:50px;}} |